<?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>213307</bug_id>
          
          <creation_ts>2020-06-17 10:54:23 -0700</creation_ts>
          <short_desc>REGRESSION(r263035): stress/get-prototype-of.js broken on s390x</short_desc>
          <delta_ts>2020-06-25 16:51:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=157972</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ashvayka</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1663590</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-17 10:54:23 -0700</bug_when>
    <thetext>We have another regression in JSC cloop stress tests. This only affects s390x, which suggests it&apos;s probably an endianness issue (this is the only big endian architecture we test). All other architectures are fine. Last known good commit is r263017. First known bad is r263135. I&apos;ll poke around and see if I can find a suspicious commit.

Running stress/get-prototype-of.js.default
stress/get-prototype-of.js.default: Exception: Error: Bad
stress/get-prototype-of.js.default: assert@get-prototype-of.js:3:20
stress/get-prototype-of.js.default: global code@get-prototype-of.js:62:11
stress/get-prototype-of.js.default: ERROR: Unexpected exit code: 3
FAIL: stress/get-prototype-of.js.default
Running stress/get-prototype-of.js.mini-mode
stress/get-prototype-of.js.mini-mode: Exception: Error: Bad
stress/get-prototype-of.js.mini-mode: assert@get-prototype-of.js:3:20
stress/get-prototype-of.js.mini-mode: global code@get-prototype-of.js:62:11
stress/get-prototype-of.js.mini-mode: ERROR: Unexpected exit code: 3
FAIL: stress/get-prototype-of.js.mini-mode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665503</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-23 12:45:31 -0700</bug_when>
    <thetext>I&apos;ve started to bisect this, but it&apos;s going to take a while because the machine I have access to is a couple thousand times slower than I could wish for.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665530</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-23 13:53:29 -0700</bug_when>
    <thetext>OK, well turns out there is no need to bisect it: the problem is that the test is brand new. :P Should have checked for that first. So, from the backtrace, we can see the failing check is this one:

assert(getPrototypeOf(proxy) === proxyPrototype);

And here we reach the limit of my nonexistent JSC knowledge: I cannot begin to guess why getPrototypeOf(proxy) is not returning the expected result.k A few things I do know: s390x uses cloop only, so we can eliminate the entire JIT as a source of problems. (The tests are run with --no-jit.) It also uses 4 KB page size, which is nice as that eliminates potential for trouble there. The only major difference from x86_64/aarch64 likely to introduce software bugs is that s390x is big-endian, so it&apos;s likely that the bug is an endianness problem... somewhere. All other JSC stress tests are passing except for this new one (and memory-limited tests, since we run tests with --memory-limited).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665552</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-23 14:53:42 -0700</bug_when>
    <thetext>BTW, this test was introduced in r263035 &quot;super should not depend on proto.&quot; I added a bit of debugging:

diff --git a/JSTests/stress/get-prototype-of.js b/JSTests/stress/get-prototype-of.js
index c55d7028284..179b9e7c61c 100644
--- a/JSTests/stress/get-prototype-of.js
+++ b/JSTests/stress/get-prototype-of.js
@@ -59,6 +59,9 @@ for (let i = 0; i &lt; 1e4; ++i) {
     assert(getPrototypeOf(Object.prototype) === null);
     assert(getPrototypeOf(Object.create(null)) === null);
 
+    if (getPrototypeOf(proxy) !== proxyPrototype)
+        throw new Error(`getPrototypeOf(proxy)==${getPrototypeOf(proxy)}, proxyP
+rototype=${proxyPrototype}`);
     assert(getPrototypeOf(proxy) === proxyPrototype);
     assert(getPrototypeOf(polyProtoObject) === polyProtoObject.constructor.prototype);
 }

At the time of the assertion failure, it prints:

Exception: Error: getPrototypeOf(proxy)==null, proxyPrototype=[object Object]

I guess the new builtin isn&apos;t working?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665554</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-06-23 14:59:40 -0700</bug_when>
    <thetext>Thank you for detailed report, Michael!

Looks like LLInt fast path check (https://trac.webkit.org/browser/webkit/trunk/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm?rev=263044#L1506) doesn&apos;t perform as intended.
Is it possible that bit shift in declaration of OverridesGetPrototypeOutOfLine (https://trac.webkit.org/browser/webkit/trunk/Source/JavaScriptCore/runtime/JSTypeInfo.h?rev=263044#L69) is at fault?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1665576</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-23 15:55:32 -0700</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #4)
&gt; Thank you for detailed report, Michael!
&gt; 
&gt; Looks like LLInt fast path check
&gt; (https://trac.webkit.org/browser/webkit/trunk/Source/JavaScriptCore/llint/
&gt; LowLevelInterpreter64.asm?rev=263044#L1506) doesn&apos;t perform as intended.

So the failing line is:

btinz Structure::m_outOfLineTypeFlags[t2], OverridesGetPrototypeOutOfLine, .opGetPrototypeOfSlow

I see in cloop.rb that btinz tests whether a 32-bit integer is nonzero. I also see in JSTypeInfo.h that OutOfLineTypeFlags is a 16-bit integer, so Structure::m_outOfLineTypeFlags is an array of 16-bit integers. This worries me a bit, but I don&apos;t understand the code or llint asm well enough to know whether that&apos;s actually a problem.

&gt; Is it possible that bit shift in declaration of
&gt; OverridesGetPrototypeOutOfLine
&gt; (https://trac.webkit.org/browser/webkit/trunk/Source/JavaScriptCore/runtime/
&gt; JSTypeInfo.h?rev=263044#L69) is at fault?

I&apos;m not sure. I don&apos;t see why it would be unsafe, since those shifts are operating on 32-bit integers and shift fewer than 32 bits. Is there something you&apos;d like me to change to test it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666124</commentid>
    <comment_count>6</comment_count>
      <attachid>402766</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-25 11:54:36 -0700</bug_when>
    <thetext>Created attachment 402766
LLIntAssembly.h

Yusuke asked me to attach the generated LLIntAssembly.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666142</commentid>
    <comment_count>7</comment_count>
      <attachid>402781</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-06-25 12:08:56 -0700</bug_when>
    <thetext>Created attachment 402781
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666152</commentid>
    <comment_count>8</comment_count>
      <attachid>402781</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-06-25 12:15:56 -0700</bug_when>
    <thetext>Comment on attachment 402781
Patch

r=me since the explanation is very clear (not sure if we need to have this confirmed on device before landing though).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666161</commentid>
    <comment_count>9</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2020-06-25 12:27:31 -0700</bug_when>
    <thetext>(In reply to Ross Kirsling from comment #8)
&gt; (not sure if we need to have this confirmed on device before landing though).

I&apos;ve just confirmed the fix, the test fails on s390x without this patch and passes with the patch applied. Thanks a bunch, Yusuke!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666162</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-06-25 12:27:51 -0700</bug_when>
    <thetext>(In reply to Yusuke Suzuki from comment #7)
&gt; Created attachment 402781 [details]
&gt; Patch

I wonder if we should the same in AssemblyHelpers::emitLoadPrototype()? FTL implementation already does zero-extend via load16ZeroExt32().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666169</commentid>
    <comment_count>11</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-06-25 12:37:27 -0700</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #10)
&gt; (In reply to Yusuke Suzuki from comment #7)
&gt; &gt; Created attachment 402781 [details]
&gt; &gt; Patch
&gt; 
&gt; I wonder if we should the same in AssemblyHelpers::emitLoadPrototype()? FTL
&gt; implementation already does zero-extend via load16ZeroExt32().

Right. We should do that while it does not affect on the results in practice since our JIT requires little-endianness :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666172</commentid>
    <comment_count>12</comment_count>
      <attachid>402795</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-06-25 12:41:13 -0700</bug_when>
    <thetext>Created attachment 402795
Patch

Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666176</commentid>
    <comment_count>13</comment_count>
      <attachid>402797</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-06-25 12:49:05 -0700</bug_when>
    <thetext>Created attachment 402797
Patch

Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666281</commentid>
    <comment_count>14</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-06-25 16:50:27 -0700</bug_when>
    <thetext>Committed r263546: &lt;https://trac.webkit.org/changeset/263546&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666282</commentid>
    <comment_count>15</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-25 16:51:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/64780677&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1666283</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-06-25 16:51:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/64780679&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>402766</attachid>
            <date>2020-06-25 11:54:36 -0700</date>
            <delta_ts>2020-06-25 11:54:36 -0700</delta_ts>
            <desc>LLIntAssembly.h</desc>
            <filename>LLIntAssembly.h</filename>
            <type>text/x-chdr</type>
            <size>4291759</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">I2lmICFPRkZMSU5FX0FTTV9YODYgJiYgIU9GRkxJTkVfQVNNX1g4Nl9XSU4gJiYgIU9GRkxJTkVf
QVNNX1g4Nl82NCAmJiAhT0ZGTElORV9BU01fWDg2XzY0X1dJTiAmJiAhT0ZGTElORV9BU01fQVJN
djcgJiYgIU9GRkxJTkVfQVNNX0FSTTY0ICYmICFPRkZMSU5FX0FTTV9BUk02NEUgJiYgIU9GRkxJ
TkVfQVNNX01JUFMgJiYgT0ZGTElORV9BU01fQ19MT09QICYmICFPRkZMSU5FX0FTTV9DX0xPT1Bf
V0lOICYmICFPRkZMSU5FX0FTTV9BUk12N2sgJiYgIU9GRkxJTkVfQVNNX0FSTXY3cyAmJiBPRkZM
SU5FX0FTTV9KU1ZBTFVFNjQgJiYgT0ZGTElORV9BU01fQklHSU5UMzIgJiYgIU9GRkxJTkVfQVNN
X0dJR0FDQUdFX0VOQUJMRUQgJiYgIU9GRkxJTkVfQVNNX0FTU0VSVF9FTkFCTEVEICYmICFPRkZM
SU5FX0FTTV9UUkFDSU5HICYmIE9GRkxJTkVfQVNNX0FERFJFU1M2NCAmJiAhT0ZGTElORV9BU01f
V0VCQVNTRU1CTFkgJiYgIU9GRkxJTkVfQVNNX0hBVkVfRkFTVF9UTFMKT0ZGTElORV9BU01fQkVH
SU4KT0ZGTElORV9BU01fR0xPQkFMX0xBQkVMKGxsaW50UENSYW5nZVN0YXJ0KQogICAgQ1JBU0go
KTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVudGVkLiAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTQ5NwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF92bV9l
bnRyeV90b19qYXZhc2NyaXB0KQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTcxCiAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo5NzcKICAgIFBVU0gobHIpOwogICAgUFVTSChjZnIpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206OTc4CiAgICBjZnIgPSBzcC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5ODAKICAgIHNwID0g
Y2ZyLmkoKSAtIGludHB0cl90KDB4MzApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjk5NQogICAgKkNBU1Q8aW50cHRyX3QqPihzcC5pOHAoKSkgPSB0
MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjkK
ICAgIHBjID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDExMzIxNik7ICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcwCiAgICAqQ0FTVDxpbnRwdHJfdCo+KHNw
Lmk4cCgpICsgOCkgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE3MQogICAgcGMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTEzMjA4KTsg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzIKICAgICpDQVNUPGlu
dHB0cl90Kj4oc3AuaThwKCkgKyAxNikgPSBwYy5pKCk7ICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTczCiAgICBwYyA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkg
KyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NAog
ICAgKkNBU1Q8aW50cHRyX3QqPihzcC5pOHAoKSArIDI0KSA9IHBjLmkoKTsgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzUKICAgIHBjID0gKkNBU1Q8dWludDMyX3Qq
Pih0Mi5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTc3CiAgICBwYyA9IGludHB0cl90KDB4NSkgKyBwYy5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3OAogICAgcGMgPSBwYy5p
KCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6
IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzkKICAgIHQzID0gc3AuaSgpIC0g
cGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTgwCiAgICBpZiAoc3AudTY0KCkgPD0gdDMudTY0KCkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4MQogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fZG9WTUVudHJ5X190aHJvd1N0YWNrT3ZlcmZsb3c7CiAgICBpZiAo
dDMudSgpID49ICpDQVNUPHVpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTIwMTIwKSkgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE4NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZG9WTUVu
dHJ5X19zdGFja0hlaWdodE9LOwogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODgKICAg
IHQ1ID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTg5CiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE5MAogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgp
KTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc3RhY2tfY2hlY2tf
YXRfdm1fZW50cnkodDEsIHQzKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEp
OwogICAgfQogICAgaWYgKHQwLmkoKSA9PSBpbnRwdHJfdCgweDApKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTEKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2RvVk1FbnRyeV9fc3RhY2tDaGVja0ZhaWxlZDsKICAgIHQwID0gcGMuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTkyCiAgICB0MSA9IHQ1LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MwogICAgZ290
byBfb2ZmbGluZWFzbV9kb1ZNRW50cnlfX3N0YWNrSGVpZ2h0T0s7ICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fZG9WTUVudHJ5X19zdGFja0NoZWNrRmFpbGVkKQogICAgdDAgPSBwYy5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxOTcKICAgIHQxID0gdDUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk4CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX2RvVk1FbnRyeV9fdGhyb3dTdGFja092ZXJmbG93OyAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE5OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9kb1ZNRW50cnlfX3N0YWNrSGVpZ2h0T0spCiAgICBzcCA9IHQzLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIwNQogICAgdDMgPSBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDYKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZG9WTUVudHJ5X19jb3B5SGVhZGVyTG9vcCkKICAg
IHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAtIGludDMyX3QoMHgxKSk7ICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjEwCiAgICB0NSA9ICpDQVNUPGludDY0X3QqPih0
Mi5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjIxMQogICAgKkNBU1Q8aW50NjRfdCo+KHNwLmk4cCgpICsgKHQzLmkoKSA8PCAzKSArIGlu
dHB0cl90KDB4MTApKSA9IHQ1Lmk2NCgpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxMgog
ICAgaWYgKHQzLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2RvVk1FbnRyeV9fY29weUhlYWRlckxvb3A7CiAgICBwYyA9ICpDQVNUPHVpbnQzMl90Kj4odDIu
aThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjIxNQogICAgcGMgPSAodWludDMyX3QpKHBjLmkzMigpIC0gaW50MzJfdCgweDEpKTsgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTYKICAgIHQ1ID0gKkNBU1Q8dWlu
dDMyX3QqPih0Mi5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjE3CiAgICB0NSA9ICh1aW50MzJfdCkodDUuaTMyKCkgLSBpbnQzMl90KDB4
MSkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxOAogICAgaWYg
KHBjLmkzMigpID09IHQ1LmkzMigpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2RvVk1F
bnRyeV9fY29weUFyZ3M7CiAgICB0MyA9IGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIyMQoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9kb1ZNRW50cnlfX2ZpbGxFeHRyYUFyZ3NM
b29wKQogICAgdDUgPSAodWludDMyX3QpKHQ1LmkzMigpIC0gaW50MzJfdCgweDEpKTsgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjMKICAgICpDQVNUPGludDY0X3Qq
PihzcC5pOHAoKSArICh0NS5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDMwKSkgPSB0My5pNjQoKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjQKICAgIGlmIChwYy5pMzIoKSAhPSB0NS5pMzIo
KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjI1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9kb1ZNRW50cnlfX2ZpbGxFeHRyYUFyZ3NM
b29wOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9kb1ZNRW50cnlfX2Nv
cHlBcmdzKQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgNDApOyAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjgKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZG9WTUVudHJ5X19jb3B5QXJnc0xvb3ApCiAgICBpZiAo
cGMuaTMyKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIzMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZG9WTUVu
dHJ5X19jb3B5QXJnc0RvbmU7CiAgICBwYyA9ICh1aW50MzJfdCkocGMuaTMyKCkgLSBpbnQzMl90
KDB4MSkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMgogICAg
dDUgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAocGMuaSgpIDw8IDMpKTsgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMKICAgICpDQVNUPGludDY0X3QqPihzcC5pOHAo
KSArIChwYy5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDMwKSkgPSB0NS5pNjQoKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMzQKICAgIGdvdG8gX29mZmxpbmVhc21fZG9WTUVudHJ5X19jb3B5
QXJnc0xvb3A7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjM1Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2RvVk1FbnRyeV9fY29weUFyZ3NE
b25lKQogICAgKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDExMzIxNikgPSBzcC5pKCk7ICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDIKICAgICpDQVNUPGludHB0cl90
Kj4odDEuaThwKCkgKyAxMTMyMDgpID0gY2ZyLmkoKTsgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjQ0CiAgICBzcCA9IHNwLmkoKSArIGludHB0cl90KDB4MTApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI5MgogICAgbHIg
PSBnZXRPcGNvZGUobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzEpOyAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTQKICAgIG9wY29kZSA9IHQwLm9wY29kZSgpOwogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2Nsb29wX2Rp
ZF9yZXR1cm5fZnJvbV9qc18xKQogICAgc3AgPSBzcC5pKCkgLSBpbnRwdHJfdCgweDEwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTgKICAg
IHBjID0gY2ZyLmkoKSAtIGludHB0cl90KDB4MzApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5NQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHBj
Lmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyNTcKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihwYy5pOHAoKSArIDgpOyAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjU4CiAgICAqQ0FTVDxpbnRwdHJf
dCo+KHQxLmk4cCgpICsgMTEzMjE2KSA9IHQyLmkoKTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjI1OQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHBjLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjAKICAgICpD
QVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxMTMyMDgpID0gdDIuaSgpOyAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjYxCiAgICBzcCA9IGNmci5pKCkgLSBpbnRwdHJfdCgw
eDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjI2MwogICAgUE9QKGNmcik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTg5CiAgICBQT1AobHIpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo5OTAKICAgIG9wY29kZSA9IGxyLm9wY29kZSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjY3CiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZG9WTUVu
dHJ5X190aHJvd1N0YWNrT3ZlcmZsb3cpCiAgICB0MCA9IHQxLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3
MAogICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzEKICAgIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNw
LnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF90aHJvd19z
dGFja19vdmVyZmxvd19lcnJvcih0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IGNmci5pKCkgLSBpbnRwdHJfdCgweDMwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTUKICAgIHQxID0g
KkNBU1Q8aW50cHRyX3QqPihwYy5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206Mjc2CiAgICB0NSA9ICpDQVNUPGludHB0cl90Kj4ocGMuaThw
KCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3
NwogICAgKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDExMzIxNikgPSB0NS5pKCk7ICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzgKICAgIHQ1ID0gKkNBU1Q8aW50cHRy
X3QqPihwYy5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206Mjc5CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTEzMjA4KSA9IHQ1
LmkoKTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4MAogICAgc3AgPSBj
ZnIuaSgpIC0gaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyODIKICAgIFBPUChjZnIpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk4OQog
ICAgUE9QKGxyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTkwCiAgICBvcGNvZGUgPSBsci5vcGNvZGUoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI4NgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxs
aW50X3ZtX2VudHJ5X3RvX25hdGl2ZSkKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk3MQog
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTc3CiAgICBQVVNIKGxyKTsKICAgIFBVU0goY2Zy
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjk3OAogICAgY2ZyID0gc3AuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTgwCiAgICBz
cCA9IGNmci5pKCkgLSBpbnRwdHJfdCgweDMwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo5OTUKICAgICpDQVNUPGludHB0cl90Kj4oc3AuaThwKCkp
ID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTY5CiAgICBwYyA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxMTMyMTYpOyAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MAogICAgKkNBU1Q8aW50cHRyX3Qq
PihzcC5pOHAoKSArIDgpID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNzEKICAgIHBjID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDExMzIw
OCk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyCiAgICAqQ0FT
VDxpbnRwdHJfdCo+KHNwLmk4cCgpICsgMTYpID0gcGMuaSgpOyAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE3MwogICAgcGMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4
cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NzQKICAgICpDQVNUPGludHB0cl90Kj4oc3AuaThwKCkgKyAyNCkgPSBwYy5pKCk7ICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc1CiAgICBwYyA9ICpDQVNUPHVpbnQz
Ml90Kj4odDIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE3NwogICAgcGMgPSBpbnRwdHJfdCgweDUpICsgcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzgKICAgIHBjID0g
cGMuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4
M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc5CiAgICB0MyA9IHNwLmko
KSAtIHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE4MAogICAgaWYgKHNwLnU2NCgpIDw9IHQzLnU2NCgpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODEKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtXzBfZG9WTUVudHJ5X190aHJvd1N0YWNrT3ZlcmZsb3c7CiAg
ICBpZiAodDMudSgpID49ICpDQVNUPHVpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTIwMTIwKSkgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
MF9kb1ZNRW50cnlfX3N0YWNrSGVpZ2h0T0s7CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE4OAogICAgdDUgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODkKICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTkwCiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVy
KHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zdGFj
a19jaGVja19hdF92bV9lbnRyeSh0MSwgdDMpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLCB0MSk7CiAgICB9CiAgICBpZiAodDAuaSgpID09IGludHB0cl90KDB4MCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MQogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fMF9kb1ZNRW50cnlfX3N0YWNrQ2hlY2tGYWlsZWQ7CiAgICB0MCA9
IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE5MgogICAgdDEgPSB0NS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
OTMKICAgIGdvdG8gX29mZmxpbmVhc21fMF9kb1ZNRW50cnlfX3N0YWNrSGVpZ2h0T0s7ICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtXzBfZG9WTUVudHJ5X19zdGFja0NoZWNrRmFpbGVkKQogICAgdDAg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTcKICAgIHQxID0gdDUuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTk4CiAgICBnb3RvIF9vZmZsaW5lYXNtXzBfZG9WTUVudHJ5X190aHJvd1N0YWNrT3ZlcmZsb3c7
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5OQoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV8wX2RvVk1FbnRyeV9fc3RhY2tIZWlnaHRPSykKICAgIHNwID0g
dDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjA1CiAgICB0MyA9IGludHB0cl90KDB4NCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIw
NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8wX2RvVk1FbnRyeV9fY29w
eUhlYWRlckxvb3ApCiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgLSBpbnQzMl90KDB4MSkp
OyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxMAogICAgdDUgPSAq
Q0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyMTEKICAgICpDQVNUPGludDY0X3QqPihzcC5pOHAoKSArICh0
My5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSkgPSB0NS5pNjQoKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyMTIKICAgIGlmICh0My5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjEzCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV8wX2RvVk1FbnRyeV9fY29weUhlYWRlckxvb3A7CiAgICBwYyA9ICpD
QVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjIxNQogICAgcGMgPSAodWludDMyX3QpKHBjLmkzMigpIC0gaW50
MzJfdCgweDEpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTYK
ICAgIHQ1ID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjE3CiAgICB0NSA9ICh1aW50MzJfdCkodDUu
aTMyKCkgLSBpbnQzMl90KDB4MSkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIxOAogICAgaWYgKHBjLmkzMigpID09IHQ1LmkzMigpKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjAKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtXzBfZG9WTUVudHJ5X19jb3B5QXJnczsKICAgIHQzID0gaW50cHRyX3QoMHhh
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjIxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtXzBfZG9W
TUVudHJ5X19maWxsRXh0cmFBcmdzTG9vcCkKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5pMzIoKSAt
IGludDMyX3QoMHgxKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjIzCiAgICAqQ0FTVDxpbnQ2NF90Kj4oc3AuaThwKCkgKyAodDUuaSgpIDw8IDMpICsgaW50cHRy
X3QoMHgzMCkpID0gdDMuaTY0KCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjI0CiAgICBp
ZiAocGMuaTMyKCkgIT0gdDUuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIyNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fMF9k
b1ZNRW50cnlfX2ZpbGxFeHRyYUFyZ3NMb29wOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV8wX2RvVk1FbnRyeV9fY29weUFyZ3MpCiAgICB0MyA9ICpDQVNUPGludHB0cl90
Kj4odDIuaThwKCkgKyA0MCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIyOAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8wX2RvVk1F
bnRyeV9fY29weUFyZ3NMb29wKQogICAgaWYgKHBjLmkzMigpID09IDApICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzEKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtXzBfZG9WTUVudHJ5X19jb3B5QXJnc0RvbmU7CiAgICBwYyA9
ICh1aW50MzJfdCkocGMuaTMyKCkgLSBpbnQzMl90KDB4MSkpOyAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIzMgogICAgdDUgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThw
KCkgKyAocGMuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
MzMKICAgICpDQVNUPGludDY0X3QqPihzcC5pOHAoKSArIChwYy5pKCkgPDwgMykgKyBpbnRwdHJf
dCgweDMwKSkgPSB0NS5pNjQoKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzQKICAgIGdv
dG8gX29mZmxpbmVhc21fMF9kb1ZNRW50cnlfX2NvcHlBcmdzTG9vcDsgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjM1CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtXzBfZG9WTUVudHJ5X19jb3B5QXJnc0RvbmUpCiAgICAqQ0FTVDxpbnRwdHJfdCo+
KHQxLmk4cCgpICsgMTEzMjE2KSA9IHNwLmkoKTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjI0MgogICAgKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDExMzIwOCkgPSBj
ZnIuaSgpOyAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDQKICAgIHQzID0g
dDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzAzCiAgICAqQ0FTVDxpbnRwdHJfdCo+KHNwLmk4cCgpKSA9
IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMw
NAogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgNDgpOyAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMDUKICAgIHQxID0gc3AuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzA2CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHNwLmk4cCgpICsgOCkgPSBsci5pKCk7
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMwOAogICAgY2xvb3BT
dGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOyAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozMDkKICAgIG5hdGl2ZUZ1bmMgPSB0My5uYXRpdmVGdW5jKCk7
CiAgICBmdW5jdGlvblJldHVyblZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKG5hdGl2ZUZ1bmMoanND
YXN0PEpTR2xvYmFsT2JqZWN0Kj4odDAuY2VsbCgpKSwgdDEuY2FsbEZyYW1lKCkpKTsKICAgICNp
ZiBVU0UoSlNWQUxVRTMyXzY0KQogICAgICAgIHQxID0gZnVuY3Rpb25SZXR1cm5WYWx1ZS50YWco
KTsKICAgICAgICB0MCA9IGZ1bmN0aW9uUmV0dXJuVmFsdWUucGF5bG9hZCgpOwogICAgI2Vsc2Ug
Ly8gVVNFX0pTVkFMVUU2NCkKICAgICAgICB0MCA9IEpTVmFsdWU6OmVuY29kZShmdW5jdGlvblJl
dHVyblZhbHVlKTsKICAgICNlbmRpZiAvLyBVU0VfSlNWQUxVRTY0KQogICAgcGMgPSBjZnIuaSgp
IC0gaW50cHRyX3QoMHgzMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206OTk1CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4ocGMuaThwKCkpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1NwogICAgdDIg
PSAqQ0FTVDxpbnRwdHJfdCo+KHBjLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTgKICAgICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkg
KyAxMTMyMTYpID0gdDIuaSgpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjU5CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4ocGMuaThwKCkgKyAxNik7ICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2MAogICAgKkNBU1Q8aW50cHRyX3Qq
Pih0MS5pOHAoKSArIDExMzIwOCkgPSB0Mi5pKCk7ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyNjEKICAgIHNwID0gY2ZyLmkoKSAtIGludHB0cl90KDB4MCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjYzCiAgICBQT1Ao
Y2ZyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo5ODkKICAgIFBPUChscik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5MAog
ICAgb3Bjb2RlID0gbHIub3Bjb2RlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjcKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV8wX2RvVk1FbnRyeV9fdGhyb3dT
dGFja092ZXJmbG93KQogICAgdDAgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzAKICAgIHQxID0g
dDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjcxCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
NwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAg
ICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfdGhyb3dfc3RhY2tfb3ZlcmZs
b3dfZXJyb3IodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwog
ICAgfQogICAgcGMgPSBjZnIuaSgpIC0gaW50cHRyX3QoMHgzMCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTk1CiAgICB0MSA9ICpDQVNUPGludHB0
cl90Kj4ocGMuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjI3NgogICAgdDUgPSAqQ0FTVDxpbnRwdHJfdCo+KHBjLmk4cCgpICsgOCk7ICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzcKICAgICpDQVNU
PGludHB0cl90Kj4odDEuaThwKCkgKyAxMTMyMTYpID0gdDUuaSgpOyAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206Mjc4CiAgICB0NSA9ICpDQVNUPGludHB0cl90Kj4ocGMuaThw
KCkgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3
OQogICAgKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDExMzIwOCkgPSB0NS5pKCk7ICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODAKICAgIHNwID0gY2ZyLmkoKSAtIGlu
dHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjgyCiAgICBQT1AoY2ZyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5ODkKICAgIFBPUChscik7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjk5MAogICAgb3Bjb2RlID0gbHIub3Bjb2RlKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODYKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9lbnRyeSkK
ICAgIENSQVNIKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYwNAoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX3dpZGUxNikgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjE2NjUKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzI2CiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcFdpZGUxNik7ICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjcKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
OAogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bfd2lk
ZTMyKQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzIKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwV2lkZTMyKTsgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMzMwogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM0CiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF93aWRlMTZf
d2lkZTE2KQogICAgQ1JBU0goKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjA0CgpPRkZMSU5FX0FTTV9PUENP
REVfTEFCRUwob3Bfd2lkZTE2X3dpZGUzMikKICAgIENSQVNIKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYw
NAoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3dpZGUzMl93aWRlMTYpCiAgICBDUkFTSCgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo2MDQKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF93aWRlMzJf
d2lkZTMyKQogICAgQ1JBU0goKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjA0CgpPRkZMSU5FX0FTTV9PUENP
REVfTEFCRUwob3BfZW50ZXJfd2lkZTE2KQogICAgQ1JBU0goKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjA0
CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZW50ZXJfd2lkZTMyKQogICAgQ1JBU0goKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206NjA0CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X3Byb2dyYW1f
cHJvbG9ndWUpCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzQ2CiAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo3NzQKICAgIFBVU0gobHIpOwogICAgUFVTSChjZnIpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206Nzc1CiAgICBjZnIgPSBzcC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo3ODMKICAgIHQxID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjEzMjEKICAgIHNwID0gc3AuaSgpIC0gaW50cHRyX3QoMHgxMCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjc5OQogICAgKkNBU1Q8
aW50cHRyX3QqPihjZnIuaThwKCkgLSA4KSA9IG1ldGFkYXRhVGFibGUuaSgpOyAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206ODAxCiAgICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4
cCgpICsgODgpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzkyCiAg
ICBwYyA9IGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzkzCiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4o
dDEuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo5OTkKICAgIHQwID0gdDAuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0
cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAK
ICAgIHQwID0gdDAuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHQwID0gY2ZyLmkoKSAtIHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEzOTcKICAgIGlmICh0MC51KCkgPiBjZnIudSgpKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzOTgKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fcHJvbG9ndWVfX25lZWRT
dGFja0NoZWNrOwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgODApOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTM5OQogICAgaWYgKCpDQVNU
PHVpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTIwMTIwKSA8PSB0MC51KCkpICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTQwMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BfX2NvbW1vbk9w
X19mbl9fc2l6ZV9fa19fZ2VuX19wcm9sb2d1ZV9fc3RhY2tIZWlnaHRPSzsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2Vu
X19wcm9sb2d1ZV9fbmVlZFN0YWNrQ2hlY2spCiAgICBzcCA9IHNwLmkoKSAtIGludHB0cl90KDB4
MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
NDA5CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0
YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0g
bGxpbnRfc3RhY2tfY2hlY2sodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0
MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0g
cGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBpZiAodDEuaSgpID09IGludHB0cl90KDB4MCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDEx
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5f
X3Byb2xvZ3VlX19zdGFja0hlaWdodE9LR2V0Q29kZUJsb2NrOwogICAgbWV0YWRhdGFUYWJsZSA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpIC0gOCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206ODM2CiAgICBjZnIgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDE4CiAgICBnb3RvIGxs
aW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmU7ICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxNDE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fcHJvbG9ndWVfX3N0YWNrSGVpZ2h0
T0tHZXRDb2RlQmxvY2spCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzIxCiAgICB0MCA9
ICpDQVNUPHVpbnQzMl90Kj4odDEuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQwID0gdDAuaSgpIDw8IChpbnRwdHJfdCgweDMp
ICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQwID0gdDAuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHQw
ID0gY2ZyLmkoKSAtIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0MjYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX19wcm9sb2d1ZV9fc3RhY2tI
ZWlnaHRPSykKICAgIHNwID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0NDAKICAgIG1ldGFkYXRhVGFi
bGUgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMjMyKTsgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjE0NDMKICAgIG51bWJlclRhZyA9IGludHB0cl90KC01NjI5NDk5NTM0MjEz
MTIpOyAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0NDYKICAgIG5v
dENlbGxNYXNrID0gaW50NjRfdCgweDIpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0NDcKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X3Byb2dyYW1fcHJvbG9ndWVfd2lk
ZTE2KQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9wcm9ncmFtX3Byb2xvZ3VlX3dpZGUz
MikKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfbW9kdWxlX3Byb2dyYW1fcHJvbG9ndWUp
CiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzQ2CiAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTo3NzQKICAgIFBVU0gobHIpOwogICAgUFVTSChjZnIpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Nzc1CiAg
ICBjZnIgPSBzcC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo3ODMKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEzMjEKICAgIHNwID0gc3AuaSgpIC0gaW50cHRyX3QoMHgxMCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjc5OQogICAgKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgLSA4KSA9IG1ldGFkYXRhVGFibGUuaSgpOyAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206ODAxCiAgICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgODgp
OyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzkyCiAgICBwYyA9IGlu
dHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMzkzCiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDEuaThwKCkg
KyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAg
IHQwID0gdDAuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4
KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQwID0g
dDAuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHQwID0gY2ZyLmkoKSAtIHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzOTcK
ICAgIGlmICh0MC51KCkgPiBjZnIudSgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzOTgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fMF9wcm9sb2d1ZV9fbmVlZFN0YWNrQ2hl
Y2s7CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyA4MCk7ICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzk5CiAgICBpZiAoKkNBU1Q8dWludHB0
cl90Kj4odDIuaThwKCkgKyAxMjAxMjApIDw9IHQwLnUoKSkgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxNDAxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19z
aXplX19rX19nZW5fXzBfcHJvbG9ndWVfX3N0YWNrSGVpZ2h0T0s7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fMF9w
cm9sb2d1ZV9fbmVlZFN0YWNrQ2hlY2spCiAgICBzcCA9IHNwLmkoKSAtIGludHB0cl90KDB4MCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDA5
CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNr
UG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxp
bnRfc3RhY2tfY2hlY2sodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwg
dDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMu
aSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBpZiAodDEuaSgpID09IGludHB0cl90KDB4MCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDExCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fXzBf
cHJvbG9ndWVfX3N0YWNrSGVpZ2h0T0tHZXRDb2RlQmxvY2s7CiAgICBtZXRhZGF0YVRhYmxlID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgLSA4KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo4MzYKICAgIGNmciA9IHQxLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0MTgKICAgIGdvdG8gbGxp
bnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZTsgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjE0MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX18wX3Byb2xvZ3VlX19zdGFja0hlaWdo
dE9LR2V0Q29kZUJsb2NrKQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTMyMQogICAgdDAg
PSAqQ0FTVDx1aW50MzJfdCo+KHQxLmk4cCgpICsgMjApOyAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206OTk5CiAgICB0MCA9IHQwLmkoKSA8PCAoaW50cHRyX3QoMHgz
KSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxMDAwCiAgICB0MCA9IHQwLmkoKSArIGludHB0cl90KDB4MCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDAxCiAgICB0
MCA9IGNmci5pKCkgLSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxNDI2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fMF9wcm9sb2d1ZV9fc3Rh
Y2tIZWlnaHRPSykKICAgIHNwID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0NDAKICAgIG1ldGFkYXRh
VGFibGUgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMjMyKTsgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjE0NDMKICAgIG51bWJlclRhZyA9IGludHB0cl90KC01NjI5NDk5NTM0
MjEzMTIpOyAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0NDYKICAg
IG5vdENlbGxNYXNrID0gaW50NjRfdCgweDIpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0NDcKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X21vZHVsZV9wcm9ncmFtX3By
b2xvZ3VlX3dpZGUxNikKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfbW9kdWxlX3Byb2dy
YW1fcHJvbG9ndWVfd2lkZTMyKQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9ldmFsX3By
b2xvZ3VlKQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTM0NgogICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Nzc0CiAgICBQVVNIKGxyKTsKICAgIFBVU0goY2ZyKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
Ojc3NQogICAgY2ZyID0gc3AuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NzgzCiAgICB0MSA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMzIxCiAgICBzcCA9IHNwLmkoKSAtIGludHB0cl90KDB4MTApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo3OTkKICAgICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCgpIC0gOCkgPSBtZXRhZGF0YVRhYmxlLmkoKTsgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjgwMQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAo
KSArIDg4KTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTM5MgogICAg
cGMgPSBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTM5MwogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQx
Lmk4cCgpICsgMjApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
OTk5CiAgICB0MCA9IHQwLmkoKSA8PCAoaW50cHRyX3QoMHgzKSAmICgoc2l6ZW9mKHVpbnRwdHJf
dCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDAwCiAg
ICB0MCA9IHQwLmkoKSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDAxCiAgICB0MCA9IGNmci5pKCkgLSB0MC5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMzk3CiAgICBpZiAodDAudSgpID4gY2ZyLnUoKSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzk4CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fXzFfcHJvbG9ndWVfX25lZWRT
dGFja0NoZWNrOwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgODApOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTM5OQogICAgaWYgKCpDQVNU
PHVpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTIwMTIwKSA8PSB0MC51KCkpICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTQwMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BfX2NvbW1vbk9w
X19mbl9fc2l6ZV9fa19fZ2VuX18xX3Byb2xvZ3VlX19zdGFja0hlaWdodE9LOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19n
ZW5fXzFfcHJvbG9ndWVfX25lZWRTdGFja0NoZWNrKQogICAgc3AgPSBzcC5pKCkgLSBpbnRwdHJf
dCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTQwOQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJl
bnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3Vs
dCA9IGxsaW50X3N0YWNrX2NoZWNrKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBw
YyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgaWYgKHQxLmkoKSA9PSBpbnRwdHJfdCgw
eDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTQxMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19f
Z2VuX18xX3Byb2xvZ3VlX19zdGFja0hlaWdodE9LR2V0Q29kZUJsb2NrOwogICAgbWV0YWRhdGFU
YWJsZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpIC0gOCk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206ODM2CiAgICBjZnIgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDE4CiAgICBn
b3RvIGxsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmU7ICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxNDE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fMV9wcm9sb2d1ZV9fc3Rh
Y2tIZWlnaHRPS0dldENvZGVCbG9jaykKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
KCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzMjEK
ICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPih0MS5pOHAoKSArIDIwKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQogICAgdDAgPSB0MC5pKCkgPDwgKGludHB0
cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDAgPSB0MC5pKCkgKyBpbnRwdHJfdCgweDAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAw
MQogICAgdDAgPSBjZnIuaSgpIC0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQyNgoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fXzFfcHJvbG9n
dWVfX3N0YWNrSGVpZ2h0T0spCiAgICBzcCA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDQwCiAgICBt
ZXRhZGF0YVRhYmxlID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDIzMik7ICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxNDQzCiAgICBudW1iZXJUYWcgPSBpbnRwdHJfdCgtNTYy
OTQ5OTUzNDIxMzEyKTsgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
NDQ2CiAgICBub3RDZWxsTWFzayA9IGludDY0X3QoMHgyKSArIG51bWJlclRhZy5pNjQoKTsgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDQ3CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9ldmFsX3Byb2xv
Z3VlX3dpZGUxNikKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfZXZhbF9wcm9sb2d1ZV93
aWRlMzIpCgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2Z1bmN0aW9uX2Zvcl9jYWxsX3By
b2xvZ3VlKQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTM0NgogICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Nzc0CiAgICBQVVNIKGxyKTsKICAgIFBVU0goY2ZyKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
Ojc3NQogICAgY2ZyID0gc3AuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NzgzCiAgICB0MSA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMjQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMjk0CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAyNCk7ICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjk4CiAgICBpZiAoKHQx
LmkoKSAmIGludHB0cl90KDB4MSkpID09IDApICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMjk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcF9fY29tbW9u
T3BfX2ZuX19zaXplX19rX19nZW5fX3Byb2xvZ3VlX19jb2RlQmxvY2tHZXR0ZXJfX2lzRXhlY3V0
YWJsZTsKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDU1KTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzMDAKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX19wcm9s
b2d1ZV9fY29kZUJsb2NrR2V0dGVyX19pc0V4ZWN1dGFibGUpCiAgICB0MSA9ICpDQVNUPGludHB0
cl90Kj4odDEuaThwKCkgKyA5Nik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMzAyCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyA4KTsgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzAzCiAgICAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KSA9IHQxLmkoKTsgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMzI1CiAgICBzcCA9IHNwLmkoKSAtIGludHB0cl90KDB4MTApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo3OTkKICAg
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpIC0gOCkgPSBtZXRhZGF0YVRhYmxlLmkoKTsgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgwMQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MS5pOHAoKSArIDg4KTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTM5MgogICAgcGMgPSBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTM5MwogICAgdDAgPSAqQ0FTVDx1aW50
MzJfdCo+KHQxLmk4cCgpICsgMjApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206OTk5CiAgICB0MCA9IHQwLmkoKSA8PCAoaW50cHRyX3QoMHgzKSAmICgoc2l6ZW9m
KHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMDAwCiAgICB0MCA9IHQwLmkoKSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDAxCiAgICB0MCA9IGNmci5pKCkg
LSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxMzk3CiAgICBpZiAodDAudSgpID4gY2ZyLnUoKSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzk4CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fXzJfcHJvbG9n
dWVfX25lZWRTdGFja0NoZWNrOwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsg
ODApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTM5OQogICAg
aWYgKCpDQVNUPHVpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTIwMTIwKSA8PSB0MC51KCkpICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQwMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3Bf
X2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX18yX3Byb2xvZ3VlX19zdGFja0hlaWdodE9LOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19z
aXplX19rX19nZW5fXzJfcHJvbG9ndWVfX25lZWRTdGFja0NoZWNrKQogICAgc3AgPSBzcC5pKCkg
LSBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTQwOQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQw
ID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNr
LnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5U
eXBlIHJlc3VsdCA9IGxsaW50X3N0YWNrX2NoZWNrKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgaWYgKHQxLmkoKSA9PSBp
bnRwdHJfdCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTQxMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9f
c2l6ZV9fa19fZ2VuX18yX3Byb2xvZ3VlX19zdGFja0hlaWdodE9LR2V0Q29kZUJsb2NrOwogICAg
bWV0YWRhdGFUYWJsZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpIC0gOCk7ICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206ODM2CiAgICBjZnIgPSB0MS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
NDE4CiAgICBnb3RvIGxsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmU7ICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDE5CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fMl9wcm9s
b2d1ZV9fc3RhY2tIZWlnaHRPS0dldENvZGVCbG9jaykKICAgIHQxID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEzMjEKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPih0MS5pOHAoKSArIDIwKTsgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQogICAgdDAgPSB0MC5pKCkg
PDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4
MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDAgPSB0MC5pKCkgKyBpbnRw
dHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTAwMQogICAgdDAgPSBjZnIuaSgpIC0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQyNgoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5f
XzJfcHJvbG9ndWVfX3N0YWNrSGVpZ2h0T0spCiAgICBzcCA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
NDQwCiAgICBtZXRhZGF0YVRhYmxlID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDIzMik7
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDQzCiAgICBudW1iZXJUYWcgPSBpbnRw
dHJfdCgtNTYyOTQ5OTUzNDIxMzEyKTsgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxNDQ2CiAgICBub3RDZWxsTWFzayA9IGludDY0X3QoMHgyKSArIG51bWJlclRhZy5p
NjQoKTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDQ3CiAgICB0MCA9ICpD
QVNUPHVpbnQzMl90Kj4odDEuaThwKCkgKyAyOCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxNDYxCiAgICB0MCA9IHQwLmkoKSArIGludHB0cl90KDB4MCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDYyCiAg
ICBpZiAodDAuaSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDY0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9v
cF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fX2Z1bmN0aW9uSW5pdGlhbGl6YXRpb25fX2Fy
Z3VtZW50UHJvZmlsZURvbmU7CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAx
MzYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDY1CiAgICBp
ZiAodDMuaSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxNDY2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcF9f
Y29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fX2Z1bmN0aW9uSW5pdGlhbGl6YXRpb25fX2FyZ3Vt
ZW50UHJvZmlsZURvbmU7CiAgICB0MiA9IGludHB0cl90KDB4MTgpICogdDAuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDY3CiAgICB0MCA9
IHQwLmkoKSA8PCAoaW50cHRyX3QoMHgzKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAw
eDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDY4CiAgICB0MyA9IHQzLmko
KSArIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxNDY5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fZnVuY3Rpb25Jbml0aWFsaXphdGlvbl9f
YXJndW1lbnRQcm9maWxlTG9vcCkKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MC5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIwKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjE0NzIKICAgIHQzID0gdDMuaSgpIC0gaW50cHRyX3QoMHgxOCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0NzMKICAgICpDQVNUPGludDY0X3Qq
Pih0My5pOHAoKSkgPSB0Mi5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjE0NzQKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0ODIKICAgICAgICBp
bnRwdHJfdCB0ZW1wID0gdDAuaSgpICsgaW50cHRyX3QoLTgpOwogICAgICAgIHQwID0gdGVtcDsK
ICAgICAgICBpZiAodGVtcCAhPSAwKQogICAgICAgICAgICBnb3RvICBfb2ZmbGluZWFzbV9vcF9f
Y29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fX2Z1bmN0aW9uSW5pdGlhbGl6YXRpb25fX2FyZ3Vt
ZW50UHJvZmlsZUxvb3A7CiAgICB9CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fZnVuY3Rpb25Jbml0aWFsaXphdGlv
bl9fYXJndW1lbnRQcm9maWxlRG9uZSkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAog
ICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29w
Y29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2Z1bmN0aW9uX2Zvcl9jYWxsX3Byb2xv
Z3VlX3dpZGUxNikKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfZnVuY3Rpb25fZm9yX2Nh
bGxfcHJvbG9ndWVfd2lkZTMyKQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9mdW5jdGlv
bl9mb3JfY29uc3RydWN0X3Byb2xvZ3VlKQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTM0
NgogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Nzc0CiAgICBQVVNIKGxyKTsKICAgIFBVU0go
Y2ZyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjc3NQogICAgY2ZyID0gc3AuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NzgzCiAg
ICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMjQpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzA4CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4o
dDEuaThwKCkgKyAyNCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMzEyCiAgICBpZiAoKHQxLmkoKSAmIGludHB0cl90KDB4MSkpID09IDApICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzEzCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fX3Byb2xvZ3VlX18yX2NvZGVC
bG9ja0dldHRlcl9faXNFeGVjdXRhYmxlOwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4
cCgpICsgNTUpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTMx
NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2Zu
X19zaXplX19rX19nZW5fX3Byb2xvZ3VlX18yX2NvZGVCbG9ja0dldHRlcl9faXNFeGVjdXRhYmxl
KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTA0KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTMxNgogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQxLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTMxNwogICAgKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNikgPSB0MS5pKCk7
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTMyNQogICAgc3AgPSBzcC5p
KCkgLSBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Nzk5CiAgICAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAtIDgpID0g
bWV0YWRhdGFUYWJsZS5pKCk7ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MDEKICAgIHBj
QmFzZSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyA4OCk7ICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzOTIKICAgIHBjID0gaW50cHRyX3QoMHgwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEz
OTMKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPih0MS5pOHAoKSArIDIwKTsgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQogICAgdDAgPSB0MC5pKCkgPDwgKGlu
dHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDAgPSB0MC5pKCkgKyBpbnRwdHJfdCgw
eDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTAwMQogICAgdDAgPSBjZnIuaSgpIC0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTM5NwogICAgaWYgKHQwLnUoKSA+IGNm
ci51KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTM5OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9f
c2l6ZV9fa19fZ2VuX18zX3Byb2xvZ3VlX19uZWVkU3RhY2tDaGVjazsKICAgIHQyID0gKkNBU1Q8
aW50cHRyX3QqPih0MS5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEzOTkKICAgIGlmICgqQ0FTVDx1aW50cHRyX3QqPih0Mi5pOHAoKSArIDEy
MDEyMCkgPD0gdDAudSgpKSAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0MDEKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fM19wcm9s
b2d1ZV9fc3RhY2tIZWlnaHRPSzsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX18zX3Byb2xvZ3VlX19uZWVkU3RhY2tD
aGVjaykKICAgIHNwID0gc3AuaSgpIC0gaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0MDkKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zdGFja19jaGVjayh0MCwg
dDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9
IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDkKICAgIGlmICh0MS5pKCkgPT0gaW50cHRyX3QoMHgwKSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0MTEKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fM19wcm9sb2d1ZV9fc3RhY2tIZWln
aHRPS0dldENvZGVCbG9jazsKICAgIG1ldGFkYXRhVGFibGUgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAoKSAtIDgpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgzNgogICAgY2Zy
ID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTQxOAogICAgZ290byBsbGludF90aHJvd19mcm9tX3Nsb3df
cGF0aF90cmFtcG9saW5lOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQx
OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2Zu
X19zaXplX19rX19nZW5fXzNfcHJvbG9ndWVfX3N0YWNrSGVpZ2h0T0tHZXRDb2RlQmxvY2spCiAg
ICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzIxCiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4o
dDEuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo5OTkKICAgIHQwID0gdDAuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0
cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAK
ICAgIHQwID0gdDAuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHQwID0gY2ZyLmkoKSAtIHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjE0MjYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BfX2NvbW1v
bk9wX19mbl9fc2l6ZV9fa19fZ2VuX18zX3Byb2xvZ3VlX19zdGFja0hlaWdodE9LKQogICAgc3Ag
PSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTQ0MAogICAgbWV0YWRhdGFUYWJsZSA9ICpDQVNUPGludHB0
cl90Kj4odDEuaThwKCkgKyAyMzIpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQ0
MwogICAgbnVtYmVyVGFnID0gaW50cHRyX3QoLTU2Mjk0OTk1MzQyMTMxMik7ICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQ0NgogICAgbm90Q2VsbE1hc2sgPSBpbnQ2
NF90KDB4MikgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTQ0NwogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQxLmk4cCgpICsgMjgpOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQ2MQogICAgdDAgPSB0MC5p
KCkgKyBpbnRwdHJfdCgtMSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTQ2MgogICAgaWYgKHQwLmkoKSA9PSAwKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQ2NAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX18zX2Z1
bmN0aW9uSW5pdGlhbGl6YXRpb25fX2FyZ3VtZW50UHJvZmlsZURvbmU7CiAgICB0MyA9ICpDQVNU
PGludHB0cl90Kj4odDEuaThwKCkgKyAxMzYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxNDY1CiAgICBpZiAodDMuaSgpID09IDApICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDY2CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fXzNfZnVu
Y3Rpb25Jbml0aWFsaXphdGlvbl9fYXJndW1lbnRQcm9maWxlRG9uZTsKICAgIHQyID0gaW50cHRy
X3QoMHgxOCkgKiB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjE0NjcKICAgIHQwID0gdDAuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChz
aXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjE0NjgKICAgIHQzID0gdDMuaSgpICsgdDIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0NjkKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2Vu
X18zX2Z1bmN0aW9uSW5pdGlhbGl6YXRpb25fX2FyZ3VtZW50UHJvZmlsZUxvb3ApCiAgICB0MiA9
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDApICsgaW50cHRyX3QoMHgy
OCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDcyCiAgICB0MyA9IHQzLmkoKSAtIGludHB0
cl90KDB4MTgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxNDczCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAyNCkgPSB0Mi5pNjQoKTsg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDc0CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxNDgyCiAgICAgICAgaW50cHRyX3QgdGVtcCA9IHQwLmkoKSArIGludHB0
cl90KC04KTsKICAgICAgICB0MCA9IHRlbXA7CiAgICAgICAgaWYgKHRlbXAgIT0gMCkKICAgICAg
ICAgICAgZ290byAgX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX18z
X2Z1bmN0aW9uSW5pdGlhbGl6YXRpb25fX2FyZ3VtZW50UHJvZmlsZUxvb3A7CiAgICB9CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVf
X2tfX2dlbl9fM19mdW5jdGlvbkluaXRpYWxpemF0aW9uX19hcmd1bWVudFByb2ZpbGVEb25lKQog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFC
RUwobGxpbnRfZnVuY3Rpb25fZm9yX2NvbnN0cnVjdF9wcm9sb2d1ZV93aWRlMTYpCgpPRkZMSU5F
X0FTTV9HTFVFX0xBQkVMKGxsaW50X2Z1bmN0aW9uX2Zvcl9jb25zdHJ1Y3RfcHJvbG9ndWVfd2lk
ZTMyKQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9mdW5jdGlvbl9mb3JfY2FsbF9hcml0
eV9jaGVjaykKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzNDYKICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjc3NAogICAgUFVTSChscik7CiAgICBQVVNIKGNmcik7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo3NzUKICAgIGNmciA9IHNwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjc4MwogICAgdDEgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDI0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTI5NAogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMjQpOyAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI5OAogICAgaWYgKCh0
MS5pKCkgJiBpbnRwdHJfdCgweDEpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTI5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BfX2NvbW1v
bk9wX19mbl9fc2l6ZV9fa19fZ2VuX19wcm9sb2d1ZV9fM19jb2RlQmxvY2tHZXR0ZXJfX2lzRXhl
Y3V0YWJsZTsKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDU1KTsgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzMDAKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX19w
cm9sb2d1ZV9fM19jb2RlQmxvY2tHZXR0ZXJfX2lzRXhlY3V0YWJsZSkKICAgIHQxID0gKkNBU1Q8
aW50cHRyX3QqPih0MS5pOHAoKSArIDk2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEzMDIKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDgp
OyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzMDMKICAgICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpID0gdDEuaSgpOyAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzMjUKICAgIHNwID0gc3AuaSgpIC0gaW50cHRyX3QoMHgx
MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjc5
OQogICAgKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgLSA4KSA9IG1ldGFkYXRhVGFibGUuaSgp
OyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODAxCiAgICBwY0Jhc2UgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQxLmk4cCgpICsgODgpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMzkyCiAgICBwYyA9IGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzkzCiAgICB0MCA9ICpDQVNU
PHVpbnQzMl90Kj4odDEuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo5OTkKICAgIHQwID0gdDAuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChz
aXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEwMDAKICAgIHQwID0gdDAuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHQwID0gY2Zy
LmkoKSAtIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEzOTcKICAgIGlmICh0MC51KCkgPiBjZnIudSgpKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzOTgKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fNF9w
cm9sb2d1ZV9fbmVlZFN0YWNrQ2hlY2s7CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDEuaThw
KCkgKyA4MCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzk5
CiAgICBpZiAoKkNBU1Q8dWludHB0cl90Kj4odDIuaThwKCkgKyAxMjAxMjApIDw9IHQwLnUoKSkg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDAxCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fXzRfcHJvbG9ndWVfX3N0YWNrSGVpZ2h0
T0s7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9f
Zm5fX3NpemVfX2tfX2dlbl9fNF9wcm9sb2d1ZV9fbmVlZFN0YWNrQ2hlY2spCiAgICBzcCA9IHNw
LmkoKSAtIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxNDA5CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAog
ICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29w
U3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJl
dHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc3RhY2tfY2hlY2sodDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBpZiAodDEuaSgp
ID09IGludHB0cl90KDB4MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxNDExCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3Bf
X2ZuX19zaXplX19rX19nZW5fXzRfcHJvbG9ndWVfX3N0YWNrSGVpZ2h0T0tHZXRDb2RlQmxvY2s7
CiAgICBtZXRhZGF0YVRhYmxlID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgLSA4KTsgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MzYKICAgIGNmciA9IHQxLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjE0MTgKICAgIGdvdG8gbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZTsg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0MTkKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX180
X3Byb2xvZ3VlX19zdGFja0hlaWdodE9LR2V0Q29kZUJsb2NrKQogICAgdDEgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTMyMQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQxLmk4cCgpICsgMjApOyAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTk5CiAgICB0MCA9IHQw
LmkoKSA8PCAoaW50cHRyX3QoMHgzKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNm
IDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDAwCiAgICB0MCA9IHQwLmkoKSAr
IGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxMDAxCiAgICB0MCA9IGNmci5pKCkgLSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDI2CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tf
X2dlbl9fNF9wcm9sb2d1ZV9fc3RhY2tIZWlnaHRPSykKICAgIHNwID0gdDAuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjE0NDAKICAgIG1ldGFkYXRhVGFibGUgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsg
MjMyKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0NDMKICAgIG51bWJlclRhZyA9
IGludHB0cl90KC01NjI5NDk5NTM0MjEzMTIpOyAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjE0NDYKICAgIG5vdENlbGxNYXNrID0gaW50NjRfdCgweDIpICsgbnVtYmVy
VGFnLmk2NCgpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0NDcKICAgIHQw
ID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjI1CiAgICBpZiAodDAudTMyKCkgPj0gKkNBU1Q8dWlu
dDMyX3QqPih0MS5pOHAoKSArIDI4KSkgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjYyNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19f
Z2VuX19mdW5jdGlvbkZvckNhbGxCZWdpbjsKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyOAogICAgdDEgPSBwYy5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MjkKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAg
Y2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfY2FsbF9hcml0eUNoZWNrKHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIGlmICh0MC5p
MzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjMxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcF9fY29tbW9u
T3BfX2ZuX19zaXplX19rX19nZW5fX2Z1bmN0aW9uQXJpdHlDaGVja19fbm9FcnJvcjsKICAgIG1l
dGFkYXRhVGFibGUgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAtIDgpOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjgzNgogICAgY2ZyID0gdDEuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MzgKICAgIGdvdG8gbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZTsgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjM5CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fZnVuY3Rp
b25Bcml0eUNoZWNrX19ub0Vycm9yKQogICAgdDEgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NDIK
ICAgIGlmICh0MS5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjQzCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fX2Z1bmN0aW9uQXJpdHlDaGVja19fY29u
dGludWU7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY0NAogICAgdDIgPSAodWludDMy
X3QpKHQyLmkzMigpICsgaW50MzJfdCgweDUpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2NDUKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjQ3CiAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY0OAogICAgdDMgPSB0MS5pKCk7CiAgICB0MyA9ICh1
aW50MzJfdCkodDMuaTMyKCkgJiBpbnQzMl90KDB4MSkpOyAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjY0OQogICAgaWYgKHQzLmkzMigpID09IDApICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NTAK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9f
ZnVuY3Rpb25Bcml0eUNoZWNrX19ub0V4dHJhU2xvdDsKICAgIHQwID0gaW50cHRyX3QoMHhhKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjUxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wX19jb21t
b25PcF9fZm5fX3NpemVfX2tfX2dlbl9fZnVuY3Rpb25Bcml0eUNoZWNrX19maWxsRXh0cmFTbG90
cykKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKSA9IHQwLmk2
NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjUzCiAgICB0MiA9ICh1aW50MzJfdCko
dDIuaTMyKCkgKyBpbnQzMl90KDB4MSkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjY1NAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NTUKICAgICAgICBp
bnQzMl90IHRlbXAgPSB0My5pMzIoKSAtIGludDMyX3QoMHgxKTsKICAgICAgICB0MyA9IHRlbXA7
CiAgICAgICAgaWYgKHRlbXAgIT0gMCkKICAgICAgICAgICAgZ290byAgX29mZmxpbmVhc21fb3Bf
X2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX19mdW5jdGlvbkFyaXR5Q2hlY2tfX2ZpbGxFeHRy
YVNsb3RzOwogICAgfQogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICYgaW50MzJfdCgtMikp
OyAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NTYKICAgIGlmICh0
MS5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjU3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcF9fY29t
bW9uT3BfX2ZuX19zaXplX19rX19nZW5fX2Z1bmN0aW9uQXJpdHlDaGVja19fY29udGludWU7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3Np
emVfX2tfX2dlbl9fZnVuY3Rpb25Bcml0eUNoZWNrX19ub0V4dHJhU2xvdCkKICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjY2CiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY2Nwog
ICAgdDEgPSAtdDEuaTY0KCk7CiAgICB0MyA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY2OAogICAg
dDMgPSB0My5pKCkgLSBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NjkKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIo
KSArIGludDMyX3QoMHgxKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjcwCiAgICB0MCA9IHQxLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3MQogICAgdDAgPSB0MC5pNjQo
KSA8PCAoaW50cHRyX3QoMHgzKSAmIDB4M2YpOyAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2NzMKICAgIGNmciA9IGNmci5pKCkgKyB0MC5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Njc0CiAgICBz
cCA9IHNwLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3NQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fX2Z1bmN0aW9uQXJpdHlD
aGVja19fY29weUxvb3ApCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY3NwogICAgKkNB
U1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NzgKICAgIHQzID0gdDMuaSgpICsgaW50cHRyX3QoMHg4
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
Njc5CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY4MAogICAgICAgIGludDMyX3QgdGVt
cCA9IHQyLmkzMigpIC0gaW50MzJfdCgweDEpOwogICAgICAgIHQyID0gdGVtcDsKICAgICAgICBp
ZiAodGVtcCAhPSAwKQogICAgICAgICAgICBnb3RvICBfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3Bf
X2ZuX19zaXplX19rX19nZW5fX2Z1bmN0aW9uQXJpdHlDaGVja19fY29weUxvb3A7CiAgICB9CiAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY4MgogICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2ODMKICAgIHQyID0gdDEuaSgpOwogICAgdDAgPSBpbnRwdHJfdCgweGEpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
ODQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19m
bl9fc2l6ZV9fa19fZ2VuX19mdW5jdGlvbkFyaXR5Q2hlY2tfX2ZpbGxMb29wKQogICAgKkNBU1Q8
aW50NjRfdCo+KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo2ODYKICAgIHQzID0gdDMuaSgpICsgaW50cHRyX3QoMHg4KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Njg3
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY4OAogICAgICAgIGludDMyX3QgdGVtcCA9
IHQyLmkzMigpICsgaW50MzJfdCgweDEpOwogICAgICAgIHQyID0gdGVtcDsKICAgICAgICBpZiAo
dGVtcCAhPSAwKQogICAgICAgICAgICBnb3RvICBfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2Zu
X19zaXplX19rX19nZW5fX2Z1bmN0aW9uQXJpdHlDaGVja19fZmlsbExvb3A7CiAgICB9CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVf
X2tfX2dlbl9fZnVuY3Rpb25Bcml0eUNoZWNrX19jb250aW51ZSkKICAgIHQxID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206Njk4CiAgICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsg
ODgpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY5OQogICAgcGMg
PSBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MDAKICAgIGdvdG8gX29mZmxpbmVhc21fb3BfX2NvbW1v
bk9wX19mbl9fc2l6ZV9fa19fZ2VuX19mdW5jdGlvbkZvckNhbGxCZWdpbjsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo3MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
b3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX19mdW5jdGlvbkZvckNhbGxCZWdpbikKICAg
IHQwID0gKkNBU1Q8dWludDMyX3QqPih0MS5pOHAoKSArIDI4KTsgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0NjEKICAgIHQwID0gdDAuaSgpICsgaW50cHRyX3Qo
MHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjE0NjIKICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0NjQKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fNF9mdW5jdGlvbkluaXRpYWxp
emF0aW9uX19hcmd1bWVudFByb2ZpbGVEb25lOwogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCgpICsgMTM2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTQ2NQogICAgaWYgKHQzLmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQ2NgogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX180X2Z1bmN0aW9uSW5pdGlhbGl6
YXRpb25fX2FyZ3VtZW50UHJvZmlsZURvbmU7CiAgICB0MiA9IGludHB0cl90KDB4MTgpICogdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
NDY3CiAgICB0MCA9IHQwLmkoKSA8PCAoaW50cHRyX3QoMHgzKSAmICgoc2l6ZW9mKHVpbnRwdHJf
dCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDY4CiAg
ICB0MyA9IHQzLmkoKSArIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDY5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fNF9mdW5jdGlvbklu
aXRpYWxpemF0aW9uX19hcmd1bWVudFByb2ZpbGVMb29wKQogICAgdDIgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAwKSArIGludHB0cl90KDB4MjApKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTQ3MgogICAgdDMgPSB0My5pKCkgLSBpbnRwdHJfdCgweDE4KTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQ3MwogICAg
KkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpKSA9IHQyLmk2NCgpOyAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQ3NAogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTQ4MgogICAgICAgIGludHB0cl90IHRlbXAgPSB0MC5pKCkgKyBpbnRwdHJfdCgtOCk7CiAgICAg
ICAgdDAgPSB0ZW1wOwogICAgICAgIGlmICh0ZW1wICE9IDApCiAgICAgICAgICAgIGdvdG8gIF9v
ZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fNF9mdW5jdGlvbkluaXRp
YWxpemF0aW9uX19hcmd1bWVudFByb2ZpbGVMb29wOwogICAgfQoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fXzRfZnVu
Y3Rpb25Jbml0aWFsaXphdGlvbl9fYXJndW1lbnRQcm9maWxlRG9uZSkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2Z1bmN0
aW9uX2Zvcl9jYWxsX2FyaXR5X2NoZWNrX3dpZGUxNikKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwo
bGxpbnRfZnVuY3Rpb25fZm9yX2NhbGxfYXJpdHlfY2hlY2tfd2lkZTMyKQoKT0ZGTElORV9BU01f
R0xVRV9MQUJFTChsbGludF9mdW5jdGlvbl9mb3JfY29uc3RydWN0X2FyaXR5X2NoZWNrKQogICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTM0NgogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
Nzc0CiAgICBQVVNIKGxyKTsKICAgIFBVU0goY2ZyKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjc3NQogICAgY2Zy
ID0gc3AuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NzgzCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMjQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzA4
CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAyNCk7ICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzEyCiAgICBpZiAoKHQxLmkoKSAmIGludHB0
cl90KDB4MSkpID09IDApICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMzEzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXpl
X19rX19nZW5fX3Byb2xvZ3VlX180X2NvZGVCbG9ja0dldHRlcl9faXNFeGVjdXRhYmxlOwogICAg
dDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgNTUpOyAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTMxNAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fX3Byb2xvZ3VlX180X2Nv
ZGVCbG9ja0dldHRlcl9faXNFeGVjdXRhYmxlKQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCgpICsgMTA0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTMxNgogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgOCk7ICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTMxNwogICAgKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgKyAxNikgPSB0MS5pKCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTMyNQogICAgc3AgPSBzcC5pKCkgLSBpbnRwdHJfdCgweDEwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Nzk5CiAgICAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAoKSAtIDgpID0gbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo4MDEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThw
KCkgKyA4OCk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzOTIKICAg
IHBjID0gaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzOTMKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPih0
MS5pOHAoKSArIDIwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
Ojk5OQogICAgdDAgPSB0MC5pKCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRy
X3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAog
ICAgdDAgPSB0MC5pKCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMQogICAgdDAgPSBjZnIuaSgpIC0gdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTM5NwogICAgaWYgKHQwLnUoKSA+IGNmci51KCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTM5OAogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX181X3Byb2xvZ3VlX19uZWVk
U3RhY2tDaGVjazsKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDgwKTsgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzOTkKICAgIGlmICgqQ0FT
VDx1aW50cHRyX3QqPih0Mi5pOHAoKSArIDEyMDEyMCkgPD0gdDAudSgpKSAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjE0MDEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wX19jb21tb25P
cF9fZm5fX3NpemVfX2tfX2dlbl9fNV9wcm9sb2d1ZV9fc3RhY2tIZWlnaHRPSzsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19f
Z2VuX181X3Byb2xvZ3VlX19uZWVkU3RhY2tDaGVjaykKICAgIHNwID0gc3AuaSgpIC0gaW50cHRy
X3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjE0MDkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJy
ZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1
bHQgPSBsbGludF9zdGFja19jaGVjayh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1
bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAg
cGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIGlmICh0MS5pKCkgPT0gaW50cHRyX3Qo
MHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjE0MTEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tf
X2dlbl9fNV9wcm9sb2d1ZV9fc3RhY2tIZWlnaHRPS0dldENvZGVCbG9jazsKICAgIG1ldGFkYXRh
VGFibGUgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAtIDgpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjgzNgogICAgY2ZyID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQxOAogICAg
Z290byBsbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lOyAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fXzVfcHJvbG9ndWVfX3N0
YWNrSGVpZ2h0T0tHZXRDb2RlQmxvY2spCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzIx
CiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDEuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQwID0gdDAuaSgpIDw8IChpbnRw
dHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQwID0gdDAuaSgpICsgaW50cHRyX3QoMHgw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEw
MDEKICAgIHQwID0gY2ZyLmkoKSAtIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0MjYKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX181X3Byb2xv
Z3VlX19zdGFja0hlaWdodE9LKQogICAgc3AgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQ0MAogICAg
bWV0YWRhdGFUYWJsZSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAyMzIpOyAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQ0MwogICAgbnVtYmVyVGFnID0gaW50cHRyX3QoLTU2
Mjk0OTk1MzQyMTMxMik7ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTQ0NgogICAgbm90Q2VsbE1hc2sgPSBpbnQ2NF90KDB4MikgKyBudW1iZXJUYWcuaTY0KCk7ICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQ0NwogICAgdDAgPSAqQ0FTVDx1aW50
MzJfdCo+KGNmci5pOHAoKSArIDM2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MjUKICAgIGlmICh0MC51MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQxLmk4
cCgpICsgMjgpKSAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjI2CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fX2Z1bmN0aW9u
Rm9yQ29uc3RydWN0QmVnaW47CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MjgKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjI5CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2NvbnN0cnVjdF9hcml0eUNoZWNrKHQwLCB0MSk7CiAg
ICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIGlmICh0MC5pMzIo
KSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NjMxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3Bf
X2ZuX19zaXplX19rX19nZW5fXzVfZnVuY3Rpb25Bcml0eUNoZWNrX19ub0Vycm9yOwogICAgbWV0
YWRhdGFUYWJsZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpIC0gOCk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206ODM2CiAgICBjZnIgPSB0MS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYz
OAogICAgZ290byBsbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lOyAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MzkKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX181X2Z1bmN0
aW9uQXJpdHlDaGVja19fbm9FcnJvcikKICAgIHQxID0gdDEuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjQy
CiAgICBpZiAodDEuaTMyKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY0MwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX181X2Z1bmN0aW9uQXJpdHlDaGVja19f
Y29udGludWU7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzYpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY0NAogICAgdDIgPSAodWlu
dDMyX3QpKHQyLmkzMigpICsgaW50MzJfdCgweDUpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2NDUKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjQ3CiAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY0OAogICAgdDMgPSB0MS5pKCk7CiAgICB0MyA9
ICh1aW50MzJfdCkodDMuaTMyKCkgJiBpbnQzMl90KDB4MSkpOyAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjY0OQogICAgaWYgKHQzLmkzMigpID09IDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
NTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dl
bl9fNV9mdW5jdGlvbkFyaXR5Q2hlY2tfX25vRXh0cmFTbG90OwogICAgdDAgPSBpbnRwdHJfdCgw
eGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2NTEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3Bf
X2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX181X2Z1bmN0aW9uQXJpdHlDaGVja19fZmlsbEV4
dHJhU2xvdHMpCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSkg
PSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY1MwogICAgdDIgPSAodWlu
dDMyX3QpKHQyLmkzMigpICsgaW50MzJfdCgweDEpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2NTQKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjU1CiAg
ICAgICAgaW50MzJfdCB0ZW1wID0gdDMuaTMyKCkgLSBpbnQzMl90KDB4MSk7CiAgICAgICAgdDMg
PSB0ZW1wOwogICAgICAgIGlmICh0ZW1wICE9IDApCiAgICAgICAgICAgIGdvdG8gIF9vZmZsaW5l
YXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fNV9mdW5jdGlvbkFyaXR5Q2hlY2tf
X2ZpbGxFeHRyYVNsb3RzOwogICAgfQogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICYgaW50
MzJfdCgtMikpOyAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NTYK
ICAgIGlmICh0MS5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjU3CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fXzVfZnVuY3Rpb25Bcml0eUNoZWNrX19j
b250aW51ZTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BfX2NvbW1v
bk9wX19mbl9fc2l6ZV9fa19fZ2VuX181X2Z1bmN0aW9uQXJpdHlDaGVja19fbm9FeHRyYVNsb3Qp
CiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY2NgogICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo2NjcKICAgIHQxID0gLXQxLmk2NCgpOwogICAgdDMgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2NjgKICAgIHQzID0gdDMuaSgpIC0gaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjY5CiAgICB0MiA9ICh1aW50
MzJfdCkodDIuaTMyKCkgKyBpbnQzMl90KDB4MSkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjY3MAogICAgdDAgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NzEKICAg
IHQwID0gdDAuaTY0KCkgPDwgKGludHB0cl90KDB4MykgJiAweDNmKTsgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjczCiAgICBjZnIgPSBjZnIuaSgpICsgdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjY3NAogICAgc3AgPSBzcC5pKCkgKyB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NzUKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX181
X2Z1bmN0aW9uQXJpdHlDaGVja19fY29weUxvb3ApCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0
My5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjY3NwogICAgKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0
MC5pNjQoKTsgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2NzgKICAgIHQzID0gdDMuaSgp
ICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206Njc5CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY4MAogICAg
ICAgIGludDMyX3QgdGVtcCA9IHQyLmkzMigpIC0gaW50MzJfdCgweDEpOwogICAgICAgIHQyID0g
dGVtcDsKICAgICAgICBpZiAodGVtcCAhPSAwKQogICAgICAgICAgICBnb3RvICBfb2ZmbGluZWFz
bV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fXzVfZnVuY3Rpb25Bcml0eUNoZWNrX19j
b3B5TG9vcDsKICAgIH0KICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjgyCiAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjY4MwogICAgdDIgPSB0MS5pKCk7CiAgICB0MCA9IGludHB0
cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjY4NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fXzVfZnVuY3Rpb25Bcml0eUNoZWNrX19m
aWxsTG9vcCkKICAgICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArICh0MS5pKCkgPDwgMykpID0g
dDAuaTY0KCk7ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Njg2CiAgICB0MyA9IHQzLmko
KSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjY4NwogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2ODgKICAg
ICAgICBpbnQzMl90IHRlbXAgPSB0Mi5pMzIoKSArIGludDMyX3QoMHgxKTsKICAgICAgICB0MiA9
IHRlbXA7CiAgICAgICAgaWYgKHRlbXAgIT0gMCkKICAgICAgICAgICAgZ290byAgX29mZmxpbmVh
c21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX181X2Z1bmN0aW9uQXJpdHlDaGVja19f
ZmlsbExvb3A7CiAgICB9CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29w
X19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fNV9mdW5jdGlvbkFyaXR5Q2hlY2tfX2NvbnRp
bnVlKQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2OTgKICAgIHBjQmFzZSA9ICpDQVNU
PGludHB0cl90Kj4odDEuaThwKCkgKyA4OCk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206Njk5CiAgICBwYyA9IGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjcwMAogICAgZ290
byBfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fX2Z1bmN0aW9uRm9y
Q29uc3RydWN0QmVnaW47IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzAxCgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dl
bl9fZnVuY3Rpb25Gb3JDb25zdHJ1Y3RCZWdpbikKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPih0
MS5pOHAoKSArIDI4KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjE0NjEKICAgIHQwID0gdDAuaSgpICsgaW50cHRyX3QoLTEpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0NjIKICAgIGlmICh0MC5pKCkgPT0g
MCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjE0NjQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5f
X3NpemVfX2tfX2dlbl9fNV9mdW5jdGlvbkluaXRpYWxpemF0aW9uX19hcmd1bWVudFByb2ZpbGVE
b25lOwogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTM2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQ2NQogICAgaWYgKHQzLmkoKSA9PSAw
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTQ2NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9f
c2l6ZV9fa19fZ2VuX181X2Z1bmN0aW9uSW5pdGlhbGl6YXRpb25fX2FyZ3VtZW50UHJvZmlsZURv
bmU7CiAgICB0MiA9IGludHB0cl90KDB4MTgpICogdDAuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDY3CiAgICB0MCA9IHQwLmkoKSA8PCAo
aW50cHRyX3QoMHgzKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDY4CiAgICB0MyA9IHQzLmkoKSArIHQyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxNDY5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wX19jb21tb25P
cF9fZm5fX3NpemVfX2tfX2dlbl9fNV9mdW5jdGlvbkluaXRpYWxpemF0aW9uX19hcmd1bWVudFBy
b2ZpbGVMb29wKQogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQ3MgogICAg
dDMgPSB0My5pKCkgLSBpbnRwdHJfdCgweDE4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQ3MwogICAgKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgp
ICsgMjQpID0gdDIuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTQ3NAogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQ4MgogICAgICAgIGludHB0cl90IHRl
bXAgPSB0MC5pKCkgKyBpbnRwdHJfdCgtOCk7CiAgICAgICAgdDAgPSB0ZW1wOwogICAgICAgIGlm
ICh0ZW1wICE9IDApCiAgICAgICAgICAgIGdvdG8gIF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9f
Zm5fX3NpemVfX2tfX2dlbl9fNV9mdW5jdGlvbkluaXRpYWxpemF0aW9uX19hcmd1bWVudFByb2Zp
bGVMb29wOwogICAgfQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcF9f
Y29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fXzVfZnVuY3Rpb25Jbml0aWFsaXphdGlvbl9fYXJn
dW1lbnRQcm9maWxlRG9uZSkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2Z1bmN0aW9uX2Zvcl9jb25zdHJ1Y3RfYXJpdHlf
Y2hlY2tfd2lkZTE2KQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9mdW5jdGlvbl9mb3Jf
Y29uc3RydWN0X2FyaXR5X2NoZWNrX3dpZGUzMikKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwoaGFu
ZGxlVW5jYXVnaHRFeGNlcHRpb24pCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMjQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMyMQog
ICAgaWYgKCh0My5pKCkgJiBpbnRwdHJfdCgweDgpKSAhPSAwKSAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTMzMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
b3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX19jb252ZXJ0Q2FsbGVlVG9WTV9fcHJlY2lz
ZUFsbG9jYXRpb247CiAgICB0MyA9IHQzLmkoKSAmIGludHB0cl90KC02NTUzNik7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzM0CiAgICB0MyA9ICpD
QVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA2NDQ3Mik7ICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMzM1CiAgICBnb3RvIF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9f
Zm5fX3NpemVfX2tfX2dlbl9fY29udmVydENhbGxlZVRvVk1fX2RvbmU7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjEzMzYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3Bf
X2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX19jb252ZXJ0Q2FsbGVlVG9WTV9fcHJlY2lzZUFs
bG9jYXRpb24pCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgLSAxNik7ICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzM4CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9f
Y29udmVydENhbGxlZVRvVk1fX2RvbmUpCiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsg
MTE5NjI0KSA9IGludHB0cl90KDB4MCk7ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMy
NAogICAgY2ZyID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDExMzIwOCk7ICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMjYKICAgIHQyID0gY2ZyLmkoKSAtIGlu
dHB0cl90KDB4MzApOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjk5NQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMjkKICAgIHQ1ID0gKkNB
U1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzMwCiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTEz
MjE2KSA9IHQ1LmkoKTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMzMQog
ICAgdDUgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMzIKICAgICpDQVNUPGludHB0cl90Kj4odDMu
aThwKCkgKyAxMTMyMDgpID0gdDUuaSgpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzMzCiAgICBzcCA9IGNmci5pKCkgLSBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMzNQogICAgUE9QKGNmcik7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206OTg5CiAgICBQT1AobHIpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTAKICAgIG9w
Y29kZSA9IGxyLm9wY29kZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzM5CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJ
TkVfQVNNX0dMVUVfTEFCRUwoaGFuZGxlVW5jYXVnaHRFeGNlcHRpb25fd2lkZTE2KQoKT0ZGTElO
RV9BU01fR0xVRV9MQUJFTChoYW5kbGVVbmNhdWdodEV4Y2VwdGlvbl93aWRlMzIpCgpPRkZMSU5F
X0FTTV9PUENPREVfTEFCRUwob3BfZW50ZXIpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjcwOQogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMjQpOyAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MTAKICAgIHQyID0gdDIuaTY0KCkg
LSBpbnQ2NF90KDB4MSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NzExCiAgICB0MSA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjcxMgogICAgdDEg
PSB0MS5pNjQoKSAtIGludDY0X3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MTMKICAgIGlmICh0Mi5pMzIoKSA9PSAwKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NzE0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEVudGVyRG9uZTsKICAgIHQwID0gaW50cHRy
X3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NzE1CiAgICB0MiA9ICh1aW50MzJfdCkoLXQyLmkzMigpKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjcxNgogICAg
dDIgPSB0Mi5pMzIoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MTcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fb3BFbnRlckxvb3ApCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAo
dDIuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjcx
OQogICAgdDIgPSB0Mi5pNjQoKSArIGludDY0X3QoMHgxKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MjAKICAgIGlmICh0Mi5pNjQoKSAhPSAw
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NzIxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9vcEVudGVyTG9vcDsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BFbnRlckRvbmUpCiAgICBwYyA9IHBj
LmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQK
ICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52
cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2VudGVy
KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAg
IHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9nZXRfYXJndW1lbnQpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5p
OHAoKSArIDM2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3
MjkKICAgIGlmICh0MC5pMzIoKSA8PSB0Mi5pMzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzMwCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fb3BHZXRBcmd1bWVudE91dE9mQm91bmRzOwog
ICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGludHB0
cl90KDB4MjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MzEKICAgIHQzID0gdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NjkKICAgIHQxID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxl
Lmk4cCgpICsgMTgpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYg
KHQxLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJu
UHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fbWV0YWRhdGFfX3NldFVwT2Zmc2V0
OwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAxNTYpOyAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRh
X19tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MiA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzUKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAqIGludDMyX3QoMHgxOCkp
OyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDEgPSAodWlu
dDMyX3QpKHQxLmkzMigpICsgdDIuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk4CiAgICB0MSA9IHQxLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgICpD
QVNUPGludDY0X3QqPih0MS5pOHAoKSkgPSB0My5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQx
LmkoKSA8PCAzKSkgPSB0My5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjczCiAg
ICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fb3BHZXRBcmd1bWVudE91
dE9mQm91bmRzKQogICAgdDMgPSBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2OQogICAgdDEgPSAqQ0FT
VDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAxOCk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDEuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFk
YXRhX181X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPiht
ZXRhZGF0YVRhYmxlLmk4cCgpICsgMTU2KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFBy
b2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmls
ZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fNV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAg
ICB0MiA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzUKICAgIHQyID0gKHVpbnQz
Ml90KSh0Mi5pMzIoKSAqIGludDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICsgdDIuaTMyKCkp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MSA9
IHQxLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSkgPSB0
My5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkK
ICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0My5pNjQoKTsgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjczCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4
NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkp
OyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigm
Z19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9hcmd1bWVudF93aWRlMTYp
CiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAg
IHQwID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzNik7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzI5CiAgICBpZiAodDAuaTMyKCkgPD0gdDIuaTMy
KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjczMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fN19m
bl9fb3BHZXRBcmd1bWVudE91dE9mQm91bmRzOwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGludHB0cl90KDB4MjgpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo3MzEKICAgIHQzID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjkKICAgIHQxID0g
KkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTgpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQxLmkzMigpICE9IDApICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19t
ZXRhZGF0YV9fNl9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90
Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDE1Nik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblBy
b2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzZfbWV0YWRhdGFfX3NldFVwT2Zmc2V0
KQogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDIgPSAo
dWludDMyX3QpKHQyLmkzMigpICogaW50MzJfdCgweDE4KSk7ICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKyB0Mi5p
MzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAg
IHQxID0gdDEuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgp
KSA9IHQzLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo3OQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3
CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0My5pNjQo
KTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjczCiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0
dXJuUHJvZmlsZWRfX2ZuX183X2ZuX19vcEdldEFyZ3VtZW50T3V0T2ZCb3VuZHMpCiAgICB0MyA9
IGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjY5CiAgICB0MSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRh
dGFUYWJsZS5pOHAoKSArIDE4KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIK
ICAgIGlmICh0MS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFr
ZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzdfbWV0YWRhdGFfX3Nl
dFVwT2Zmc2V0OwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkg
KyAxNTYpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5f
X21ldGFkYXRhX183X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQyID0gKkNBU1Q8dWludDE2
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAqIGlu
dDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5Nwog
ICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICsgdDIuaTMyKCkpOyAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MSA9IHQxLmkoKSArIG1ldGFkYXRh
VGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSkgPSB0My5pNjQoKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQxID0gKGludDY0X3Qp
KkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNm
ci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF9nZXRfYXJndW1lbnRfd2lkZTMyKQogICAgdDIgPSAqQ0FTVDxp
bnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4oY2Zy
Lmk4cCgpICsgMzYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjcyOQogICAgaWYgKHQwLmkzMigpIDw9IHQyLmkzMigpKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MzAKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fXzlfZm5fX29wR2V0QXJndW1lbnRPdXRPZkJvdW5k
czsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBp
bnRwdHJfdCgweDI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzMxCiAgICB0MyA9IHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjY5CiAgICB0MSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFU
YWJsZS5pOHAoKSArIDE4KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAg
IGlmICh0MS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJl
dHVyblByb2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzhfbWV0YWRhdGFfX3NldFVw
T2Zmc2V0OwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAx
NTYpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21l
dGFkYXRhX184X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQyID0gKkNBU1Q8dWludDMyX3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAqIGludDMy
X3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAg
dDEgPSAodWludDMyX3QpKHQxLmkzMigpICsgdDIuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MSA9IHQxLmkoKSArIG1ldGFkYXRhVGFi
bGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
OTkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSkgPSB0My5pNjQoKTsgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQxID0gKkNBU1Q8aW50MzJf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3Mwog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fOV9mbl9fb3BHZXRBcmd1bWVu
dE91dE9mQm91bmRzKQogICAgdDMgPSBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2OQogICAgdDEgPSAq
Q0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAxOCk7ICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDEuaTMyKCkgIT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21l
dGFkYXRhX185X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3Qq
PihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTU2KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJv
ZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fOV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQp
CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0MiA9ICh1
aW50MzJfdCkodDIuaTMyKCkgKiBpbnQzMl90KDB4MTgpKTsgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTcKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSArIHQyLmkz
MigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAg
dDEgPSB0MS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkp
ID0gdDMuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojc5CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNU
PGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQzLmk2NCgpOyAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NzMKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAog
ICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29w
Y29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfYXJndW1lbnRfY291bnQpCiAgICB0MCA9
ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjc0MAogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpIC0g
aW50MzJfdCgweDEpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3
NDEKICAgIHQwID0gdDAuaTY0KCkgfCBpbnQ2NF90KC01NjI5NDk5NTM0MjEzMTIpOyAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzQyCiAgICB0MiA9IHQwLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0g
dDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweDIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9hcmd1bWVu
dF9jb3VudF93aWRlMTYpCiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc0MAogICAgdDAg
PSAodWludDMyX3QpKHQwLmkzMigpIC0gaW50MzJfdCgweDEpKTsgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3NDEKICAgIHQwID0gdDAuaTY0KCkgfCBpbnQ2NF90KC01
NjI5NDk5NTM0MjEzMTIpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NzQyCiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpD
QVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9PUENPREVfTEFCRUwob3BfYXJndW1lbnRfY291bnRfd2lkZTMyKQogICAgdDAgPSAqQ0FTVDx1
aW50MzJfdCo+KGNmci5pOHAoKSArIDM2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo3NDAKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAtIGludDMyX3Qo
MHgxKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzQxCiAgICB0
MCA9IHQwLmk2NCgpIHwgaW50NjRfdCgtNTYyOTQ5OTUzNDIxMzEyKTsgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc0MgogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2MAogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9zY29wZSkKICAgIHQwID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAyNCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NzQ4CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkg
KyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc0OQog
ICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgyKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENP
REVfTEFCRUwob3BfZ2V0X3Njb3BlX3dpZGUxNikKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkgKyAyNCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NzQ4CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc0OQogICAgdDIgPSB0MC5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAz
KSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dl
dF9zY29wZV93aWRlMzIpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMjQp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc0OAogICAgdDAg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3NDkKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF90b190aGlzKQogICAgdDAgPSAoaW50NjRf
dCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIHQwID0gKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NzU2CiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDAp
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc1NwogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wVG9UaGlz
U2xvdzsKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0MC5pOHAoKSArIDUpICE9IGludDhfdCgweDE3
KSkgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzU4CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fb3BUb1RoaXNTbG93Owog
ICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3NTkKICAgIHQyID0gKkNBU1Q8dWludDE2X3Qq
PihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMjApOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzEwX21l
dGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRh
YmxlLmk4cCgpICsgMTYwKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbWV0YWRhdGFfXzEwX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQzID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNQogICAgdDMgPSAodWludDMyX3QpKHQz
LmkzMigpICogaW50MzJfdCgweDIwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk3CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKyB0My5pMzIoKSk7ICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQyID0gdDIuaSgp
ICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3NjEKICAgIGlm
ICh0MS5pMzIoKSAhPSB0Mi5pMzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzYyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fb3BUb1RoaXNTbG93OwogICAgcGMgPSBwYy5p
KCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wVG9UaGlzU2xvdykKICAg
IHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2lu
dGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3Bh
dGhfdG9fdGhpcyh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7
CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkg
LSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfdG9fdGhpc193aWRlMTYpCiAgICB0MCA9IChpbnQ2
NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQwID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NzU2CiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9
IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc1NwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTFfZm5fX29w
VG9UaGlzU2xvdzsKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0MC5pOHAoKSArIDUpICE9IGludDhf
dCgweDE3KSkgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzU4CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xMV9mbl9fb3BUb1Ro
aXNTbG93OwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3NTkKICAgIHQyID0gKkNBU1Q8
dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMjApOyAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRh
dGFfXzExX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPiht
ZXRhZGF0YVRhYmxlLmk4cCgpICsgMTYwKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzExX21ldGFkYXRhX19zZXRVcE9mZnNldCkK
ICAgIHQzID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQzID0gKHVp
bnQzMl90KSh0My5pMzIoKSAqIGludDMyX3QoMHgyMCkpOyAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICsgdDMuaTMy
KCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0
MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5p
OHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NzYxCiAgICBpZiAodDEuaTMyKCkgIT0gdDIuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc2MgogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTFfZm5fX29wVG9UaGlzU2xvdzsK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzExX2ZuX19v
cFRvVGhpc1Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gc2xvd19wYXRoX3RvX3RoaXModDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgK
ICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3RvX3RoaXNfd2lkZTMy
KQogICAgdDAgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICB0MCA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjc1NgogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2
NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3NTcK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzEy
X2ZuX19vcFRvVGhpc1Nsb3c7CiAgICBpZiAoKkNBU1Q8aW50OF90Kj4odDAuaThwKCkgKyA1KSAh
PSBpbnQ4X3QoMHgxNykpICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc1OAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTJfZm5f
X29wVG9UaGlzU2xvdzsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzU5CiAgICB0MiA9
ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDIwKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5Mwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X21ldGFkYXRhX18xMl9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQz
Ml90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDE2MCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18xMl9tZXRhZGF0YV9fc2V0VXBP
ZmZzZXQpCiAgICB0MyA9ICpDQVNUPHVpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0
MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgKiBpbnQzMl90KDB4MjApKTsgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAr
IHQzLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90
Kj4odDIuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjc2MQogICAgaWYgKHQxLmkzMigpICE9IHQyLmkzMigpKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3NjIKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzEyX2ZuX19vcFRvVGhp
c1Nsb3c7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18x
Ml9mbl9fb3BUb1RoaXNTbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAg
IHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0
YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF90b190aGlzKHQwLCB0MSk7CiAgICAgICAgZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9jaGVja190
ZHopCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQog
ICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfX2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fbG9hZF9fY29u
c3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDEgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NzYKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fbG9hZF9fZG9uZSkK
ICAgIGlmICh0MS5pNjQoKSAhPSBpbnQ2NF90KDB4MCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Nzc0CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19vcE5vdFREWjsKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfdGhyb3dfdGR6X2Vy
cm9yKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0K
ICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19vcE5vdFREWikKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHgyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfY2hlY2tfdGR6X3dpZGUxNikK
ICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAg
aWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzEyX2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTJfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTJfbG9h
ZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDEgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTJfbG9h
ZF9fZG9uZSkKICAgIGlmICh0MS5pNjQoKSAhPSBpbnQ2NF90KDB4MCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Nzc0CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fXzEyX2ZuX19vcE5vdFREWjsKICAgIHBj
ID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVy
KHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhf
dGhyb3dfdGR6X2Vycm9yKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAs
IHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBj
LmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fXzEyX2ZuX19vcE5vdFREWikKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfY2hl
Y2tfdGR6X3dpZGUzMikKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
NQogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzEzX2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTgKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
MTNfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAg
dDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQwID0gdDAuaSgpIC0gaW50cHRyX3Qo
MHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDg5CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xM19sb2FkX19kb25lKQogICAgaWYgKHQxLmk2NCgp
ICE9IGludDY0X3QoMHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo3NzQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fMTNfZm5fX29wTm90VERaOwogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBj
bG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1Bh
dGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF90aHJvd190ZHpfZXJyb3IodDAsIHQxKTsK
ICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fMTNfZm5fX29wTm90VERaKQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0
MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2Rl
TWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsK
Ck9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9tb3YpCiAgICB0MSA9IChpbnQ2NF90KSpDQVNU
PGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgw
eDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzE0X2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMTRfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTRfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4
cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NzYKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGlu
dHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMTRfbG9hZF9fZG9uZSkKICAgIHQyID0gdDIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAg
ICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX21vdl93aWRlMTYpCiAgICB0
MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0
MS5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNV9sb2FkX19jb25zdGFudDsKICAg
IHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE1X2xvYWRfX2RvbmU7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE1X2xvYWRf
X2NvbnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQyID0gKkNB
U1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSAr
ICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE1X2xvYWRfX2RvbmUpCiAgICB0MiA9IHQy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgp
IDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBj
ID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwo
b3BfbW92X3dpZGUzMikKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
NQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE2X2xvYWRfX2Nv
bnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAz
KSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTZfbG9hZF9f
ZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMTZfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4Nwog
ICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRy
X3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDg5CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0MS5pKCkgPDwg
MykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18xNl9sb2FkX19kb25lKQogICAgdDIgPSB0Mi5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MAogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25vdCkKICAgIHQwID0gKGludDY0X3QpKkNB
U1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4Mikp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDAuaSgpID49IGludHB0cl90
KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMTdfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18xN19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xN19sb2FkX19jb25zdGFudCkKICAgIHQy
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIu
aThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ3NgogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDAuaSgpIDw8IDMpICsg
aW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18xN19sb2FkX19kb25lKQogICAgdDIgPSB0Mi5pNjQoKSBeIGludDY0X3Qo
MHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo3OTIKICAgIGlmICgodDIuaTY0KCkgJiBpbnQ2NF90KC0yKSkgIT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkzCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19vcE5vdFNsb3c7CiAgICB0MiA9IHQyLmk2NCgpIF4gaW50NjRfdCgw
eDcpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojc5NAogICAgdDIgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkq
Q0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgx
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX29wTm90U2xvdykKICAgIHBjID0g
cGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNw
LnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfbm90
KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAg
IHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9ub3Rfd2lkZTE2KQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQx
Nl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4NDAp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMThfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18xOF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xOF9sb2FkX19jb25zdGFudCkKICAgIHQyID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkg
KyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4Mgog
ICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDAuaSgpIDw8IDMpICsgaW50cHRy
X3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18xOF9sb2FkX19kb25lKQogICAgdDIgPSB0Mi5pNjQoKSBeIGludDY0X3QoMHg2KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OTIK
ICAgIGlmICgodDIuaTY0KCkgJiBpbnQ2NF90KC0yKSkgIT0gMCkgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fXzE4X2ZuX19vcE5vdFNsb3c7CiAgICB0MiA9IHQyLmk2NCgpIF4gaW50NjRfdCgweDcp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5
NAogICAgdDIgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FT
VDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4Mikp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4
cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzE4X2ZuX19vcE5vdFNsb3cpCiAgICBwYyA9
IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihz
cC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX25v
dCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAg
ICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2Uu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9PUENPREVfTEFCRUwob3Bfbm90X3dpZGUzMikKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzE5X2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgK
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fMTlfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMTlfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ4NwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQwID0g
dDAuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5
MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xOV9sb2FkX19kb25lKQogICAgdDIgPSB0Mi5pNjQo
KSBeIGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo3OTIKICAgIGlmICgodDIuaTY0KCkgJiBpbnQ2NF90KC0yKSkgIT0gMCkg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkzCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzE5X2ZuX19vcE5vdFNsb3c7CiAgICB0MiA9IHQyLmk2
NCgpIF4gaW50NjRfdCgweDcpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjc5NAogICAgdDIgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAg
dDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzE5X2ZuX19vcE5vdFNsb3cp
CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNr
UG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xv
d19wYXRoX25vdCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7
CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkg
LSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZXFfbnVsbCkKICAgIHQwID0gKGludDY0X3QpKkNB
U1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4Mikp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjgyMwogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MjQKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2VxdWFsTnVsbENvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9faW1tZWRpYXRlOwogICAg
aWYgKCgqQ0FTVDxpbnQ4X3QqPih0MC5pOHAoKSArIDYpICYgaW50OF90KDB4MSkpICE9IDApICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MjUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Vx
dWFsTnVsbENvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbWFzcXVlcmFkZXNBc1VuZGVmaW5lZDsKICAg
IHQwID0gaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODI2CiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFs
TnVsbENvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4MjcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxOdWxsQ29t
cGFyaXNvbk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19tYXNxdWVyYWRlc0FzVW5kZWZpbmVkKQogICAgdDIgPSAqQ0FT
VDx1aW50MzJfdCo+KHQwLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2MTcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkg
KyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA2CiAg
ICB0MyA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwNwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQxLmk4cCgpICsgODApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MDgKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSA+PiAoaW50cHRyX3QoMHg3KSAm
IDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA5CiAgICB0MSA9ICpDQVNU
PGludHB0cl90Kj4odDEuaThwKCkgKyAyMjQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjYxMAogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsg
KHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTEKICAg
IHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMwKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0g
OCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMgogICAgdDIg
PSB0Mi5pKCkgXiB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTMKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODMwCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyA4KTsgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzMQogICAgdDAgPSAoKkNBU1Q8dWlu
dHB0cl90Kj4odDIuaThwKCkgKyAyNCkgPT0gdDAudSgpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4MzIKICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsQ29tcGFyaXNvbk9w
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzMwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbE51bGxDb21wYXJpc29uT3BfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ltbWVkaWF0ZSkKICAgIHQwID0gdDAuaTY0KCkgJiBpbnQ2NF90KC05KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODM1CiAgICB0MCA9
ICh0MC51NjQoKSA9PSB1aW50NjRfdCgweDIpKTsgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjgzNgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9lcXVhbE51bGxDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2RvbmUpCiAgICB0MCA9IHQw
Lmk2NCgpIHwgaW50NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjg0NAogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAog
ICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgz
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZXFfbnVsbF93aWRlMTYpCiAgICB0
MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQwID0g
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODIzCiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2su
aTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgy
NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsQ29tcGFyaXNvbk9wX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzE5
X2ZuX19pbW1lZGlhdGU7CiAgICBpZiAoKCpDQVNUPGludDhfdCo+KHQwLmk4cCgpICsgNikgJiBp
bnQ4X3QoMHgxKSkgIT0gMCkgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyNQogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsQ29tcGFyaXNvbk9wX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzE5X2ZuX19tYXNx
dWVyYWRlc0FzVW5kZWZpbmVkOwogICAgdDAgPSBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MjYKICAg
IGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsQ29tcGFyaXNvbk9wX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzE5X2ZuX19kb25l
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyNwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9lcXVhbE51bGxDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMTlfZm5fX21hc3F1ZXJh
ZGVzQXNVbmRlZmluZWQpCiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxNwogICAgdDEg
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDYKICAgIHQzID0gdDIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjA3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyA4MCk7ICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwOAogICAgdDMgPSAodWludDMyX3Qp
KHQzLmkzMigpID4+IChpbnRwdHJfdCgweDcpICYgMHgxZikpOyAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MDkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDIyNCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEwCiAgICB0MyA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYxMQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4
MzApICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjEyCiAgICB0MiA9IHQyLmkoKSBeIHQzLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMwog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MzAKICAgIHQwID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MC5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODMxCiAgICB0MCA9ICgqQ0FTVDx1aW50cHRyX3QqPih0Mi5pOHAoKSArIDI0KSA9PSB0
MC51KCkpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzMgogICAgZ290byBfb2Zm
bGluZWFzbV9lcXVhbE51bGxDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMTlfZm5fX2RvbmU7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODMzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2VxdWFsTnVsbENvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18xOV9mbl9faW1tZWRpYXRlKQogICAgdDAg
PSB0MC5pNjQoKSAmIGludDY0X3QoLTkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MzUKICAgIHQwID0gKHQwLnU2NCgpID09IHVpbnQ2NF90
KDB4MikpOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODM2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsTnVsbENvbXBh
cmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX18xOV9mbl9fZG9uZSkKICAgIHQwID0gdDAuaTY0KCkgfCBpbnQ2NF90KDB4
Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODQ0CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpD
QVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9PUENPREVfTEFCRUwob3BfZXFfbnVsbF93aWRlMzIpCiAgICB0MCA9ICpDQVNUPGludDMyX3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIzCiAg
ICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyNAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
ZXF1YWxOdWxsQ29tcGFyaXNvbk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzIwX2ZuX19pbW1lZGlhdGU7CiAgICBpZiAoKCpD
QVNUPGludDhfdCo+KHQwLmk4cCgpICsgNikgJiBpbnQ4X3QoMHgxKSkgIT0gMCkgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjgyNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxs
Q29tcGFyaXNvbk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fXzIwX2ZuX19tYXNxdWVyYWRlc0FzVW5kZWZpbmVkOwogICAgdDAg
PSBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MjYKICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxs
Q29tcGFyaXNvbk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fXzIwX2ZuX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjgyNwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbE51bGxDb21w
YXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fMjBfZm5fX21hc3F1ZXJhZGVzQXNVbmRlZmluZWQpCiAgICB0MiA9ICpD
QVNUPHVpbnQzMl90Kj4odDAuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYxNwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAo
KSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDYK
ICAgIHQzID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA3CiAgICB0MSA9ICpDQVNUPGludHB0cl90
Kj4odDEuaThwKCkgKyA4MCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjYwOAogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpID4+IChpbnRwdHJfdCgweDcp
ICYgMHgxZikpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDkKICAgIHQxID0gKkNB
U1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDIyNCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjEwCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkg
KyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMQog
ICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MzApICYgKChzaXplb2YodWludHB0cl90KSA9
PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEyCiAgICB0
MiA9IHQyLmkoKSBeIHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4MzAKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDgpOyAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMxCiAgICB0MCA9ICgqQ0FTVDx1
aW50cHRyX3QqPih0Mi5pOHAoKSArIDI0KSA9PSB0MC51KCkpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjgzMgogICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxDb21wYXJpc29u
T3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fMjBfZm5fX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMzCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsTnVsbENvbXBhcmlzb25PcF9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX18yMF9mbl9faW1tZWRpYXRlKQogICAgdDAgPSB0MC5pNjQoKSAmIGludDY0X3QoLTkpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MzUK
ICAgIHQwID0gKHQwLnU2NCgpID09IHVpbnQ2NF90KDB4MikpOyAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODM2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2VxdWFsTnVsbENvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18yMF9mbl9fZG9uZSkK
ICAgIHQwID0gdDAuaTY0KCkgfCBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODQ0CiAgICB0MiA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjYwCiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAg
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmVxX251bGwpCiAgICB0MCA9
IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgdDAgPSAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4MjMKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQo
KSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODI0CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxDb21wYXJpc29uT3BfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMjFfZm5f
X2ltbWVkaWF0ZTsKICAgIGlmICgoKkNBU1Q8aW50OF90Kj4odDAuaThwKCkgKyA2KSAmIGludDhf
dCgweDEpKSAhPSAwKSAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODI1CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9lcXVhbE51bGxDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMjFfZm5fX21hc3F1ZXJh
ZGVzQXNVbmRlZmluZWQ7CiAgICB0MCA9IGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyNgogICAgZ290
byBfb2ZmbGluZWFzbV9lcXVhbE51bGxDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMjFfZm5fX2RvbmU7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODI3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2VxdWFsTnVsbENvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18yMV9mbl9fbWFzcXVlcmFkZXNB
c1VuZGVmaW5lZCkKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjE3CiAgICB0MSA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYwNgogICAgdDMgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDcK
ICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA4CiAgICB0MyA9ICh1aW50MzJfdCkodDMu
aTMyKCkgPj4gKGludHB0cl90KDB4NykgJiAweDFmKSk7ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjYwOQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMjI0KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTAKICAgIHQzID0gKkNB
U1Q8aW50cHRyX3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjExCiAgICB0MiA9IHQyLmkoKSA8PCAoaW50cHRyX3QoMHgzMCkg
JiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2MTIKICAgIHQyID0gdDIuaSgpIF4gdDMuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEzCiAgICB0
MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzMAogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQw
Lmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4MzEKICAgIHQwID0gKCpDQVNUPHVpbnRwdHJfdCo+KHQyLmk4cCgpICsgMjQpID09IHQwLnUo
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMyCiAgICBnb3RvIF9vZmZsaW5l
YXNtX2VxdWFsTnVsbENvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18yMV9mbl9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo4MzMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
ZXF1YWxOdWxsQ29tcGFyaXNvbk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzIxX2ZuX19pbW1lZGlhdGUpCiAgICB0MCA9IHQw
Lmk2NCgpICYgaW50NjRfdCgtOSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjgzNQogICAgdDAgPSAodDAudTY0KCkgPT0gdWludDY0X3QoMHgy
KSk7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MzYK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxOdWxsQ29tcGFyaXNv
bk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fXzIxX2ZuX19kb25lKQogICAgdDAgPSB0MC5pNjQoKSBeIGludDY0X3QoMHg3KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NDgK
ICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BD
T0RFX0xBQkVMKG9wX25lcV9udWxsX3dpZGUxNikKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50
MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4
MjMKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODI0CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9lcXVhbE51bGxDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMjJfZm5fX2ltbWVkaWF0ZTsKICAgIGlm
ICgoKkNBU1Q8aW50OF90Kj4odDAuaThwKCkgKyA2KSAmIGludDhfdCgweDEpKSAhPSAwKSAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODI1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVh
bE51bGxDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMjJfZm5fX21hc3F1ZXJhZGVzQXNVbmRlZmluZWQ7CiAg
ICB0MCA9IGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyNgogICAgZ290byBfb2ZmbGluZWFzbV9lcXVh
bE51bGxDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMjJfZm5fX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODI3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsTnVs
bENvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX18yMl9mbl9fbWFzcXVlcmFkZXNBc1VuZGVmaW5lZCkKICAgIHQy
ID0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjE3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjYwNgogICAgdDMgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDcKICAgIHQxID0gKkNBU1Q8aW50
cHRyX3QqPih0MS5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjA4CiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgPj4gKGludHB0cl90
KDB4NykgJiAweDFmKSk7ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwOQogICAgdDEg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMjI0KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTAKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0MS5p
OHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjExCiAgICB0MiA9IHQyLmkoKSA8PCAoaW50cHRyX3QoMHgzMCkgJiAoKHNpemVvZih1aW50cHRy
X3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTIK
ICAgIHQyID0gdDIuaSgpIF4gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEzCiAgICB0MCA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjgzMAogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgOCk7ICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MzEKICAgIHQwID0gKCpD
QVNUPHVpbnRwdHJfdCo+KHQyLmk4cCgpICsgMjQpID09IHQwLnUoKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODMyCiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsTnVsbENvbXBh
cmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX18yMl9mbl9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MzMK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxOdWxsQ29tcGFyaXNv
bk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fXzIyX2ZuX19pbW1lZGlhdGUpCiAgICB0MCA9IHQwLmk2NCgpICYgaW50NjRfdCgt
OSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjgzNQogICAgdDAgPSAodDAudTY0KCkgPT0gdWludDY0X3QoMHgyKSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MzYKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxOdWxsQ29tcGFyaXNvbk9wX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzIyX2ZuX19k
b25lKQogICAgdDAgPSB0MC5pNjQoKSBeIGludDY0X3QoMHg3KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NDgKICAgIHQyID0gdDAuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykp
ID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5p
KCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9uZXFf
bnVsbF93aWRlMzIpCiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUK
ICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODIzCiAgICBpZiAoKHQwLmk2NCgpICYgbm90
Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjgyNAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsQ29tcGFyaXNvbk9w
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fXzIzX2ZuX19pbW1lZGlhdGU7CiAgICBpZiAoKCpDQVNUPGludDhfdCo+KHQwLmk4cCgp
ICsgNikgJiBpbnQ4X3QoMHgxKSkgIT0gMCkgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgy
NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsQ29tcGFyaXNvbk9wX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzIz
X2ZuX19tYXNxdWVyYWRlc0FzVW5kZWZpbmVkOwogICAgdDAgPSBpbnRwdHJfdCgweDApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4MjYKICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsQ29tcGFyaXNvbk9wX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzIz
X2ZuX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgyNwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbE51bGxDb21wYXJpc29uT3BfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMjNfZm5f
X21hc3F1ZXJhZGVzQXNVbmRlZmluZWQpCiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThw
KCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYx
NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDYKICAgIHQzID0gdDIuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NjA3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyA4MCk7ICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwOAogICAgdDMgPSAo
dWludDMyX3QpKHQzLmkzMigpID4+IChpbnRwdHJfdCgweDcpICYgMHgxZikpOyAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAo
KSArIDIyNCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEw
CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMQogICAgdDIgPSB0Mi5pKCkgPDwgKGlu
dHB0cl90KDB4MzApICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEyCiAgICB0MiA9IHQyLmkoKSBeIHQzLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjYxMwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MzAKICAgIHQwID0gKkNBU1Q8
aW50cHRyX3QqPih0MC5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODMxCiAgICB0MCA9ICgqQ0FTVDx1aW50cHRyX3QqPih0Mi5pOHAoKSAr
IDI0KSA9PSB0MC51KCkpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjgzMgogICAg
Z290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMjNfZm5fX2RvbmU7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODMzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2VxdWFsTnVsbENvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18yM19mbl9faW1tZWRpYXRl
KQogICAgdDAgPSB0MC5pNjQoKSAmIGludDY0X3QoLTkpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MzUKICAgIHQwID0gKHQwLnU2NCgpID09
IHVpbnQ2NF90KDB4MikpOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODM2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFs
TnVsbENvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX18yM19mbl9fZG9uZSkKICAgIHQwID0gdDAuaTY0KCkgXiBp
bnQ2NF90KDB4Nyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODQ4CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9ICpD
QVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9PUENPREVfTEFCRUwob3BfaXNfdW5kZWZpbmVkX29yX251bGwpCiAgICB0MSA9IChpbnQ2NF90
KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQxLmkoKSA+PSBpbnRw
dHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzIzX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjNfbG9hZF9fY29uc3RhbnQpCiAg
ICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0NzYKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAz
KSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMjNfbG9hZF9fZG9uZSkKICAgIHQwID0gdDAuaTY0KCkgJiBpbnQ2
NF90KC05KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODU0CiAgICB0MCA9ICh0MC51NjQoKSA9PSB1aW50NjRfdCgweDIpKTsgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg1NQogICAgdDAgPSB0MC5p
NjQoKSB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4NTYKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAg
IHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Myk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2lzX3VuZGVmaW5lZF9vcl9udWxsX3dp
ZGUxNikKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NwogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI0X2xvYWRfX2Nv
bnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAz
KSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjRfbG9hZF9f
ZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMjRfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+
KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjRfbG9hZF9fZG9uZSkK
ICAgIHQwID0gdDAuaTY0KCkgJiBpbnQ2NF90KC05KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODU0CiAgICB0MCA9ICh0MC51NjQoKSA9PSB1
aW50NjRfdCgweDIpKTsgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg1NQogICAgdDAgPSB0MC5pNjQoKSB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NTYKICAgIHQyID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkg
PDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF9pc191bmRlZmluZWRfb3JfbnVsbF93aWRlMzIpCiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkp
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18yNV9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4
CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzI1X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzI1X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODcKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MSA9
IHQxLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThw
KCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjVfbG9hZF9fZG9uZSkKICAgIHQwID0gdDAuaTY0
KCkgJiBpbnQ2NF90KC05KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODU0CiAgICB0MCA9ICh0MC51NjQoKSA9PSB1aW50NjRfdCgweDIpKTsg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg1NQogICAg
dDAgPSB0MC5pNjQoKSB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NTYKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9zdHJpY3RlcSkKICAgIHQwID0gKGlu
dDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MiA9IChpbnQ2NF90
KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQwLmkoKSA+PSBpbnRw
dHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxT3BfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI2X2xvYWRfX2NvbnN0YW50OwogICAg
dDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0
RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjZfbG9hZF9f
ZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMjZfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ3NQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQxID0gKkNB
U1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMjZfbG9hZF9fZG9uZSkKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHgxMCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX18yN19sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxT3BfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI3X2xvYWRfX2RvbmU7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX3N0cmljdEVxT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzI3X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAo
KSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUK
ICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3Qq
Pih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X3N0cmljdEVxT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI3
X2xvYWRfX2RvbmUpCiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4MwogICAgdDMgPSB0
MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4ODQKICAgIHQ1ID0gaW50cHRyX3QoMHgyMDAwMDAwMDAwMDAw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODg1
CiAgICB0MiA9IHQyLmk2NCgpICsgdDUuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4NgogICAgdDMgPSB0My5pNjQoKSArIHQ1
Lmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo4ODcKICAgIHQzID0gdDMuaTY0KCkgfCB0Mi5pNjQoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODg4CiAgICB0NSA9IHQ1
Lmk2NCgpIDw8IChpbnRwdHJfdCgweDEpICYgMHgzZik7ICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjg4OQogICAgaWYgKHQzLnU2NCgpID49IHQ1LnU2NCgpKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OTAK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxT3BfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX3Nsb3c7CiAgICB0
NSA9ICh0MC51NjQoKSA9PSB0MS51NjQoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5MgogICAgaWYgKCh0NS5pNjQoKSAmIHQ1Lmk2NCgp
KSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4OTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxT3BfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMjdfZm5fX2Rv
bmU7CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5NQogICAgdDIgPSB0Mi5pNjQoKSAm
IHQxLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4OTcKICAgIGlmICgodDIuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgPT0g
MCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODk4CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19zbG93OwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzI3X2ZuX19kb25lKQog
ICAgdDUgPSB0NS5pNjQoKSBeIGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MTIKICAgIHQyID0gdDUuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5p
NjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9z
dHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBj
bG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1Bh
dGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9zdHJpY3RlcSh0MCwgdDEpOwogICAgICAg
IGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0g
cGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAg
ICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bf
c3RyaWN0ZXFfd2lkZTE2KQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ3CiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDcKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18yOF9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxT3BfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzI4X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVx
T3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI4X2xvYWRfX2Nv
bnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQxID0gKkNBU1Q8
aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxT3BfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI4X2xvYWRfX2RvbmUpCiAg
ICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
c3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjlf
bG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIu
aSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290
byBfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18yOV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yOV9sb2FkX19jb25zdGFudCkKICAg
IHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4o
dDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMp
ICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yOV9sb2FkX19kb25lKQogICAgdDIgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4ODMKICAgIHQzID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODg0CiAg
ICB0NSA9IGludHB0cl90KDB4MjAwMDAwMDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4NQogICAgdDIgPSB0Mi5pNjQoKSArIHQ1Lmk2
NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo4ODYKICAgIHQzID0gdDMuaTY0KCkgKyB0NS5pNjQoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODg3CiAgICB0MyA9IHQzLmk2
NCgpIHwgdDIuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjg4OAogICAgdDUgPSB0NS5pNjQoKSA8PCAoaW50cHRyX3QoMHgxKSAm
IDB4M2YpOyAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4ODkKICAg
IGlmICh0My51NjQoKSA+PSB0NS51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9z
dHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fXzI5X2ZuX19zbG93OwogICAgdDUgPSAodDAudTY0KCkgPT0gdDEudTY0
KCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4OTIKICAgIGlmICgodDUuaTY0KCkgJiB0NS5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkzCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzI5X2ZuX19kb25lOwogICAgdDIgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4OTUKICAgIHQyID0gdDIuaTY0KCkgJiB0MS5pNjQoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODk3CiAgICBpZiAo
KHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjg5OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0
RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX18yOV9mbl9fc2xvdzsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX18yOV9mbl9fZG9uZSkKICAgIHQ1ID0gdDUuaTY0KCkgXiBp
bnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTEyCiAgICB0MiA9IHQ1LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChp
bnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxT3BfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMjlf
Zm5fX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3Vy
cmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gc2xvd19wYXRoX3N0cmljdGVxKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJl
c3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAg
ICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9zdHJpY3RlcV93aWRlMzIp
CiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQyID0gKkNB
U1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJf
dCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxT3BfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMwX2xvYWRfX2NvbnN0YW50OwogICAgdDEg
PSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0RXFP
cF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzBfbG9hZF9fZG9u
ZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMzBfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQwID0gdDAuaSgp
IC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMF9sb2FkX19kb25lKQogICAgaWYgKHQy
LmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVx
T3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMxX2xvYWRfX2Nv
bnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAz
KSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxp
bmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMzFfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzFfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgp
ICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgK
ICAgIHQyID0gdDIuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3Qq
Pih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RF
cU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMV9sb2FkX19k
b25lKQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4ODMKICAgIHQzID0gdDEuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODg0CiAgICB0NSA9IGludHB0cl90KDB4MjAwMDAwMDAwMDAwMCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4NQogICAgdDIg
PSB0Mi5pNjQoKSArIHQ1Lmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4ODYKICAgIHQzID0gdDMuaTY0KCkgKyB0NS5pNjQoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODg3CiAgICB0MyA9IHQzLmk2NCgpIHwgdDIuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4OAogICAgdDUgPSB0NS5pNjQoKSA8
PCAoaW50cHRyX3QoMHgxKSAmIDB4M2YpOyAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4ODkKICAgIGlmICh0My51NjQoKSA+PSB0NS51NjQoKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkwCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzMxX2ZuX19zbG93OwogICAgdDUgPSAo
dDAudTY0KCkgPT0gdDEudTY0KCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4OTIKICAgIGlmICgodDUuaTY0KCkgJiB0NS5pNjQoKSkgIT0g
MCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkz
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzMxX2ZuX19kb25lOwog
ICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OTUKICAgIHQyID0gdDIuaTY0KCkgJiB0MS5p
NjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODk3CiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpID09IDApICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5OAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18zMV9mbl9fc2xvdzsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18zMV9mbl9fZG9uZSkKICAg
IHQ1ID0gdDUuaTY0KCkgXiBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTEyCiAgICB0MiA9IHQ1LmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjYwCiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhl
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxT3Bf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fMzFfZm5fX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3N0cmljdGVxKHQwLCB0MSk7CiAgICAgICAgZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9uc3RyaWN0
ZXEpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQog
ICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlm
ICh0MC5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJp
Y3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMl9sb2Fk
X19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9v
ZmZsaW5lYXNtX3N0cmljdEVxT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzMyX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxT3BfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMyX2xvYWRfX2NvbnN0YW50KQogICAgdDEg
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5p
OHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDc2CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykgKyBp
bnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxT3BfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMyX2xvYWRfX2RvbmUpCiAgICBpZiAodDIuaSgpID49
IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0RXFPcF9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzNfbG9hZF9fY29uc3RhbnQ7
CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9z
dHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zM19s
b2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18zM19sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDc1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAg
PSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEy
OCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18zM19sb2FkX19kb25lKQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4ODMKICAgIHQzID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODg0CiAgICB0NSA9IGludHB0cl90
KDB4MjAwMDAwMDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjg4NQogICAgdDIgPSB0Mi5pNjQoKSArIHQ1Lmk2NCgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4ODYKICAgIHQz
ID0gdDMuaTY0KCkgKyB0NS5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODg3CiAgICB0MyA9IHQzLmk2NCgpIHwgdDIuaTY0KCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg4OAogICAgdDUgPSB0NS5pNjQoKSA8PCAoaW50cHRyX3QoMHgxKSAmIDB4M2YpOyAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4ODkKICAgIGlmICh0My51NjQoKSA+
PSB0NS51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODkwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
XzMzX2ZuX19zbG93OwogICAgdDUgPSAodDAudTY0KCkgPT0gdDEudTY0KCkpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OTIKICAgIGlmICgo
dDUuaTY0KCkgJiB0NS5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RF
cU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fXzMzX2ZuX19kb25lOwogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OTUK
ICAgIHQyID0gdDIuaTY0KCkgJiB0MS5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODk3CiAgICBpZiAoKHQyLmk2NCgpICYgbm90
Q2VsbE1hc2suaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg5OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18zM19m
bl9fc2xvdzsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXFP
cF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX18zM19mbl9fZG9uZSkKICAgIHQ1ID0gdDUuaTY0KCkgXiBpbnQ2NF90KDB4Nyk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTE2CiAg
ICB0MiA9IHQ1LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18zM19mbl9fc2xvdykKICAgIHBj
ID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVy
KHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhf
bnN0cmljdGVxKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsK
ICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAt
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9uc3RyaWN0ZXFfd2lkZTE2KQogICAgdDAgPSAoaW50
NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICB0MiA9IChpbnQ2NF90
KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0MC5pKCkgPj0gaW50
cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNF9sb2FkX19jb25zdGFudDsKICAg
IHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmlj
dEVxT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM0X2xvYWRf
X2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzM0X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODEKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MSA9ICpD
QVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX3N0cmljdEVxT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzM0X2xvYWRfX2RvbmUpCiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDAp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzVfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNU
PGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNV9sb2FkX19kb25lOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18zNV9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
KCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgx
CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90
Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18z
NV9sb2FkX19kb25lKQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4ODMKICAgIHQzID0g
dDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODg0CiAgICB0NSA9IGludHB0cl90KDB4MjAwMDAwMDAwMDAw
MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4
NQogICAgdDIgPSB0Mi5pNjQoKSArIHQ1Lmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4ODYKICAgIHQzID0gdDMuaTY0KCkgKyB0
NS5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODg3CiAgICB0MyA9IHQzLmk2NCgpIHwgdDIuaTY0KCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4OAogICAgdDUgPSB0
NS5pNjQoKSA8PCAoaW50cHRyX3QoMHgxKSAmIDB4M2YpOyAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4ODkKICAgIGlmICh0My51NjQoKSA+PSB0NS51NjQoKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODkw
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzM1X2ZuX19zbG93Owog
ICAgdDUgPSAodDAudTY0KCkgPT0gdDEudTY0KCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OTIKICAgIGlmICgodDUuaTY0KCkgJiB0NS5p
NjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzM1X2Zu
X19kb25lOwogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OTUKICAgIHQyID0gdDIuaTY0
KCkgJiB0MS5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODk3CiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkp
ID09IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5OAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18zNV9mbl9fc2xvdzsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18zNV9mbl9f
ZG9uZSkKICAgIHQ1ID0gdDUuaTY0KCkgXiBpbnQ2NF90KDB4Nyk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTE2CiAgICB0MiA9IHQ1LmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMp
KSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX3N0cmljdEVxT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMzVfZm5fX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0g
cGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
NwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAg
ICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX25zdHJpY3RlcSh0MCwg
dDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9
IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENP
REVfTEFCRUwob3BfbnN0cmljdGVxX3dpZGUzMikKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NQogICAgdDIgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU1CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMzZfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAog
ICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18zNl9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNl9sb2FkX19jb25zdGFu
dCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MSA9ICpDQVNUPGludHB0
cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ4OAogICAgdDAgPSB0MC5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQxID0g
KkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX3N0cmljdEVxT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzM2X2xvYWRfX2RvbmUpCiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDAp
KSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMzdfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zN19sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9zdHJpY3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18z
N19sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAx
Nik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0
MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDIgPSB0Mi5pKCkgLSBpbnRwdHJfdCgw
eDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzM3X2xvYWRfX2RvbmUpCiAgICB0MiA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg4MwogICAgdDMgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4ODQKICAgIHQ1ID0gaW50
cHRyX3QoMHgyMDAwMDAwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODg1CiAgICB0MiA9IHQyLmk2NCgpICsgdDUuaTY0KCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4Ngog
ICAgdDMgPSB0My5pNjQoKSArIHQ1Lmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4ODcKICAgIHQzID0gdDMuaTY0KCkgfCB0Mi5p
NjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODg4CiAgICB0NSA9IHQ1Lmk2NCgpIDw8IChpbnRwdHJfdCgweDEpICYgMHgzZik7ICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4OQogICAgaWYgKHQzLnU2
NCgpID49IHQ1LnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4OTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxT3Bf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fMzdfZm5fX3Nsb3c7CiAgICB0NSA9ICh0MC51NjQoKSA9PSB0MS51NjQoKSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg5MgogICAg
aWYgKCh0NS5pNjQoKSAmIHQ1Lmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0
cmljdEVxT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fMzdfZm5fX2RvbmU7CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg5NQogICAgdDIgPSB0Mi5pNjQoKSAmIHQxLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OTcKICAgIGlmICgodDIuaTY0KCkg
JiBub3RDZWxsTWFzay5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODk4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcU9wX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
XzM3X2ZuX19zbG93OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJp
Y3RFcU9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fXzM3X2ZuX19kb25lKQogICAgdDUgPSB0NS5pNjQoKSBeIGludDY0X3QoMHg3
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
MTYKICAgIHQyID0gdDUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2Mgog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXFPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18zN19mbl9fc2xvdykKICAgIHBjID0g
cGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNw
LnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfbnN0
cmljdGVxKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAg
IH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJ
TkVfQVNNX09QQ09ERV9MQUJFTChvcF9qc3RyaWN0ZXEpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNU
PGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgdDMgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHgxMCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzhfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNU
PGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
aW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzhfbG9hZF9fZG9uZTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fc3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzM4X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0
X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18zOF9sb2FkX19kb25lKQogICAgaWYgKHQzLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18zOV9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zOV9sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
MzlfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAg
dDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQx
Lmk4cCgpICsgKHQzLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc3Ry
aWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM5X2xv
YWRfX2RvbmUpCiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkzOQogICAgdDMgPSB0MS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5NDAKICAgIHQ1ID0gaW50cHRyX3QoMHgyMDAwMDAwMDAwMDAwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQxCiAg
ICB0MiA9IHQyLmk2NCgpICsgdDUuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0MgogICAgdDMgPSB0My5pNjQoKSArIHQ1Lmk2
NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5NDMKICAgIHQzID0gdDMuaTY0KCkgfCB0Mi5pNjQoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQ0CiAgICB0NSA9IHQ1Lmk2
NCgpIDw8IChpbnRwdHJfdCgweDEpICYgMHgzZik7ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjk0NQogICAgaWYgKHQzLnU2NCgpID49IHQ1LnU2NCgpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NDYKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19zbG93OwogICAgaWYg
KHQwLmk2NCgpID09IHQxLmk2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmlj
dEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbXBsX19lcXVhbDsKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUw
CiAgICB0MiA9IHQyLmk2NCgpICYgdDEuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1MgogICAgaWYgKCh0Mi5pNjQoKSAmIG5v
dENlbGxNYXNrLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5NTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBs
X19zbG93OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2VxdWFsKQog
ICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlm
ICh0MC5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0
RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2ltcGxfX2p1bXBJZkVxdWFsX19qdW1wX19qdW1wSW1wbF9fb3V0T2ZMaW5lSnVt
cFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wSWZF
cXVhbF9fanVtcF9fanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmko
KSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAg
IHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgp
KTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291
dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBw
YyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19zbG93KQogICAgcGMgPSBwYy5p
KCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAg
ICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAo
KSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9q
c3RyaWN0ZXEodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwog
ICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0g
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qc3RyaWN0
ZXFfd2lkZTE2KQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ3CiAgICB0MyA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDcKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fNDBfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQog
ICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fNDBfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXF1YWxp
dHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQwX2xvYWRfX2NvbnN0
YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQwID0gKkNBU1Q8aW50
cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDgyCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5p
KCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgz
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180MF9sb2FkX19kb25lKQogICAg
aWYgKHQzLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0
cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180MV9s
b2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX180MV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBP
cF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1w
bF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDFfbG9hZF9fY29uc3RhbnQpCiAg
ICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQzLmkoKSA8PCAz
KSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQxX2xvYWRfX2RvbmUpCiAgICB0MiA9IHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjkzOQogICAgdDMgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NDAK
ICAgIHQ1ID0gaW50cHRyX3QoMHgyMDAwMDAwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQxCiAgICB0MiA9IHQyLmk2NCgpICsgdDUu
aTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjk0MgogICAgdDMgPSB0My5pNjQoKSArIHQ1Lmk2NCgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NDMKICAgIHQzID0gdDMu
aTY0KCkgfCB0Mi5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTQ0CiAgICB0NSA9IHQ1Lmk2NCgpIDw8IChpbnRwdHJfdCgweDEp
ICYgMHgzZik7ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0NQog
ICAgaWYgKHQzLnU2NCgpID49IHQ1LnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NDYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX180MV9pbXBsX19zbG93OwogICAgaWYgKHQwLmk2NCgpID09IHQxLmk2
NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo5NDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MV9pbXBs
X19lcXVhbDsKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUwCiAgICB0MiA9IHQyLmk2
NCgpICYgdDEuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjk1MgogICAgaWYgKCh0Mi5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgp
KSA9PSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NTMKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MV9pbXBsX19zbG93OwogICAg
cGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fc3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQxX2ltcGxfX2VxdWFsKQogICAgdDAgPSAo
aW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDAuaTMy
KCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo0MDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19pbXBsX19qdW1wSWZFcXVhbF9fanVtcF9fNDFfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJn
ZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcElmRXF1YWxf
X2p1bXBfXzQxX2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0KQogICAgcGMgPSBwYy5pKCkg
KyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0
MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7
CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9vdXRf
b2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMg
PSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDFfaW1wbF9fc2xvdykKICAgIHBjID0gcGMu
aSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAog
ICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZw
KCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhf
anN0cmljdGVxKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsK
ICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAt
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfanN0cmlj
dGVxX3dpZGUzMikKICAgIHQyID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQog
ICAgdDMgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDIuaSgp
ID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0RXF1YWxp
dHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQyX2xvYWRfX2NvbnN0
YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVh
c21fc3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzQyX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX180Ml9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkg
KyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAog
ICAgdDIgPSB0Mi5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+
KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVx
dWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180Ml9sb2FkX19k
b25lKQogICAgaWYgKHQzLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX180M19sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4
CiAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX180M19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RFcXVh
bGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDNfbG9hZF9fY29u
c3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODgKICAgIHQzID0gdDMuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0
MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fNDNfbG9hZF9fZG9uZSkKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTM5
CiAgICB0MyA9IHQxLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0MAogICAgdDUgPSBpbnRwdHJfdCgweDIw
MDAwMDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5NDEKICAgIHQyID0gdDIuaTY0KCkgKyB0NS5pNjQoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQyCiAgICB0MyA9IHQz
Lmk2NCgpICsgdDUuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjk0MwogICAgdDMgPSB0My5pNjQoKSB8IHQyLmk2NCgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NDQK
ICAgIHQ1ID0gdDUuaTY0KCkgPDwgKGludHB0cl90KDB4MSkgJiAweDNmKTsgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQ1CiAgICBpZiAodDMudTY0KCkgPj0gdDUu
dTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjk0NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0RXF1YWxpdHlKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQzX2lt
cGxfX3Nsb3c7CiAgICBpZiAodDAuaTY0KCkgPT0gdDEuaTY0KCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0OAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fc3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQzX2ltcGxfX2VxdWFsOwogICAgdDIgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo5NTAKICAgIHQyID0gdDIuaTY0KCkgJiB0MS5pNjQoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTUyCiAg
ICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpID09IDApICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
c3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzQzX2ltcGxfX3Nsb3c7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RF
cXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fNDNfaW1wbF9fZXF1YWwpCiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTUKICAgIGlmICh0MC5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQwMwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fc3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBJZkVxdWFsX19qdW1wX180M19q
dW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgdDAuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVx
dWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19qdW1wSWZFcXVhbF9fanVtcF9fNDNfanVtcEltcGxfX291dE9mTGluZUp1
bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3Vy
cmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7CiAg
ICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180
M19pbXBsX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNl
dEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qc3RyaWN0ZXEodDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF9qbnN0cmljdGVxKQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIHQzID0gKGludDY0X3QpKkNBU1Q8aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4MTApKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzQ0X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0RXF1YWxpdHlKdW1w
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2lt
cGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ0X2xvYWRfX2RvbmU7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX180NF9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
KCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1
CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90
Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
NDRfbG9hZF9fZG9uZSkKICAgIGlmICh0My5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fNDVfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDVfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
c3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ1
X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQx
ID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5p
OHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmlj
dEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NV9sb2Fk
X19kb25lKQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MzkKICAgIHQzID0gdDEuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206OTQwCiAgICB0NSA9IGludHB0cl90KDB4MjAwMDAwMDAwMDAwMCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0MQogICAg
dDIgPSB0Mi5pNjQoKSArIHQ1Lmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NDIKICAgIHQzID0gdDMuaTY0KCkgKyB0NS5pNjQo
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206OTQzCiAgICB0MyA9IHQzLmk2NCgpIHwgdDIuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0NAogICAgdDUgPSB0NS5pNjQo
KSA8PCAoaW50cHRyX3QoMHgxKSAmIDB4M2YpOyAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo5NDUKICAgIGlmICh0My51NjQoKSA+PSB0NS51NjQoKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQ2CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDVfaW1wbF9fc2xvdzsKICAgIGlm
ICh0MC5pNjQoKSA9PSB0MS5pNjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQ4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJp
Y3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fNDVfaW1wbF9fZXF1YWw7CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojk1MAogICAgdDIgPSB0Mi5pNjQoKSAmIHQxLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NTIKICAgIGlmICgodDIuaTY0KCkg
JiBub3RDZWxsTWFzay5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206OTUzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
NDVfaW1wbF9fc2xvdzsKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM5CiAgICBpZiAodDAuaTMyKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo0MDMKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wSWZOb3RFcXVhbF9fanVtcF9fNDVf
anVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RF
cXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9faW1wbF9fanVtcElmTm90RXF1YWxfX2p1bXBfXzQ1X2p1bXBJbXBsX19vdXRPZkxp
bmVKdW1wVGFyZ2V0KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNl
dEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9vdXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEp
OwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0
eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fNDVfaW1wbF9fZXF1YWwpCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQw
ID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVN
YXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBP
cF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDVf
aW1wbF9fc2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNm
ci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUK
ICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRD
dXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSBy
ZXN1bHQgPSBsbGludF9zbG93X3BhdGhfam5zdHJpY3RlcSh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX2puc3RyaWN0ZXFfd2lkZTE2KQogICAgdDIgPSAoaW50NjRfdCkq
Q0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4
MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICB0MyA9IChpbnQ2NF90KSpDQVNU
PGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3Qo
MHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDZfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcXVh
bGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDZfbG9hZF9fZG9u
ZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fc3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzQ2X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODEKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MCA9ICpDQVNU
PGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX180Nl9sb2FkX19kb25lKQogICAgaWYgKHQzLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX180N19sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180N19sb2FkX19kb25lOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fNDdfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
MQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRf
dCo+KHQxLmk4cCgpICsgKHQzLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fc3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzQ3X2xvYWRfX2RvbmUpCiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjkzOQogICAgdDMg
PSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NDAKICAgIHQ1ID0gaW50cHRyX3QoMHgyMDAwMDAwMDAw
MDAwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTQxCiAgICB0MiA9IHQyLmk2NCgpICsgdDUuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0MgogICAgdDMgPSB0My5pNjQoKSAr
IHQ1Lmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo5NDMKICAgIHQzID0gdDMuaTY0KCkgfCB0Mi5pNjQoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQ0CiAgICB0NSA9
IHQ1Lmk2NCgpIDw8IChpbnRwdHJfdCgweDEpICYgMHgzZik7ICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjk0NQogICAgaWYgKHQzLnU2NCgpID49IHQ1LnU2NCgpKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5
NDYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180N19pbXBsX19zbG93
OwogICAgaWYgKHQwLmk2NCgpID09IHQxLmk2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NDgKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX180N19pbXBsX19lcXVhbDsKICAgIHQyID0gdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTUwCiAgICB0MiA9IHQyLmk2NCgpICYgdDEuaTY0KCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1MgogICAgaWYgKCh0
Mi5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5NTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVx
dWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX180N19pbXBsX19zbG93OwogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDAuaTMyKCkgPT0gMCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo0MDMKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wSWZOb3RFcXVhbF9f
anVtcF9fNDdfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSAr
IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcElmTm90RXF1YWxfX2p1bXBfXzQ3X2p1bXBJbXBs
X19vdXRPZkxpbmVKdW1wVGFyZ2V0KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQK
ICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9v
cFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhS
ZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9vdXRfb2ZfbGluZV9qdW1wX3Rhcmdl
dCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAg
ICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2Uu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJp
Y3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fNDdfaW1wbF9fZXF1YWwpCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4
OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkp
OyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigm
Z19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zdHJpY3RFcXVh
bGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fNDdfaW1wbF9fc2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAg
ICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BT
dGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0
dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfam5zdHJpY3RlcSh0MCwgdDEpOwogICAg
ICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQw
ID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVN
YXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
T0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2puc3RyaWN0ZXFfd2lkZTMyKQogICAgdDIgPSAq
Q0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4
MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICB0MyA9ICpDQVNUPGludDMyX3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAw
MCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDhfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBP
cF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1w
bF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDhfbG9hZF9fZG9uZTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fc3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzQ4X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAo
KSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcK
ICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MiA9IHQyLmkoKSAtIGludHB0
cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4OQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8
IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ4X2xvYWRfX2RvbmUpCiAgICBpZiAodDMuaSgpID49
IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fc3RyaWN0RXF1YWxpdHlK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ5X2xvYWRfX2NvbnN0YW50
OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21f
c3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ5
X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX180OV9sb2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8
aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAx
NDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAg
dDMgPSB0My5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQx
Lmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3N0cmljdEVxdWFs
aXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180OV9sb2FkX19kb25l
KQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5MzkKICAgIHQzID0gdDEuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTQwCiAgICB0NSA9IGludHB0cl90KDB4MjAwMDAwMDAwMDAwMCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0MQogICAgdDIgPSB0
Mi5pNjQoKSArIHQ1Lmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5NDIKICAgIHQzID0gdDMuaTY0KCkgKyB0NS5pNjQoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQz
CiAgICB0MyA9IHQzLmk2NCgpIHwgdDIuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk0NAogICAgdDUgPSB0NS5pNjQoKSA8PCAo
aW50cHRyX3QoMHgxKSAmIDB4M2YpOyAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5NDUKICAgIGlmICh0My51NjQoKSA+PSB0NS51NjQoKSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTQ2CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDlfaW1wbF9fc2xvdzsKICAgIGlmICh0MC5p
NjQoKSA9PSB0MS5pNjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTQ4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcXVh
bGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fNDlfaW1wbF9fZXF1YWw7CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk1MAog
ICAgdDIgPSB0Mi5pNjQoKSAmIHQxLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NTIKICAgIGlmICgodDIuaTY0KCkgJiBub3RD
ZWxsTWFzay5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206OTUzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJpY3RFcXVhbGl0eUp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDlfaW1w
bF9fc2xvdzsKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAg
aWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zdHJp
Y3RFcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9faW1wbF9fanVtcElmTm90RXF1YWxfX2p1bXBfXzQ5X2p1bXBJbXBsX19vdXRP
ZkxpbmVKdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXF1YWxpdHlKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxf
X2p1bXBJZk5vdEVxdWFsX19qdW1wX180OV9qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldCkK
ICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQ
b2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGlu
dF9zbG93X3BhdGhfb3V0X29mX2xpbmVfanVtcF90YXJnZXQodDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5X2ltcGxfX2Vx
dWFsKQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc3RyaWN0RXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5X2ltcGxfX3Nsb3cpCiAg
ICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRf
c2xvd19wYXRoX2puc3RyaWN0ZXEodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0
LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBj
ID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJF
TChvcF90b19udW1iZXIpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozOQogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX181MF9sb2FkX19jb25zdGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MF9sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19t
YWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fNTBfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQog
ICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+
KHQyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFr
ZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzUwX2xvYWRfX2RvbmUpCiAgICBpZiAodDIudTY0KCkgPj0gbnVtYmVyVGFnLnU2NCgpKSAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwMDMKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19vcFRvTnVtYmVySXNJ
bW1lZGlhdGU7CiAgICBpZiAoKHQyLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwMDQKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19vcFRvTnVtYmVyU2xvdzsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9f
Zm5fX29wVG9OdW1iZXJJc0ltbWVkaWF0ZSkKICAgIHQzID0gdDIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjkKICAgIHQxID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNTYpOyAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQxLmkzMigpICE9IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19m
bl9fcmV0dXJuX19tZXRhZGF0YV9fNTBfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDEgPSAq
Q0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAyMzIpOyAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX181MF9tZXRhZGF0
YV9fc2V0VXBPZmZzZXQpCiAgICB0MiA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzUKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAqIGludDMyX3QoMHgxOCkpOyAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDEgPSAodWludDMyX3QpKHQx
LmkzMigpICsgdDIuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk4CiAgICB0MSA9IHQxLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0
X3QqPih0MS5pOHAoKSkgPSB0My5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAz
KSkgPSB0My5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjczCiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fb3BUb051bWJlclNsb3cpCiAgICBwYyA9
IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihz
cC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3Rv
X251bWJlcih0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAg
ICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAq
Q0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZM
SU5FX0FTTV9PUENPREVfTEFCRUwob3BfdG9fbnVtYmVyX3dpZGUxNikKICAgIHQwID0gKGludDY0
X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQwLmkoKSA+PSBp
bnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmls
ZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9f
Zm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MV9sb2FkX19jb25zdGFu
dDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21h
a2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X181MV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTFfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4
cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODIKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGlu
dHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUxX2xvYWRfX2RvbmUpCiAgICBpZiAodDIudTY0
KCkgPj0gbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEwMDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
UHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9m
aWxlZF9fZm5fXzUxX2ZuX19vcFRvTnVtYmVySXNJbW1lZGlhdGU7CiAgICBpZiAoKHQyLmk2NCgp
ICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEwMDQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJv
ZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxl
ZF9fZm5fXzUxX2ZuX19vcFRvTnVtYmVyU2xvdzsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fNTFfZm5fX29wVG9OdW1iZXJJc0ltbWVk
aWF0ZSkKICAgIHQzID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjkKICAgIHQxID0gKkNBU1Q8dWlu
dDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNTYpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5MgogICAgaWYgKHQxLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9f
NTFfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFk
YXRhVGFibGUuaThwKCkgKyAyMzIpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmls
ZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9f
Zm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX181MV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0
MiA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0MiA9ICh1aW50MzJf
dCkodDIuaTMyKCkgKiBpbnQzMl90KDB4MTgpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTcKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSArIHQyLmkzMigpKTsg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDEgPSB0
MS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkpID0gdDMu
aTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAg
ICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQzLmk2NCgpOyAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzMKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
UHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9m
aWxlZF9fZm5fXzUxX2ZuX19vcFRvTnVtYmVyU2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAg
ICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAg
IFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfdG9fbnVtYmVyKHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF90b19udW1iZXJfd2lkZTMyKQogICAgdDAgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjU1CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzUyX2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUyX2xvYWRfX2RvbmU7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX181Ml9sb2FkX19jb25zdGFudCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
KCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3
CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDAgPSB0MC5pKCkgLSBpbnRw
dHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODkKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181Ml9sb2FkX19kb25lKQogICAgaWYgKHQyLnU2
NCgpID49IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0
aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJv
ZmlsZWRfX2ZuX181Ml9mbl9fb3BUb051bWJlcklzSW1tZWRpYXRlOwogICAgaWYgKCh0Mi5pNjQo
KSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMDA0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFBy
b2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmls
ZWRfX2ZuX181Ml9mbl9fb3BUb051bWJlclNsb3c7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fXzUyX2ZuX19vcFRvTnVtYmVySXNJbW1l
ZGlhdGUpCiAgICB0MyA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjY5CiAgICB0MSA9ICpDQVNUPHVp
bnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDU2KTsgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTIKICAgIGlmICh0MS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFf
XzUyX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihtZXRh
ZGF0YVRhYmxlLmk4cCgpICsgMjMyKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2Zp
bGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRf
X2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fNTJfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAg
dDIgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MQogICAgdDIgPSAodWludDMy
X3QpKHQyLmkzMigpICogaW50MzJfdCgweDE4KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzk3CiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKyB0Mi5pMzIoKSk7
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQxID0g
dDEuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpKSA9IHQz
Lmk2NCgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQog
ICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0My5pNjQoKTsgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjczCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQw
ID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVN
YXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2Zu
X181Ml9mbl9fb3BUb051bWJlclNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNs
b29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3RvX251bWJlcih0MCwgdDEpOwogICAgICAg
IGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0g
cGMuaSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAg
ICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bf
dG9fbnVtZXJpYykKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM5CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzUzX2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUzX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VS
ZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181
M19sb2FkX19jb25zdGFudCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAx
Nik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0
MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIu
aThwKCkgKyAodDAuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0
dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTNf
bG9hZF9fZG9uZSkKICAgIGlmICh0Mi51NjQoKSA+PSBudW1iZXJUYWcudTY0KCkpICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTAxNgogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX29wVG9OdW1lcmljSXNJbW1l
ZGlhdGU7CiAgICBpZiAoKHQyLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwMTcKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19vcFRvTnVtZXJpY1Nsb3c7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2Zu
X19vcFRvTnVtZXJpY0lzSW1tZWRpYXRlKQogICAgdDMgPSB0Mi5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
OQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA1OCk7ICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDEuaTMyKCkgIT0gMCkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2Zu
X19yZXR1cm5fX21ldGFkYXRhX181M19tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MSA9ICpD
QVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDIzNik7ICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzUzX21ldGFkYXRh
X19zZXRVcE9mZnNldCkKICAgIHQyID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NQogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICogaW50MzJfdCgweDE4KSk7ICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MSA9ICh1aW50MzJfdCkodDEu
aTMyKCkgKyB0Mi5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTgKICAgIHQxID0gdDEuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50NjRf
dCo+KHQxLmk4cCgpKSA9IHQzLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo3OQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMp
KSA9IHQzLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzMKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19vcFRvTnVtZXJpY1Nsb3cpCiAgICBwYyA9
IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihz
cC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3Rv
X251bWVyaWModDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwog
ICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0g
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3RvX251bWVyaWNfd2lkZTE2KQogICAgdDAgPSAoaW50
NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDAuaSgpID49
IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9m
aWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVk
X19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU0X2xvYWRfX2NvbnN0
YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzU0X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181NF9sb2FkX19jb25zdGFudCkKICAgIHQy
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIu
aThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4MgogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDAuaSgpIDw8IDMpICsg
aW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTRfbG9hZF9fZG9uZSkKICAgIGlmICh0Mi51
NjQoKSA+PSBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTAxNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblBy
b2ZpbGVkX19mbl9fNTRfZm5fX29wVG9OdW1lcmljSXNJbW1lZGlhdGU7CiAgICBpZiAoKHQyLmk2
NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEwMTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
UHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9m
aWxlZF9fZm5fXzU0X2ZuX19vcFRvTnVtZXJpY1Nsb3c7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fXzU0X2ZuX19vcFRvTnVtZXJpY0lz
SW1tZWRpYXRlKQogICAgdDMgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2OQogICAgdDEgPSAqQ0FT
VDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA1OCk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDEuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFk
YXRhX181NF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4o
bWV0YWRhdGFUYWJsZS5pOHAoKSArIDIzNik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQ
cm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2Zp
bGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzU0X21ldGFkYXRhX19zZXRVcE9mZnNldCkK
ICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQyID0gKHVp
bnQzMl90KSh0Mi5pMzIoKSAqIGludDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICsgdDIuaTMy
KCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0
MSA9IHQxLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSkg
PSB0My5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NzkKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0Nwog
ICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVy
blByb2ZpbGVkX19mbl9fNTRfZm5fX29wVG9OdW1lcmljU2xvdykKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfdG9fbnVtZXJpYyh0
MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBw
YyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9P
UENPREVfTEFCRUwob3BfdG9fbnVtZXJpY193aWRlMzIpCiAgICB0MCA9ICpDQVNUPGludDMyX3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAw
MCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTVfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNU
PGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2Zp
bGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRf
X2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTVfbG9hZF9fZG9uZTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzU1X2xvYWRfX2NvbnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODcKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MCA9IHQwLmko
KSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU1X2xvYWRfX2RvbmUpCiAgICBp
ZiAodDIudTY0KCkgPj0gbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwMTYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VS
ZXR1cm5Qcm9maWxlZF9fZm5fXzU1X2ZuX19vcFRvTnVtZXJpY0lzSW1tZWRpYXRlOwogICAgaWYg
KCh0Mi5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0
dXJuUHJvZmlsZWRfX2ZuX181NV9mbl9fb3BUb051bWVyaWNTbG93OwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX181NV9mbl9fb3BUb051
bWVyaWNJc0ltbWVkaWF0ZSkKICAgIHQzID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjkKICAgIHQx
ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNTgpOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQxLmkzMigpICE9IDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzkz
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJu
X19tZXRhZGF0YV9fNTVfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDEgPSAqQ0FTVDx1aW50
MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAyMzYpOyAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1
cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX181NV9tZXRhZGF0YV9fc2V0VXBP
ZmZzZXQpCiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0
MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKiBpbnQzMl90KDB4MTgpKTsgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSAr
IHQyLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
OAogICAgdDEgPSB0MS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDEu
aThwKCkpID0gdDMuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjc5CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAg
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQzLmk2NCgpOyAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzMKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Q
cm9maWxlZF9fZm5fXzU1X2ZuX19vcFRvTnVtZXJpY1Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0g
cGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
NwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAg
ICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3RvX251bWVyaWModDAs
IHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMg
PSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BD
T0RFX0xBQkVMKG9wX3RvX3N0cmluZykKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4MTApKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fNTZfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
MAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX181Nl9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX181Nl9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDc1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAg
PSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEy
OCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X181Nl9sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAh
PSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDMwCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19vcFRvU3RyaW5nU2xvdzsKICAgIGlmICgqQ0FT
VDxpbnQ4X3QqPih0MC5pOHAoKSArIDUpICE9IGludDhfdCgweDEpKSAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTAzMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
b3BUb1N0cmluZ1Nsb3c7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX29wVG9TdHJpbmdJc1N0cmluZykKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAg
ICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19vcFRvU3RyaW5nU2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0
MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFj
ay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJu
VHlwZSByZXN1bHQgPSBzbG93X3BhdGhfdG9fc3RyaW5nKHQwLCB0MSk7CiAgICAgICAgZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF90b19zdHJp
bmdfd2lkZTE2KQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ3CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTdfbG9h
ZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgp
IDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181N19s
b2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX181N19sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2
NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181N19sb2FkX19k
b25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDMwCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fXzU3X2ZuX19vcFRvU3RyaW5nU2xvdzsKICAgIGlmICgqQ0FTVDxpbnQ4X3Qq
Pih0MC5pOHAoKSArIDUpICE9IGludDhfdCgweDEpKSAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTAzMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX181N19mbl9fb3BUb1N0
cmluZ1Nsb3c7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fNTdf
Zm5fX29wVG9TdHJpbmdJc1N0cmluZykKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAK
ICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAg
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgw
eDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX181N19m
bl9fb3BUb1N0cmluZ1Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3RvX3N0cmluZyh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfdG9fc3Ry
aW5nX3dpZGUzMikKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQog
ICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU4X2xvYWRfX2NvbnN0
YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNThfbG9hZF9fZG9u
ZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
NThfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAg
dDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3Qo
MHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykp
OyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX181OF9sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2
NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDMw
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzU4X2ZuX19vcFRvU3RyaW5nU2xvdzsKICAg
IGlmICgqQ0FTVDxpbnQ4X3QqPih0MC5pOHAoKSArIDUpICE9IGludDhfdCgweDEpKSAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTAzMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX181OF9mbl9fb3BUb1N0cmluZ1Nsb3c7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fNThfZm5fX29wVG9TdHJpbmdJc1N0cmluZykKICAgIHQyID0gdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIu
aTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX181OF9mbl9fb3BUb1N0cmluZ1Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAg
IGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93
UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3RvX3N0cmluZyh0MCwgdDEpOwogICAg
ICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBj
ID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwo
b3BfdG9fb2JqZWN0KQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzkKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fNTlfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTlfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFr
ZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzU5X2xvYWRfX2NvbnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAr
IDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAg
IHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0
Mi5pOHAoKSArICh0MC5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VS
ZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181
OV9sb2FkX19kb25lKQogICAgaWYgKCh0Mi5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAw
KSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDQ0CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fb3BUb09iamVjdFNsb3c7
CiAgICBpZiAoKkNBU1Q8dWludDhfdCo+KHQyLmk4cCgpICsgNSkgPCB1aW50OF90KDB4MTYpKSAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNDUKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19vcFRvT2JqZWN0U2xvdzsKICAgIHQzID0gdDIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjkKICAgIHQxID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRh
YmxlLmk4cCgpICsgNTQpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAg
aWYgKHQxLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0
dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fNTlfbWV0YWRhdGFfX3NldFVw
T2Zmc2V0OwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAy
MjgpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21l
dGFkYXRhX181OV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MiA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzUKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAqIGludDMy
X3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAg
dDEgPSAodWludDMyX3QpKHQxLmkzMigpICsgdDIuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MSA9IHQxLmkoKSArIG1ldGFkYXRhVGFi
bGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
OTkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSkgPSB0My5pNjQoKTsgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQxID0gKGludDY0X3QpKkNB
U1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4
cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0My5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjczCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fb3BUb09i
amVjdFNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3Vy
cmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gc2xvd19wYXRoX3RvX29iamVjdCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChy
ZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAog
ICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfdG9fb2JqZWN0X3dpZGUx
NikKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0Nwog
ICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21h
a2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X182MF9sb2FkX19jb25zdGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX182MF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJv
ZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNjBfbG9hZF9f
Y29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDIgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQ
cm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2Zp
bGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzYwX2xvYWRfX2Rv
bmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNDQKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fXzYwX2ZuX19vcFRvT2JqZWN0U2xvdzsKICAgIGlm
ICgqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyA1KSA8IHVpbnQ4X3QoMHgxNikpICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA0NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJl
dHVyblByb2ZpbGVkX19mbl9fNjBfZm5fX29wVG9PYmplY3RTbG93OwogICAgdDMgPSB0Mi5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2OQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUu
aThwKCkgKyA1NCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAo
dDEuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Q
cm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX182MF9tZXRhZGF0YV9fc2V0VXBPZmZz
ZXQ7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDIyOCk7
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRh
dGFfXzYwX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg4KSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAqIGludDMyX3Qo
MHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDEg
PSAodWludDMyX3QpKHQxLmkzMigpICsgdDIuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MSA9IHQxLmkoKSArIG1ldGFkYXRhVGFibGUu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkK
ICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSkgPSB0My5pNjQoKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8
aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo3MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fNjBfZm5fX29wVG9P
YmplY3RTbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2Zy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1
cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IHNsb3dfcGF0aF90b19vYmplY3QodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgK
ICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3RvX29iamVjdF93aWRl
MzIpCiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0
MC5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJu
UHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNjFfbG9h
ZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fNjFfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxl
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19m
bl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzYxX2xvYWRfX2NvbnN0YW50
KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQyID0gKkNBU1Q8aW50cHRy
X3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDg4CiAgICB0MCA9IHQwLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDIgPSAq
Q0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzYxX2xvYWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0
KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNDQK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fXzYxX2ZuX19vcFRv
T2JqZWN0U2xvdzsKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyA1KSA8IHVpbnQ4
X3QoMHgxNikpICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA0NQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fNjFfZm5fX29wVG9PYmplY3RTbG93
OwogICAgdDMgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2OQogICAgdDEgPSAqQ0FTVDx1aW50MTZf
dCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA1NCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzkyCiAgICBpZiAodDEuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX182MV9t
ZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFU
YWJsZS5pOHAoKSArIDIyOCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9f
Zm5fX3JldHVybl9fbWV0YWRhdGFfXzYxX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQyID0g
KkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHhlKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIHQyID0gKHVpbnQzMl90KSh0
Mi5pMzIoKSAqIGludDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5NwogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICsgdDIuaTMyKCkpOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MSA9IHQxLmko
KSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSkgPSB0My5pNjQo
KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQx
ID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEyKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fNjFf
Zm5fX29wVG9PYmplY3RTbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAg
IHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0
YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF90b19vYmplY3QodDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmko
KSArIGludHB0cl90KDB4MTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEg
PSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25lZ2F0
ZSkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAg
ICBpZiAodDAuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzYyX2xvYWRfX2NvbnN0YW50OwogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzYyX2xvYWRfX2RvbmU7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX182Ml9sb2FkX19jb25zdGFudCkKICAgIHQzID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDc1CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyAxNDQpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDMgPSAq
Q0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDAuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNjJfbG9hZF9fZG9uZSkKICAgIHQxID0gKkNBU1Q8dWlu
dDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNjApOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5MgogICAgaWYgKHQxLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFf
XzYyX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihtZXRh
ZGF0YVRhYmxlLmk4cCgpICsgMjQwKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzYyX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAg
IHQyID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNQogICAgdDIgPSAodWludDMy
X3QpKHQyLmkzMigpICogaW50MzJfdCgweDIpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzk3CiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKyB0Mi5pMzIoKSk7
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQxID0g
dDEuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgaWYgKHQzLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDYz
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fb3BOZWdhdGVOb3RJbnQ7CiAgICBpZiAoKHQzLmkzMigpICYgaW50MzJfdCgweDdmZmZmZmZm
KSkgPT0gMCkgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNjQKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19v
cE5lZ2F0ZVNsb3c7CiAgICB0MyA9ICh1aW50MzJfdCkoLXQzLmkzMigpKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNjUKICAgIHQzID0g
dDMuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTA2NgogICAgKkNBU1Q8aW50MTZfdCo+KHQxLmk4cCgpKSA9
ICpDQVNUPGludDE2X3QqPih0MS5pOHAoKSkgfCBpbnQxNl90KDB4ODApOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEwNTcKICAgIHQyID0gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQx
ID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fb3BOZWdhdGVOb3RJbnQpCiAgICBpZiAoKHQzLmk2NCgpICYgbnVt
YmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEwNzAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19vcE5lZ2F0ZVNsb3c7CiAgICB0MyA9IHQzLmk2NCgpIF4gaW50NjRfdCgw
eDgwMDAwMDAwMDAwMDAwMDApOyAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEwNzEKICAgICpDQVNUPGludDE2X3QqPih0MS5pOHAoKSkgPSAqQ0FTVDxpbnQxNl90Kj4odDEu
aThwKCkpIHwgaW50MTZfdCgweDEwMCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA1Nwog
ICAgdDIgPSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19v
cE5lZ2F0ZVNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gc2xvd19wYXRoX25lZ2F0ZSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChy
ZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAog
ICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmVnYXRlX3dpZGUxNikK
ICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAg
aWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX182M19sb2FkX19jb25zdGFudDsKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX182M19sb2FkX19kb25lOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fNjNfbG9hZF9fY29uc3RhbnQpCiAgICB0MyA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4MQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTQ0KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQzID0gKkNB
U1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzYzX2xvYWRfX2RvbmUpCiAgICB0MSA9ICpDQVNUPHVpbnQx
Nl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDYwKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTIKICAgIGlmICh0MS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX182
M19tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRh
dGFUYWJsZS5pOHAoKSArIDI0MCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX182M19tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0
MiA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4OCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0MiA9ICh1aW50MzJf
dCkodDIuaTMyKCkgKiBpbnQzMl90KDB4MikpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTcKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSArIHQyLmkzMigpKTsg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDEgPSB0
MS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICBpZiAodDMudTY0KCkgPCBudW1iZXJUYWcudTY0KCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNjMK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzYz
X2ZuX19vcE5lZ2F0ZU5vdEludDsKICAgIGlmICgodDMuaTMyKCkgJiBpbnQzMl90KDB4N2ZmZmZm
ZmYpKSA9PSAwKSAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA2NAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNjNf
Zm5fX29wTmVnYXRlU2xvdzsKICAgIHQzID0gKHVpbnQzMl90KSgtdDMuaTMyKCkpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA2NQogICAg
dDMgPSB0My5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDY2CiAgICAqQ0FTVDxpbnQxNl90Kj4odDEuaThw
KCkpID0gKkNBU1Q8aW50MTZfdCo+KHQxLmk4cCgpKSB8IGludDE2X3QoMHg4MCk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTA1NwogICAgdDIgPSB0My5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAog
ICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4
YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkp
OyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigm
Z19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX182M19mbl9fb3BOZWdhdGVOb3RJbnQpCiAgICBpZiAoKHQzLmk2
NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEwNzAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fXzYzX2ZuX19vcE5lZ2F0ZVNsb3c7CiAgICB0MyA9IHQzLmk2NCgp
IF4gaW50NjRfdCgweDgwMDAwMDAwMDAwMDAwMDApOyAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEwNzEKICAgICpDQVNUPGludDE2X3QqPih0MS5pOHAoKSkgPSAqQ0FTVDxp
bnQxNl90Kj4odDEuaThwKCkpIHwgaW50MTZfdCgweDEwMCk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTA1NwogICAgdDIgPSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50
NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX182M19mbl9fb3BOZWdhdGVTbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAg
ICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xv
d1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9uZWdhdGUodDAsIHQxKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X25lZ2F0ZV93aWRlMzIpCiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTUKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fNjRfbG9hZF9fY29uc3RhbnQ7CiAgICB0MyA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNjRfbG9hZF9fZG9uZTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzY0X2xvYWRfX2NvbnN0YW50KQogICAgdDMgPSAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODcKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDE0
NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0
MCA9IHQwLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4odDMu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzY0
X2xvYWRfX2RvbmUpCiAgICB0MSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAo
KSArIDYwKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0MS5p
MzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX182NF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7
CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDI0MCk7ICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRh
X182NF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4ZSkpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUxCiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKiBpbnQzMl90KDB4
MikpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQxID0g
KHVpbnQzMl90KSh0MS5pMzIoKSArIHQyLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDEgPSB0MS5pKCkgKyBtZXRhZGF0YVRhYmxlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAg
ICBpZiAodDMudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNjMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzY0X2ZuX19vcE5lZ2F0ZU5vdEludDsKICAg
IGlmICgodDMuaTMyKCkgJiBpbnQzMl90KDB4N2ZmZmZmZmYpKSA9PSAwKSAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA2NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNjRfZm5fX29wTmVnYXRlU2xvdzsKICAgIHQz
ID0gKHVpbnQzMl90KSgtdDMuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA2NQogICAgdDMgPSB0My5pNjQoKSB8IG51bWJlclRh
Zy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMDY2CiAgICAqQ0FTVDxpbnQxNl90Kj4odDEuaThwKCkpID0gKkNBU1Q8aW50MTZfdCo+KHQx
Lmk4cCgpKSB8IGludDE2X3QoMHg4MCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA1Nwog
ICAgdDIgPSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmko
KSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4MTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX182NF9mbl9fb3BOZWdh
dGVOb3RJbnQpCiAgICBpZiAoKHQzLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNzAKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzY0X2ZuX19vcE5lZ2F0
ZVNsb3c7CiAgICB0MyA9IHQzLmk2NCgpIF4gaW50NjRfdCgweDgwMDAwMDAwMDAwMDAwMDApOyAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwNzEKICAgICpDQVNUPGludDE2
X3QqPih0MS5pOHAoKSkgPSAqQ0FTVDxpbnQxNl90Kj4odDEuaThwKCkpIHwgaW50MTZfdCgweDEw
MCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA1NwogICAgdDIgPSB0My5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo2MAogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAg
ICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4MTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX182NF9mbl9fb3BOZWdhdGVTbG93KQogICAgcGMgPSBwYy5p
KCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAg
ICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAo
KSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9uZWdhdGUo
dDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAg
cGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTIpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX2RpdikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAg
ICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BT
dGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0
dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfZGl2KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9kaXZfd2lkZTE2
KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFj
a1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNs
b3dfcGF0aF9kaXYodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEp
OwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgp
IC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Yyk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQw
ID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVN
YXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
T0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2Rpdl93aWRlMzIpCiAgICBwYyA9IHBjLmkoKSAr
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQx
ID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2Rpdih0MCwgdDEp
OwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxNik7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVf
TEFCRUwob3BfbXVsKQogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThw
KCkgKyAzMik7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDUu
aTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3Vz
dG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fNjVf
bWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRh
VGFibGUuaThwKCkgKyAxODQpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fNjVfbWV0YWRhdGFf
X3NldFVwT2Zmc2V0KQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4NSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
CiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgKiBpbnQzMl90KDB4MikpOyAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5p
MzIoKSArIHQwLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5OAogICAgdDUgPSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MCA9IChpbnQ2NF90
KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgdDIgPSAoaW50NjRfdCkqQ0FT
VDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3Qo
MHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fNjVfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
MAogICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNjVf
bG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzY1
X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQx
ID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFy
eU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX182NV9sb2FkX19kb25lKQogICAgaWYgKHQyLmkoKSA+
PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9t
U3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX182Nl9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX182Nl9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fNjZfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ3NQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQwID0gKkNBU1Q8aW50
NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzY2X2xvYWRfX2RvbmUpCiAgICBp
ZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Jp
bmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcDFO
b3RJbnQ7CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwOTQKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19vcDJOb3RJbnQ7CiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozOQogICAgdDMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcxCiAgICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExNzIKICAgICAgICBpbnQzMl90IHJlc3VsdDsKICAgICAg
ICBib29sIHN1Y2Nlc3MgPSBXVEY6OkFyaXRobWV0aWNPcGVyYXRpb25zPGludDMyX3QsIGludDMy
X3QsIGludDMyX3Q+OjptdWx0aXBseSh0My5pMzIoKSwgdDEuaTMyKCksIHJlc3VsdCk7CiAgICAg
ICAgdDMgPSAodWludDMyX3QpKHJlc3VsdCk7CiAgICAgICAgaWYgKCFzdWNjZXNzKQogICAgICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fXzY2X2ZuX19zbG93OwogICAgfQogICAgaWYgKHQzLmkzMigpICE9IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMTczCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3Jl
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW50ZWdlck9wZXJhdGlvbkFuZFN0
b3JlX19kb25lOwogICAgaWYgKHQxLmkzMigpIDwgaW50MzJfdCgweDApKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTc0CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX182Nl9mbl9fc2xvdzsKICAgIGlmICh0MC5pMzIoKSA8IGludDMyX3QoMHgwKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3NQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fNjZfZm5fX3Nsb3c7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbnRlZ2VyT3BlcmF0aW9uQW5kU3RvcmVfX2RvbmUpCiAgICB0MyA9IHQzLmk2
NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNzcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIu
aSgpIDw8IDMpKSA9IHQzLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3OAog
ICAgKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4cCgpKSA9ICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkg
fCBpbnQxNl90KDB4NDgwKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDg2CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fb3AxTm90SW50KQogICAgaWYgKCh0MC5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkg
PT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTAzCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX182Nl9mbl9fc2xvdzsKICAgIGlmICh0MS51NjQoKSA+PSBudW1iZXJU
YWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTEwNAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wMU5vdEludE9wMkludDsKICAgIGlmICgo
dDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTEwNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5
T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNjZfZm5fX3Nsb3c7
CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMDYKICAgIGQxID0gdDEuYml0c0FzRG91
YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTEwNwogICAgKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4cCgpKSA9ICpDQVNUPGludDE2
X3QqPih0NS5pOHAoKSkgfCBpbnQxNl90KDB4OTAwKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMDg2CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcDFOb3RJbnRSZWFkeTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTA5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Jp
bmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcDFO
b3RJbnRPcDJJbnQpCiAgICAqQ0FTVDxpbnQxNl90Kj4odDUuaThwKCkpID0gKkNBU1Q8aW50MTZf
dCo+KHQ1Lmk4cCgpKSB8IGludDE2X3QoMHg4ODApOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEwODYKICAgIGQxID0gKGRvdWJsZSl0MS5pMzIoKTsgLy8gY2kyZHMgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTExMgoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fb3AxTm90SW50UmVhZHkpCiAgICB0MiA9IChpbnQ2NF90KSpD
QVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgdDAgPSB0MC5pNjQoKSArIG51bWJl
clRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMTE1CiAgICBkMCA9IHQwLmJpdHNBc0RvdWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMTYKICAgIGQwID0gZDAu
ZCgpICogZDEuZCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE4MAogICAgdDAgPSBkMC5iaXRzQXNJbnQ2NCgpOyAvLyBmZDJx
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTE4
CiAgICB0MCA9IHQwLmk2NCgpIC0gbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMTkKICAgICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTEyMAogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wMk5vdEludCkKICAgIHQyID0gKGludDY0
X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAoKHQxLmk2NCgpICYg
bnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExMjYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3Rv
cmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzY2X2ZuX19zbG93OwogICAgKkNBU1Q8
aW50MTZfdCo+KHQ1Lmk4cCgpKSA9ICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgfCBpbnQxNl90
KDB4NTAwKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDg2CiAgICBkMCA9IChkb3VibGUp
dDAuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExMjgKICAgIHQxID0gdDEuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEyOQogICAg
ZDEgPSB0MS5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTMwCiAgICBkMCA9IGQwLmQoKSAqIGQxLmQoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExODAKICAgIHQwID0gZDAuYml0c0FzSW50NjQoKTsgLy8gZmQycSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEzMgogICAgdDAgPSB0MC5p
NjQoKSAtIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMTMzCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQy
LmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMzQK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzY2X2ZuX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBj
bG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1Bh
dGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9tdWwodDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmko
KSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEg
PSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX211bF93
aWRlMTYpCiAgICB0NSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDMy
KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0NS5pMzIoKSAh
PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9y
ZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX182Nl9tZXRhZGF0
YV9fc2V0VXBPZmZzZXQ7CiAgICB0NSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5p
OHAoKSArIDE4NCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX182Nl9tZXRhZGF0YV9fc2V0VXBP
ZmZzZXQpCiAgICB0MCA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0
MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgKiBpbnQzMl90KDB4MikpOyAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5pMzIoKSAr
IHQwLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
OAogICAgdDUgPSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MCA9IChpbnQ2NF90KSpDQVNU
PGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50
MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQw
KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X182N19sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAg
ICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX182N19sb2Fk
X19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNjdfbG9h
ZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDEgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BD
dXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzY3X2xvYWRfX2RvbmUpCiAgICBpZiAodDIuaSgpID49IGlu
dHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9y
ZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzY4X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzY4X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX182OF9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
KCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgx
CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90
Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNjhfbG9hZF9fZG9uZSkKICAgIGlmICh0
MC51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTA5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5
T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNjhfZm5fX29wMU5v
dEludDsKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA5NAogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fNjhfZm5fX29wMk5vdEludDsKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NwogICAgdDMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcxCiAgICB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNzIKICAgICAgICBpbnQzMl90IHJlc3VsdDsKICAg
ICAgICBib29sIHN1Y2Nlc3MgPSBXVEY6OkFyaXRobWV0aWNPcGVyYXRpb25zPGludDMyX3QsIGlu
dDMyX3QsIGludDMyX3Q+OjptdWx0aXBseSh0My5pMzIoKSwgdDEuaTMyKCksIHJlc3VsdCk7CiAg
ICAgICAgdDMgPSAodWludDMyX3QpKHJlc3VsdCk7CiAgICAgICAgaWYgKCFzdWNjZXNzKQogICAg
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fXzY4X2ZuX19zbG93OwogICAgfQogICAgaWYgKHQzLmkzMigpICE9
IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTczCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0
b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNjhfaW50ZWdlck9wZXJhdGlv
bkFuZFN0b3JlX19kb25lOwogICAgaWYgKHQxLmkzMigpIDwgaW50MzJfdCgweDApKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTc0CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX182OF9mbl9fc2xvdzsKICAgIGlmICh0MC5pMzIoKSA8IGludDMyX3QoMHgw
KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNjhfZm5fX3Nsb3c7CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX182OF9pbnRlZ2VyT3BlcmF0aW9uQW5kU3RvcmVfX2RvbmUpCiAgICB0
MyA9IHQzLmk2NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNzcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDIuaSgpIDw8IDMpKSA9IHQzLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTE3OAogICAgKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4cCgpKSA9ICpDQVNUPGludDE2X3QqPih0
NS5pOHAoKSkgfCBpbnQxNl90KDB4NDgwKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDg2
CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Yyk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX182OF9mbl9fb3AxTm90SW50KQogICAgaWYgKCh0MC5pNjQoKSAmIG51bWJl
clRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMTAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX182OF9mbl9fc2xvdzsKICAgIGlmICh0MS51NjQo
KSA+PSBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTEwNAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0
b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNjhfZm5fX29wMU5vdEludE9w
MkludDsKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEwNQogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fNjhfZm5fX3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMDYKICAgIGQx
ID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEwNwogICAgKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4cCgp
KSA9ICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgfCBpbnQxNl90KDB4OTAwKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMDg2CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9t
U3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzY4X2ZuX19vcDFOb3RJbnRSZWFk
eTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTA5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzY4X2ZuX19vcDFOb3RJbnRPcDJJbnQpCiAgICAqQ0FTVDxpbnQxNl90Kj4odDUu
aThwKCkpID0gKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4cCgpKSB8IGludDE2X3QoMHg4ODApOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjEwODYKICAgIGQxID0gKGRvdWJsZSl0MS5pMzIoKTsgLy8g
Y2kyZHMgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTExMgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3Rv
bVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX182OF9mbl9fb3AxTm90SW50UmVh
ZHkpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcK
ICAgIHQwID0gdDAuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTExNQogICAgZDAgPSB0MC5iaXRzQXNEb3Vi
bGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMTE2CiAgICBkMCA9IGQwLmQoKSAqIGQxLmQoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExODAKICAgIHQwID0g
ZDAuYml0c0FzSW50NjQoKTsgLy8gZmQycSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTExOAogICAgdDAgPSB0MC5pNjQoKSAtIG51bWJlclRhZy5p
NjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTE5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSkgPSB0MC5p
NjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMjAKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHhjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzY4X2Zu
X19vcDJOb3RJbnQpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDcKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEyNgogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fNjhfZm5fX3Nsb3c7CiAgICAqQ0FTVDxpbnQxNl90Kj4odDUuaThwKCkpID0gKkNBU1Q8
aW50MTZfdCo+KHQ1Lmk4cCgpKSB8IGludDE2X3QoMHg1MDApOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEwODYKICAgIGQwID0gKGRvdWJsZSl0MC5pMzIoKTsgLy8gY2kyZHMgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEyOAogICAgdDEgPSB0
MS5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMTI5CiAgICBkMSA9IHQxLmJpdHNBc0RvdWJsZSgpOyAvLyBm
cTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
MzAKICAgIGQwID0gZDAuZCgpICogZDEuZCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE4MAogICAgdDAgPSBkMC5iaXRzQXNJ
bnQ2NCgpOyAvLyBmZDJxICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTMyCiAgICB0MCA9IHQwLmk2NCgpIC0gbnVtYmVyVGFnLmk2NCgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMzMKICAgICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEzNAogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgw
eGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BD
dXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNjhfZm5fX3Nsb3cpCiAg
ICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19w
YXRoX211bCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAg
ICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhjKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAq
Q0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZM
SU5FX0FTTV9PUENPREVfTEFCRUwob3BfbXVsX3dpZGUzMikKICAgIHQ1ID0gKkNBU1Q8dWludDE2
X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMzIpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fbWV0YWRhdGFfXzY4X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNB
U1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTg0KTsgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bWV0YWRhdGFfXzY4X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQwID0gKkNBU1Q8dWludDMy
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxMikpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgKiBp
bnQzMl90KDB4MikpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcK
ICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5pMzIoKSArIHQwLmkzMigpKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDUgPSB0NS5pKCkgKyBtZXRhZGF0
YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206Mzk5CiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQy
ID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQwLmkoKSA+PSBp
bnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3Rv
cmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX182OV9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX182OV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fNjlfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQwID0gdDAuaSgpIC0gaW50
cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDg5CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fNjlfbG9hZF9fZG9uZSkKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkp
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNzBfbG9h
ZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgp
IDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBf
b2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNzBfbG9hZF9fZG9uZTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzcwX2xvYWRfX2NvbnN0
YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQwID0gKkNBU1Q8aW50
cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDg4CiAgICB0MiA9IHQyLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDAg
PSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzcwX2xvYWRfX2RvbmUpCiAg
ICBpZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzcwX2Zu
X19vcDFOb3RJbnQ7CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwOTQKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzcwX2ZuX19vcDJOb3RJbnQ7CiAgICB0MiA9ICpDQVNUPGludDMyX3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTUKICAgIHQzID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3MQogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcyCiAgICAgICAgaW50MzJfdCByZXN1bHQ7CiAgICAg
ICAgYm9vbCBzdWNjZXNzID0gV1RGOjpBcml0aG1ldGljT3BlcmF0aW9uczxpbnQzMl90LCBpbnQz
Ml90LCBpbnQzMl90Pjo6bXVsdGlwbHkodDMuaTMyKCksIHQxLmkzMigpLCByZXN1bHQpOwogICAg
ICAgIHQzID0gKHVpbnQzMl90KShyZXN1bHQpOwogICAgICAgIGlmICghc3VjY2VzcykKICAgICAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX183MF9mbl9fc2xvdzsKICAgIH0KICAgIGlmICh0My5pMzIoKSAhPSAw
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTE3MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9y
ZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzcwX2ludGVnZXJPcGVyYXRpb25B
bmRTdG9yZV9fZG9uZTsKICAgIGlmICh0MS5pMzIoKSA8IGludDMyX3QoMHgwKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3NAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fNzBfZm5fX3Nsb3c7CiAgICBpZiAodDAuaTMyKCkgPCBpbnQzMl90KDB4MCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
NzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzcwX2ZuX19zbG93OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fNzBfaW50ZWdlck9wZXJhdGlvbkFuZFN0b3JlX19kb25lKQogICAgdDMg
PSB0My5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTc3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQyLmkoKSA8PCAzKSkgPSB0My5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNzgKICAgICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgPSAqQ0FTVDxpbnQxNl90Kj4odDUu
aThwKCkpIHwgaW50MTZfdCgweDQ4MCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA4Ngog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDE2KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fNzBfZm5fX29wMU5vdEludCkKICAgIGlmICgodDAuaTY0KCkgJiBudW1iZXJU
YWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTEwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNzBfZm5fX3Nsb3c7CiAgICBpZiAodDEudTY0KCkg
Pj0gbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExMDQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9t
U3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzcwX2ZuX19vcDFOb3RJbnRPcDJJ
bnQ7CiAgICBpZiAoKHQxLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMDUKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
XzcwX2ZuX19zbG93OwogICAgdDEgPSB0MS5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTA2CiAgICBkMSA9
IHQxLmJpdHNBc0RvdWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExMDcKICAgICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkg
PSAqQ0FTVDxpbnQxNl90Kj4odDUuaThwKCkpIHwgaW50MTZfdCgweDkwMCk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTA4NgogICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0
b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX183MF9mbl9fb3AxTm90SW50UmVhZHk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEwOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX183MF9mbl9fb3AxTm90SW50T3AySW50KQogICAgKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4
cCgpKSA9ICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgfCBpbnQxNl90KDB4ODgwKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMDg2CiAgICBkMSA9IChkb3VibGUpdDEuaTMyKCk7IC8vIGNp
MmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
MTIKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BDdXN0b21T
dG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNzBfZm5fX29wMU5vdEludFJlYWR5
KQogICAgdDIgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICB0MCA9IHQw
Lmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjExMTUKICAgIGQwID0gdDAuYml0c0FzRG91YmxlKCk7IC8vIGZx
MmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEx
NgogICAgZDAgPSBkMC5kKCkgKiBkMS5kKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTgwCiAgICB0MCA9IGQwLmJpdHNBc0lu
dDY0KCk7IC8vIGZkMnEgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExMTgKICAgIHQwID0gdDAuaTY0KCkgLSBudW1iZXJUYWcuaTY0KCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTExOQogICAgKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTIwCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4
MTYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkp
OyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigm
Z19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcEN1
c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX183MF9mbl9fb3AyTm90SW50
KQogICAgdDIgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAoKHQx
Lmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjExMjYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9w
Q3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzcwX2ZuX19zbG93Owog
ICAgKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4cCgpKSA9ICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkg
fCBpbnQxNl90KDB4NTAwKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDg2CiAgICBkMCA9
IChkb3VibGUpdDAuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExMjgKICAgIHQxID0gdDEuaTY0KCkgKyBudW1iZXJUYWcu
aTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTEyOQogICAgZDEgPSB0MS5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTMwCiAgICBkMCA9IGQwLmQoKSAq
IGQxLmQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExODAKICAgIHQwID0gZDAuYml0c0FzSW50NjQoKTsgLy8gZmQycSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEzMgogICAg
dDAgPSB0MC5pNjQoKSAtIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTMzCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4
cCgpICsgKHQyLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExMzQKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxNik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzcwX2ZuX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBj
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcK
ICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9tdWwodDAsIHQxKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4MTYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX2FkZCkKICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsg
MzApOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigp
ICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5
T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRh
X183MF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0NSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0
YWRhdGFUYWJsZS5pOHAoKSArIDE4MCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
OTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFy
eU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0
YV9fNzBfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NSkpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1CiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgKiBpbnQzMl90KDB4
MikpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQ1ID0g
KHVpbnQzMl90KSh0NS5pMzIoKSArIHQwLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDUgPSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAg
ICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgdDIg
PSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MC5p
KCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9f
YmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzcxX2xvYWRfX2NvbnN0YW50OwogICAgdDEg
PSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3Bf
X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX183MV9sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzcxX2xvYWRfX2NvbnN0
YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQxID0gKkNBU1Q8aW50
cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDc2CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlP
cEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNzFfbG9hZF9fZG9uZSkKICAgIGlmICh0Mi5pKCkgPj0g
aW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5
T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzcyX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFy
eU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX183Ml9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5h
cnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzcyX2xvYWRfX2NvbnN0YW50KQog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwg
MykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3Rv
bVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fNzJfbG9hZF9fZG9uZSkKICAgIGlmICh0MC51NjQoKSA8IG51bWJl
clRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTA5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3Vz
dG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzcyX2ZuX19vcDFOb3RJbnQ7
CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwOTQKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX183Ml9mbl9fb3AyTm90SW50OwogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE5NAog
ICAgICAgIGludDMyX3QgcmVzdWx0OwogICAgICAgIGJvb2wgc3VjY2VzcyA9IFdURjo6QXJpdGht
ZXRpY09wZXJhdGlvbnM8aW50MzJfdCwgaW50MzJfdCwgaW50MzJfdD46OmFkZCh0MC5pMzIoKSwg
dDEuaTMyKCksIHJlc3VsdCk7CiAgICAgICAgdDAgPSAodWludDMyX3QpKHJlc3VsdCk7CiAgICAg
ICAgaWYgKCFzdWNjZXNzKQogICAgICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19i
aW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX183Ml9mbl9f
c2xvdzsKICAgIH0KICAgIHQwID0gdDAuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE4NwogICAgKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMTg4CiAgICAqQ0FTVDxpbnQxNl90Kj4odDUuaThwKCkpID0g
KkNBU1Q8aW50MTZfdCo+KHQ1Lmk4cCgpKSB8IGludDE2X3QoMHg0ODApOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEwODYKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1
c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX183Ml9mbl9fb3AxTm90SW50
KQogICAgaWYgKCh0MC5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTAzCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fNzJfZm5fX3Nsb3c7CiAgICBpZiAodDEudTY0KCkgPj0gbnVtYmVyVGFnLnU2NCgp
KSAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMDQK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX183Ml9mbl9fb3AxTm90SW50T3AySW50OwogICAg
aWYgKCh0MS5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTA1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9i
aW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fNzJfZm5fX3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMDYKICAgIGQx
ID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEwNwogICAgKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4cCgp
KSA9ICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgfCBpbnQxNl90KDB4OTAwKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMDg2CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5h
cnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX183Ml9mbl9fb3Ax
Tm90SW50UmVhZHk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEwOQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNzJfZm5fX29wMU5vdEludE9wMkludCkKICAg
ICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgPSAqQ0FTVDxpbnQxNl90Kj4odDUuaThwKCkpIHwg
aW50MTZfdCgweDg4MCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA4NgogICAgZDEgPSAo
ZG91YmxlKXQxLmkzMigpOyAvLyBjaTJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMTEyCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX183Ml9mbl9fb3AxTm90SW50UmVhZHkpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNU
PGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgdDAgPSB0MC5pNjQoKSArIG51bWJlclRh
Zy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMTE1CiAgICBkMCA9IHQwLmJpdHNBc0RvdWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMTYKICAgIGQwID0gZDAuZCgp
ICsgZDEuZCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTE5NQogICAgdDAgPSBkMC5iaXRzQXNJbnQ2NCgpOyAvLyBmZDJxICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTE4CiAg
ICB0MCA9IHQwLmk2NCgpIC0gbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMTkKICAgICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDIuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTEyMAogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3Rv
cmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzcyX2ZuX19vcDJOb3RJbnQpCiAgICB0
MiA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKCh0
MS5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMTI2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlP
cF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNzJf
Zm5fX3Nsb3c7CiAgICAqQ0FTVDxpbnQxNl90Kj4odDUuaThwKCkpID0gKkNBU1Q8aW50MTZfdCo+
KHQ1Lmk4cCgpKSB8IGludDE2X3QoMHg1MDApOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEw
ODYKICAgIGQwID0gKGRvdWJsZSl0MC5pMzIoKTsgLy8gY2kyZHMgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEyOAogICAgdDEgPSB0MS5pNjQoKSAr
IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTI5CiAgICBkMSA9IHQxLmJpdHNBc0RvdWJsZSgpOyAvLyBmcTJkICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMzAKICAgIGQw
ID0gZDAuZCgpICsgZDEuZCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE5NQogICAgdDAgPSBkMC5iaXRzQXNJbnQ2NCgpOyAv
LyBmZDJxICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMTMyCiAgICB0MCA9IHQwLmk2NCgpIC0gbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMzMKICAgICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTEzNAogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0
MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2Rl
TWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9w
Q3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzcyX2ZuX19zbG93KQog
ICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1Bv
aW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3df
cGF0aF9hZGQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwog
ICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0g
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2FkZF93aWRlMTYpCiAgICB0NSA9ICpDQVNUPHVpbnQx
Nl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDMwKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTIKICAgIGlmICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fNzJfbWV0YWRhdGFfX3NldFVwT2Zmc2V0Owog
ICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAxODApOyAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzcyX21ldGFkYXRhX19zZXRVcE9mZnNldCkK
ICAgIHQwID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQwID0gKHVp
bnQzMl90KSh0MC5pMzIoKSAqIGludDMyX3QoMHgyKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3QpKHQ1LmkzMigpICsgdDAuaTMy
KCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0
NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4NDApKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX183M19sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5
CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fNzNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9t
U3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX183M19sb2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDgxCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDEgPSAq
Q0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzcz
X2xvYWRfX2RvbmUpCiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX183
NF9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBn
b3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
NzRfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX183NF9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxp
bnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzc0X2xvYWRf
X2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwOTMKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX183NF9mbl9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVy
VGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMDk0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0
b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNzRfZm5fX29wMk5vdEludDsK
ICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTk0CiAgICAgICAgaW50MzJfdCByZXN1bHQ7CiAg
ICAgICAgYm9vbCBzdWNjZXNzID0gV1RGOjpBcml0aG1ldGljT3BlcmF0aW9uczxpbnQzMl90LCBp
bnQzMl90LCBpbnQzMl90Pjo6YWRkKHQwLmkzMigpLCB0MS5pMzIoKSwgcmVzdWx0KTsKICAgICAg
ICB0MCA9ICh1aW50MzJfdCkocmVzdWx0KTsKICAgICAgICBpZiAoIXN1Y2Nlc3MpCiAgICAgICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzc0X2ZuX19zbG93OwogICAgfQogICAgdDAgPSB0MC5p
NjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMTg3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQy
LmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExODgK
ICAgICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgPSAqQ0FTVDxpbnQxNl90Kj4odDUuaThwKCkp
IHwgaW50MTZfdCgweDQ4MCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA4NgogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fXzc0X2ZuX19vcDFOb3RJbnQpCiAgICBpZiAoKHQwLmk2NCgpICYgbnVt
YmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjExMDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1
c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX183NF9mbl9fc2xvdzsKICAg
IGlmICh0MS51NjQoKSA+PSBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEwNAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
YmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fXzc0X2ZuX19vcDFOb3RJbnRPcDJJbnQ7CiAgICBpZiAoKHQxLmk2NCgpICYgbnVtYmVyVGFn
Lmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExMDUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0
b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX183NF9mbl9fc2xvdzsKICAgIHQxID0g
dDEuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTEwNgogICAgZDEgPSB0MS5iaXRzQXNEb3VibGUoKTsgLy8g
ZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTA3CiAgICAqQ0FTVDxpbnQxNl90Kj4odDUuaThwKCkpID0gKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4
cCgpKSB8IGludDE2X3QoMHg5MDApOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwODYKICAg
IGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzc0X2ZuX19vcDFOb3RJbnRSZWFkeTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMTA5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX183NF9mbl9fb3AxTm90SW50T3AySW50KQogICAgKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4cCgp
KSA9ICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgfCBpbnQxNl90KDB4ODgwKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMDg2CiAgICBkMSA9IChkb3VibGUpdDEuaTMyKCk7IC8vIGNpMmRz
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMTIK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9w
Q3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzc0X2ZuX19vcDFOb3RJ
bnRSZWFkeSkKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NwogICAgdDAgPSB0MC5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTE1CiAgICBkMCA9IHQwLmJpdHNB
c0RvdWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExMTYKICAgIGQwID0gZDAuZCgpICsgZDEuZCgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE5NQogICAg
dDAgPSBkMC5iaXRzQXNJbnQ2NCgpOyAvLyBmZDJxICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTE4CiAgICB0MCA9IHQwLmk2NCgpIC0gbnVtYmVy
VGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExMTkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKSA9
IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEyMAogICAgcGMgPSBwYy5p
KCkgKyBpbnRwdHJfdCgweGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzc0X2ZuX19vcDJOb3RJbnQpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDE2
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0
KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEy
NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzc0X2ZuX19zbG93OwogICAgKkNBU1Q8aW50
MTZfdCo+KHQ1Lmk4cCgpKSA9ICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgfCBpbnQxNl90KDB4
NTAwKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDg2CiAgICBkMCA9IChkb3VibGUpdDAu
aTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExMjgKICAgIHQxID0gdDEuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEyOQogICAgZDEg
PSB0MS5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTMwCiAgICBkMCA9IGQwLmQoKSArIGQxLmQoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExOTUKICAgIHQwID0gZDAuYml0c0FzSW50NjQoKTsgLy8gZmQycSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEzMgogICAgdDAgPSB0MC5pNjQo
KSAtIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMTMzCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmko
KSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMzQKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX183NF9mbl9fc2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAg
ICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAg
IFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfYWRkKHQwLCB0MSk7CiAgICAg
ICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF9hZGRfd2lkZTMyKQogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThw
KCkgKyAzMCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDUu
aTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19i
aW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0
YWRhdGFfXzc0X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWludDMyX3Qq
PihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTgwKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9f
YmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21l
dGFkYXRhX183NF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MCA9ICpDQVNUPHVpbnQzMl90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MTIpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MQogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpICogaW50
MzJfdCgweDIpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAg
ICB0NSA9ICh1aW50MzJfdCkodDUuaTMyKCkgKyB0MC5pMzIoKSk7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQ1ID0gdDUuaSgpICsgbWV0YWRhdGFU
YWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5OQogICAgdDAgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICB0MiA9
ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MC5pKCkgPj0gaW50
cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BD
dXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzc1X2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9w
Q3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX183NV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlP
cF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzc1X2xvYWRfX2NvbnN0YW50KQogICAg
dDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0
MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDg4CiAgICB0MCA9IHQwLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDEgPSAqQ0FTVDxp
bnQ2NF90Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
YmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX183NV9sb2FkX19kb25lKQog
ICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNzZfbG9hZF9fY29uc3Rh
bnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFz
bV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzc2X2xvYWRfX2RvbmU7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNzZf
bG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQyID0gdDIuaSgpIC0gaW50cHRyX3QoMHg0
MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzc2X2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwOTMKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX183Nl9mbl9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2
NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMDk0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9f
YmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNzZfZm5f
X29wMk5vdEludDsKICAgIHQyID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTk0CiAgICAgICAgaW50MzJfdCByZXN1bHQ7
CiAgICAgICAgYm9vbCBzdWNjZXNzID0gV1RGOjpBcml0aG1ldGljT3BlcmF0aW9uczxpbnQzMl90
LCBpbnQzMl90LCBpbnQzMl90Pjo6YWRkKHQwLmkzMigpLCB0MS5pMzIoKSwgcmVzdWx0KTsKICAg
ICAgICB0MCA9ICh1aW50MzJfdCkocmVzdWx0KTsKICAgICAgICBpZiAoIXN1Y2Nlc3MpCiAgICAg
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzc2X2ZuX19zbG93OwogICAgfQogICAgdDAgPSB0
MC5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMTg3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQyLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
ODgKICAgICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgPSAqQ0FTVDxpbnQxNl90Kj4odDUuaThw
KCkpIHwgaW50MTZfdCgweDQ4MCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA4NgogICAg
cGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDE2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fXzc2X2ZuX19vcDFOb3RJbnQpCiAgICBpZiAoKHQwLmk2NCgpICYg
bnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExMDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlP
cEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX183Nl9mbl9fc2xvdzsK
ICAgIGlmICh0MS51NjQoKSA+PSBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEwNAogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fXzc2X2ZuX19vcDFOb3RJbnRPcDJJbnQ7CiAgICBpZiAoKHQxLmk2NCgpICYgbnVtYmVy
VGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExMDUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3Rv
bVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX183Nl9mbl9fc2xvdzsKICAgIHQx
ID0gdDEuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEwNgogICAgZDEgPSB0MS5iaXRzQXNEb3VibGUoKTsg
Ly8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMTA3CiAgICAqQ0FTVDxpbnQxNl90Kj4odDUuaThwKCkpID0gKkNBU1Q8aW50MTZfdCo+KHQ1
Lmk4cCgpKSB8IGludDE2X3QoMHg5MDApOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwODYK
ICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzc2X2ZuX19vcDFOb3RJbnRSZWFkeTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMTA5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX183Nl9mbl9fb3AxTm90SW50T3AySW50KQogICAgKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4
cCgpKSA9ICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgfCBpbnQxNl90KDB4ODgwKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMDg2CiAgICBkMSA9IChkb3VibGUpdDEuaTMyKCk7IC8vIGNp
MmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
MTIKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFy
eU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzc2X2ZuX19vcDFO
b3RJbnRSZWFkeSkKICAgIHQyID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQog
ICAgdDAgPSB0MC5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTE1CiAgICBkMCA9IHQwLmJpdHNBc0RvdWJs
ZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjExMTYKICAgIGQwID0gZDAuZCgpICsgZDEuZCgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE5NQogICAgdDAgPSBk
MC5iaXRzQXNJbnQ2NCgpOyAvLyBmZDJxICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMTE4CiAgICB0MCA9IHQwLmk2NCgpIC0gbnVtYmVyVGFnLmk2
NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
MTkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKSA9IHQwLmk2
NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEyMAogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweDE2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
YmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fXzc2X2ZuX19vcDJOb3RJbnQpCiAgICB0MiA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTUKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEyNgogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fXzc2X2ZuX19zbG93OwogICAgKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4cCgp
KSA9ICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgfCBpbnQxNl90KDB4NTAwKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMDg2CiAgICBkMCA9IChkb3VibGUpdDAuaTMyKCk7IC8vIGNpMmRz
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMjgK
ICAgIHQxID0gdDEuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEyOQogICAgZDEgPSB0MS5iaXRzQXNEb3Vi
bGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMTMwCiAgICBkMCA9IGQwLmQoKSArIGQxLmQoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExOTUKICAgIHQwID0g
ZDAuYml0c0FzSW50NjQoKTsgLy8gZmQycSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTEzMgogICAgdDAgPSB0MC5pNjQoKSAtIG51bWJlclRhZy5p
NjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTMzCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSkgPSB0MC5p
NjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMzQKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHgxNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX183Nl9mbl9fc2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0
MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFj
ay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJu
VHlwZSByZXN1bHQgPSBzbG93X3BhdGhfYWRkKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4
CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDE2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9zdWIpCiAgICB0NSA9
ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDM2KTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5Mwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fNzZfbWV0YWRhdGFfX3Nl
dFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkg
KyAxOTIpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzc2X21ldGFkYXRhX19z
ZXRVcE9mZnNldCkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNQog
ICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpICogaW50MzJfdCgweDIpKTsgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCkodDUuaTMy
KCkgKyB0MC5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTgKICAgIHQ1ID0gdDUuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDAgPSAoaW50NjRfdCkq
Q0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgz
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4
MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3Rv
cmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX183N19sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0
b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fNzdfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFy
eU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX183N19sb2FkX19jb25zdGFudCkKICAgIHQxID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkg
KyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3Ngog
ICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpICsgaW50cHRy
X3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzc3X2xvYWRfX2RvbmUpCiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4MTApKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX183OF9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fNzhfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3Vz
dG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX183OF9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDc1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAg
PSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEy
OCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
Xzc4X2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwOTMKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX183OF9mbl9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCgp
IDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMDk0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmlu
YXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNzhfZm5fX29w
Mk5vdEludDsKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM5CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExOTkKICAgICAgICBpbnQzMl90IHJl
c3VsdDsKICAgICAgICBib29sIHN1Y2Nlc3MgPSBXVEY6OkFyaXRobWV0aWNPcGVyYXRpb25zPGlu
dDMyX3QsIGludDMyX3QsIGludDMyX3Q+OjpzdWIodDAuaTMyKCksIHQxLmkzMigpLCByZXN1bHQp
OwogICAgICAgIHQwID0gKHVpbnQzMl90KShyZXN1bHQpOwogICAgICAgIGlmICghc3VjY2VzcykK
ICAgICAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9y
ZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNzhfZm5fX3Nsb3c7CiAgICB9CiAgICB0
MCA9IHQwLmk2NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExODcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDIuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTE4OAogICAgKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4cCgpKSA9ICpDQVNUPGludDE2X3QqPih0
NS5pOHAoKSkgfCBpbnQxNl90KDB4NDgwKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDg2
CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNzhfZm5fX29wMU5vdEludCkKICAgIGlmICgodDAuaTY0
KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTEwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2Jp
bmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzc4X2ZuX19z
bG93OwogICAgaWYgKHQxLnU2NCgpID49IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTA0CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fNzhfZm5fX29wMU5vdEludE9wMkludDsKICAgIGlmICgodDEuaTY0KCkgJiBu
dW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTEwNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9w
Q3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzc4X2ZuX19zbG93Owog
ICAgdDEgPSB0MS5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTA2CiAgICBkMSA9IHQxLmJpdHNBc0RvdWJs
ZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjExMDcKICAgICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgPSAqQ0FTVDxpbnQxNl90
Kj4odDUuaThwKCkpIHwgaW50MTZfdCgweDkwMCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTA4NgogICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNzhfZm5fX29wMU5vdEludFJlYWR5OyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExMDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzc4X2ZuX19vcDFOb3RJbnRPcDJJbnQpCiAgICAqQ0FTVDxpbnQxNl90Kj4o
dDUuaThwKCkpID0gKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4cCgpKSB8IGludDE2X3QoMHg4ODApOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwODYKICAgIGQxID0gKGRvdWJsZSl0MS5pMzIoKTsg
Ly8gY2kyZHMgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTExMgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9f
YmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNzhfZm5f
X29wMU5vdEludFJlYWR5KQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzkKICAgIHQwID0gdDAuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTExNQogICAgZDAgPSB0
MC5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMTE2CiAgICBkMCA9IGQwLmQoKSAtIGQxLmQoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEy
MDAKICAgIHQwID0gZDAuYml0c0FzSW50NjQoKTsgLy8gZmQycSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTExOAogICAgdDAgPSB0MC5pNjQoKSAt
IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTE5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8
PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMjAKICAgIHBj
ID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX183OF9mbl9fb3AyTm90SW50KQogICAgdDIgPSAoaW50NjRfdCkqQ0FT
VDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJU
YWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTEyNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9t
U3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzc4X2ZuX19zbG93OwogICAgKkNB
U1Q8aW50MTZfdCo+KHQ1Lmk4cCgpKSA9ICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgfCBpbnQx
Nl90KDB4NTAwKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDg2CiAgICBkMCA9IChkb3Vi
bGUpdDAuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExMjgKICAgIHQxID0gdDEuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEyOQog
ICAgZDEgPSB0MS5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTMwCiAgICBkMCA9IGQwLmQoKSAtIGQxLmQo
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEyMDAKICAgIHQwID0gZDAuYml0c0FzSW50NjQoKTsgLy8gZmQycSAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEzMgogICAgdDAgPSB0
MC5pNjQoKSAtIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMTMzCiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQyLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
MzQKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX183OF9mbl9fc2xvdykKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfc3ViKHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9zdWJfd2lkZTE2KQogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFi
bGUuaThwKCkgKyAzNik7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBp
ZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFy
eU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fbWV0YWRhdGFfXzc4X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWlu
dDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTkyKTsgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5h
cnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX21ldGFkYXRhX183OF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MCA9ICpDQVNUPHVp
bnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4YSkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkg
KiBpbnQzMl90KDB4MikpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
OTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5pMzIoKSArIHQwLmkzMigpKTsgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDUgPSB0NS5pKCkgKyBtZXRh
ZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk5CiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDcKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NwogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNzlfbG9hZF9fY29u
c3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGlu
ZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzc5X2xvYWRfX2Rv
bmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
NzlfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAg
dDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmlu
YXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX183OV9sb2FkX19kb25lKQogICAg
aWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Jp
bmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fODBfbG9hZF9fY29uc3RhbnQ7
CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9i
aW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzgwX2xvYWRfX2RvbmU7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fODBfbG9h
ZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgp
ICsgKHQyLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3Bf
X2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX184MF9sb2FkX19kb25lKQogICAgaWYgKHQw
LnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMDkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlP
cF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fODBf
Zm5fX29wMU5vdEludDsKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTA5NAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzgwX2ZuX19vcDJOb3RJbnQ7CiAgICB0MiA9IChpbnQ2NF90
KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTE5OQogICAgICAgIGludDMyX3QgcmVzdWx0OwogICAgICAgIGJvb2wgc3VjY2Vz
cyA9IFdURjo6QXJpdGhtZXRpY09wZXJhdGlvbnM8aW50MzJfdCwgaW50MzJfdCwgaW50MzJfdD46
OnN1Yih0MC5pMzIoKSwgdDEuaTMyKCksIHJlc3VsdCk7CiAgICAgICAgdDAgPSAodWludDMyX3Qp
KHJlc3VsdCk7CiAgICAgICAgaWYgKCFzdWNjZXNzKQogICAgICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX184MF9mbl9fc2xvdzsKICAgIH0KICAgIHQwID0gdDAuaTY0KCkgfCBudW1iZXJUYWcu
aTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE4NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpID0gdDAu
aTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTg4CiAgICAqQ0FTVDxpbnQxNl90
Kj4odDUuaThwKCkpID0gKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4cCgpKSB8IGludDE2X3QoMHg0ODAp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwODYKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHhjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFy
eU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX184
MF9mbl9fb3AxTm90SW50KQogICAgaWYgKCh0MC5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0g
MCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTAzCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fODBfZm5fX3Nsb3c7CiAgICBpZiAodDEudTY0KCkgPj0g
bnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExMDQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlP
cEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX184MF9mbl9fb3AxTm90
SW50T3AySW50OwogICAgaWYgKCh0MS5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTA1CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fODBfZm5fX3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVy
VGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExMDYKICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEwNwogICAgKkNBU1Q8aW50
MTZfdCo+KHQ1Lmk4cCgpKSA9ICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgfCBpbnQxNl90KDB4
OTAwKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDg2CiAgICBnb3RvIF9vZmZsaW5lYXNt
X2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX184MF9mbl9fb3AxTm90SW50UmVhZHk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEw
OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5
T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fODBfZm5fX29wMU5v
dEludE9wMkludCkKICAgICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgPSAqQ0FTVDxpbnQxNl90
Kj4odDUuaThwKCkpIHwgaW50MTZfdCgweDg4MCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTA4NgogICAgZDEgPSAoZG91YmxlKXQxLmkzMigpOyAvLyBjaTJkcyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTEyCgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX184MF9mbl9fb3AxTm90SW50UmVhZHkpCiAgICB0MiA9
IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQwID0gdDAu
aTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTExNQogICAgZDAgPSB0MC5iaXRzQXNEb3VibGUoKTsgLy8gZnEy
ZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTE2
CiAgICBkMCA9IGQwLmQoKSAtIGQxLmQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMDAKICAgIHQwID0gZDAuYml0c0FzSW50
NjQoKTsgLy8gZmQycSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTExOAogICAgdDAgPSB0MC5pNjQoKSAtIG51bWJlclRhZy5pNjQoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTE5CiAgICAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExMjAKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhj
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19i
aW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX184MF9mbl9f
b3AyTm90SW50KQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ3CiAgICBpZiAoKHQxLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMjYKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX184MF9mbl9fc2xvdzsKICAgICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkg
PSAqQ0FTVDxpbnQxNl90Kj4odDUuaThwKCkpIHwgaW50MTZfdCgweDUwMCk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTA4NgogICAgZDAgPSAoZG91YmxlKXQwLmkzMigpOyAvLyBjaTJkcyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTI4CiAg
ICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExMjkKICAgIGQxID0gdDEuYml0c0FzRG91Ymxl
KCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTEzMAogICAgZDAgPSBkMC5kKCkgLSBkMS5kKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjAwCiAgICB0MCA9IGQw
LmJpdHNBc0ludDY0KCk7IC8vIGZkMnEgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjExMzIKICAgIHQwID0gdDAuaTY0KCkgLSBudW1iZXJUYWcuaTY0
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEz
MwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpID0gdDAuaTY0
KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTM0CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4Yyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9i
aW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fODBfZm5fX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAg
PSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2su
c2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5
cGUgcmVzdWx0ID0gc2xvd19wYXRoX3N1Yih0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChy
ZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAog
ICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHhjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bfc3ViX3dpZGUzMikKICAg
IHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMzYpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9y
ZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX184MF9tZXRhZGF0
YV9fc2V0VXBPZmZzZXQ7CiAgICB0NSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5p
OHAoKSArIDE5Mik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3Rv
cmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fODBfbWV0YWRh
dGFfX3NldFVwT2Zmc2V0KQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTEKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAqIGludDMyX3QoMHgyKSk7ICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3Qp
KHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQwID0gKkNB
U1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDIgPSAqQ0FTVDxpbnQzMl90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDAp
KSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX184MV9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4
CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fODFfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9t
U3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX184MV9sb2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDg3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDAgPSB0
MC5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkw
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlP
cEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fODFfbG9hZF9fZG9uZSkKICAgIGlmICh0Mi5pKCkgPj0g
aW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5
T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzgyX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFy
eU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX184Ml9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5h
cnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzgyX2xvYWRfX2NvbnN0YW50KQog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQwID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDg4CiAgICB0MiA9IHQyLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDAgPSAqQ0FT
VDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3RvcmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX184Ml9sb2FkX19kb25l
KQogICAgaWYgKHQwLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDkzCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fODJfZm5fX29wMU5vdEludDsKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51
NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTA5NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYmluYXJ5T3BfX2JpbmFyeU9wQ3VzdG9tU3Rv
cmVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzgyX2ZuX19vcDJOb3RJbnQ7CiAgICB0
MiA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTE5OQogICAgICAgIGludDMyX3QgcmVzdWx0OwogICAgICAgIGJvb2wgc3Vj
Y2VzcyA9IFdURjo6QXJpdGhtZXRpY09wZXJhdGlvbnM8aW50MzJfdCwgaW50MzJfdCwgaW50MzJf
dD46OnN1Yih0MC5pMzIoKSwgdDEuaTMyKCksIHJlc3VsdCk7CiAgICAgICAgdDAgPSAodWludDMy
X3QpKHJlc3VsdCk7CiAgICAgICAgaWYgKCFzdWNjZXNzKQogICAgICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX184Ml9mbl9fc2xvdzsKICAgIH0KICAgIHQwID0gdDAuaTY0KCkgfCBudW1iZXJU
YWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTE4NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpID0g
dDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTg4CiAgICAqQ0FTVDxpbnQx
Nl90Kj4odDUuaThwKCkpID0gKkNBU1Q8aW50MTZfdCo+KHQ1Lmk4cCgpKSB8IGludDE2X3QoMHg0
ODApOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEwODYKICAgIHBjID0gcGMuaSgpICsgaW50
cHRyX3QoMHgxNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8
dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Jp
bmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X184Ml9mbl9fb3AxTm90SW50KQogICAgaWYgKCh0MC5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkg
PT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTAzCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fODJfZm5fX3Nsb3c7CiAgICBpZiAodDEudTY0KCkg
Pj0gbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExMDQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5h
cnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX184Ml9mbl9fb3Ax
Tm90SW50T3AySW50OwogICAgaWYgKCh0MS5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTA1CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fODJfZm5fX3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVt
YmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjExMDYKICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEwNwogICAgKkNBU1Q8
aW50MTZfdCo+KHQ1Lmk4cCgpKSA9ICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgfCBpbnQxNl90
KDB4OTAwKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMDg2CiAgICBnb3RvIF9vZmZsaW5l
YXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX184Ml9mbl9fb3AxTm90SW50UmVhZHk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTEwOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmlu
YXJ5T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fODJfZm5fX29w
MU5vdEludE9wMkludCkKICAgICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgPSAqQ0FTVDxpbnQx
Nl90Kj4odDUuaThwKCkpIHwgaW50MTZfdCgweDg4MCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTA4NgogICAgZDEgPSAoZG91YmxlKXQxLmkzMigpOyAvLyBjaTJkcyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTEyCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX184Ml9mbl9fb3AxTm90SW50UmVhZHkpCiAgICB0
MiA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQwID0gdDAuaTY0KCkg
KyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTExNQogICAgZDAgPSB0MC5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTE2CiAgICBk
MCA9IGQwLmQoKSAtIGQxLmQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMDAKICAgIHQwID0gZDAuYml0c0FzSW50NjQoKTsg
Ly8gZmQycSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTExOAogICAgdDAgPSB0MC5pNjQoKSAtIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTE5CiAgICAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExMjAKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxNik7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpbmFyeU9wX19iaW5hcnlP
cEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX184Ml9mbl9fb3AyTm90
SW50KQogICAgdDIgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAo
KHQxLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExMjYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpbmFy
eU9wX19iaW5hcnlPcEN1c3RvbVN0b3JlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX184
Ml9mbl9fc2xvdzsKICAgICpDQVNUPGludDE2X3QqPih0NS5pOHAoKSkgPSAqQ0FTVDxpbnQxNl90
Kj4odDUuaThwKCkpIHwgaW50MTZfdCgweDUwMCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTA4NgogICAgZDAgPSAoZG91YmxlKXQwLmkzMigpOyAvLyBjaTJkcyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTI4CiAgICB0MSA9IHQxLmk2NCgp
ICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExMjkKICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEzMAogICAg
ZDAgPSBkMC5kKCkgLSBkMS5kKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjAwCiAgICB0MCA9IGQwLmJpdHNBc0ludDY0KCk7
IC8vIGZkMnEgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExMzIKICAgIHQwID0gdDAuaTY0KCkgLSBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTEzMwogICAgKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMTM0CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTYpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaW5hcnlPcF9fYmluYXJ5
T3BDdXN0b21TdG9yZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fODJfZm5fX3Nsb3cp
CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNr
UG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xv
d19wYXRoX3N1Yih0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7
CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkg
LSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxNik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfdW5zaWduZWQpCiAgICB0MSA9IChpbnQ2NF90KSpD
QVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJf
dCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzgzX2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fODNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fODNfbG9hZF9fY29uc3RhbnQpCiAgICB0
MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQy
Lmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NzYKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSAr
IGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fODNfbG9hZF9fZG9uZSkKICAgIGlmICh0Mi5pMzIoKSA8IGludDMyX3Qo
MHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTIwNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fb3BVbnNpZ25lZFNsb3c7
CiAgICB0MiA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNU
PGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fb3BVbnNpZ25lZFNsb3cpCiAgICBwYyA9
IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihz
cC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3Vu
c2lnbmVkKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAg
IH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJ
TkVfQVNNX09QQ09ERV9MQUJFTChvcF91bnNpZ25lZF93aWRlMTYpCiAgICB0MSA9IChpbnQ2NF90
KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0MS5pKCkgPj0gaW50
cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX184NF9sb2FkX19jb25zdGFudDsKICAgIHQyID0gKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzg0X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzg0X2xvYWRfX2NvbnN0YW50KQog
ICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQyID0gKkNBU1Q8aW50cHRyX3Qq
Pih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDgyCiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0MS5pKCkgPDwg
MykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzg0X2xvYWRfX2RvbmUpCiAgICBpZiAodDIuaTMyKCkgPCBpbnQz
Ml90KDB4MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEyMDYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fODRfZm5fX29wVW5zaWdu
ZWRTbG93OwogICAgdDIgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRf
dCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzg0X2ZuX19vcFVuc2lnbmVkU2xv
dykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBz
bG93X3BhdGhfdW5zaWduZWQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0
MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0g
cGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3Vuc2lnbmVkX3dpZGUzMikKICAgIHQx
ID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+PSBp
bnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzg1X2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fODVfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fODVfbG9hZF9fY29uc3RhbnQp
CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDIgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MiA9ICpD
QVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX184NV9sb2FkX19k
b25lKQogICAgaWYgKHQyLmkzMigpIDwgaW50MzJfdCgweDApKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjA2CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fXzg1X2ZuX19vcFVuc2lnbmVkU2xvdzsKICAgIHQyID0gdDIuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQog
ICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX184
NV9mbl9fb3BVbnNpZ25lZFNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAog
ICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29w
U3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJl
dHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3Vuc2lnbmVkKHQwLCB0MSk7CiAgICAgICAgZGVj
b2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5p
KCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9sc2hp
ZnQpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQog
ICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlm
ICh0MC5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRP
cFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzg2X2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3Bf
X29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9m
aWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX184Nl9sb2FkX19k
b25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzg2X2xvYWRfX2NvbnN0YW50KQogICAg
dDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0
MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDc2CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykg
KyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9w
X19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJv
ZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fODZfbG9hZF9f
ZG9uZSkKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzg3X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9f
Y29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21h
a2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X184N19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9f
b3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2Zp
bGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzg3X2xvYWRfX2Nv
bnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8
aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0
Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRf
X2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19t
YWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fODdfbG9hZF9fZG9uZSkKICAgIGlmICh0MC51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTIyMAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5f
Xzg3X2ZuX19zbG93OwogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIxCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fODdf
Zm5fX3Nsb3c7CiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgPDwgKHQxLmkoKSAmIDB4MWYp
KTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNDEKICAgIHQwID0gdDAu
aTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTIyMwogICAgdDMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2OQog
ICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA0NCk7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDEuaTMyKCkgIT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9w
X19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJv
ZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fODdfbWV0YWRhdGFfX3NldFVwT2Zmc2V0
OwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAyMDgpOyAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9f
cmV0dXJuX19tZXRhZGF0YV9fODdfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDIgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMy
KCkgKiBpbnQzMl90KDB4MTgpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTcKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSArIHQyLmkzMigpKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDEgPSB0MS5pKCkgKyBt
ZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkpID0gdDMuaTY0KCk7ICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MSA9IChp
bnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9u
Qml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1
cm5Qcm9maWxlZF9fZm5fXzg3X2ZuX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAg
ICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xv
d1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9sc2hpZnQodDAsIHQxKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X2xzaGlmdF93aWRlMTYpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDcKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0NwogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fODhfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVk
X19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzg4X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9w
X19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJv
ZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fODhfbG9hZF9f
Y29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDEgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxl
ZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX184OF9sb2FkX19kb25lKQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fODlfbG9hZF9fY29uc3RhbnQ7
CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9i
aXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzg5X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRf
X2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19t
YWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fODlfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+
KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
Yml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX184OV9sb2FkX19kb25lKQogICAgaWYgKHQwLnU2NCgpIDwgbnVtYmVy
VGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMjIwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25C
aXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVy
blByb2ZpbGVkX19mbl9fODlfZm5fX3Nsb3c7CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcu
dTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEyMjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9w
X19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJv
ZmlsZWRfX2ZuX184OV9mbl9fc2xvdzsKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSA8PCAo
dDEuaSgpICYgMHgxZikpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI0
MQogICAgdDAgPSB0MC5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIzCiAgICB0MyA9IHQwLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjY5CiAgICB0MSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAo
KSArIDQ0KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0MS5p
MzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxl
ZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX184OV9tZXRhZGF0
YV9fc2V0VXBPZmZzZXQ7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5p
OHAoKSArIDIwOCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3Bf
X29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9m
aWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX184OV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQp
CiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4OCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0MiA9ICh1
aW50MzJfdCkodDIuaTMyKCkgKiBpbnQzMl90KDB4MTgpKTsgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTcKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSArIHQyLmkz
MigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAg
dDEgPSB0MS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkp
ID0gdDMuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojc5CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcK
ICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQzLmk2NCgp
OyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzMKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9w
UHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX184OV9mbl9fc2xvdykKICAgIHBjID0gcGMu
aSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAog
ICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZw
KCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfbHNoaWZ0
KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAg
IHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9sc2hpZnRfd2lkZTMyKQogICAgdDAgPSAqQ0FTVDxpbnQzMl90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjU1CiAgICB0MiA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTUKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzkwX2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9f
Y29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21h
a2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X185MF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9f
b3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2Zp
bGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzkwX2xvYWRfX2Nv
bnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQxID0gKkNBU1Q8
aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MCA9IHQwLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDAp
OyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAg
dDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX185MF9sb2FkX19kb25lKQogICAgaWYgKHQyLmko
KSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmls
ZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fOTFfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
OAogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5k
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19m
bl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzkxX2xvYWRfX2RvbmU7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fOTFfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgp
ICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgK
ICAgIHQyID0gdDIuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3Qq
Pih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFBy
b2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzkxX2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0
KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEy
MjAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19v
cEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmls
ZWRfX2ZuX185MV9mbl9fc2xvdzsKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQoKSkg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTIyMQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2lu
ZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9f
Zm5fXzkxX2ZuX19zbG93OwogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpIDw8ICh0MS5pKCkg
JiAweDFmKSk7ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjQxCiAgICB0
MCA9IHQwLmk2NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMjMKICAgIHQzID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjkKICAgIHQxID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNDQp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQxLmkzMigpICE9
IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21t
b25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJl
dHVyblByb2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzkxX21ldGFkYXRhX19zZXRV
cE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsg
MjA4KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5k
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19m
bl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzkxX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQy
ID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHhlKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIHQyID0gKHVpbnQzMl90
KSh0Mi5pMzIoKSAqIGludDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5NwogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICsgdDIuaTMyKCkpOyAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MSA9IHQx
LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSkgPSB0My5p
NjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAg
IHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEyKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9u
Qml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1
cm5Qcm9maWxlZF9fZm5fXzkxX2ZuX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAg
ICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xv
d1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9sc2hpZnQodDAsIHQxKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4MTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X3JzaGlmdCkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM5CiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQog
ICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fOTJfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25C
aXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVy
blByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzkyX2xv
YWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fOTJfbG9hZF9fY29uc3RhbnQp
CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NzYKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9u
Qml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1
cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX185Ml9s
b2FkX19kb25lKQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fOTNfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2Zp
bGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzkzX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJp
dE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJu
UHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fOTNfbG9h
ZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDAgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgp
ICsgKHQyLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9m
aWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX185M19sb2FkX19kb25lKQogICAgaWYgKHQwLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIw
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BL
aW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVk
X19mbl9fOTNfZm5fX3Nsb3c7CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMjEKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2Zu
X185M19mbl9fc2xvdzsKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSA+PiAodDEuaSgpICYg
MHgxZikpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI0NQogICAgdDAg
PSB0MC5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIzCiAgICB0MyA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjY5CiAgICB0MSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDQ2KTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0MS5pMzIoKSAhPSAw
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9u
Qml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1
cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX185M19tZXRhZGF0YV9fc2V0VXBP
ZmZzZXQ7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDIx
Mik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5f
X2ZuX19yZXR1cm5fX21ldGFkYXRhX185M19tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MiA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzUKICAgIHQyID0gKHVpbnQzMl90KSh0
Mi5pMzIoKSAqIGludDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5NwogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICsgdDIuaTMyKCkpOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MSA9IHQxLmko
KSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSkgPSB0My5pNjQo
KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQx
ID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0My5pNjQoKTsgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjczCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19j
b21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFr
ZVJldHVyblByb2ZpbGVkX19mbl9fOTNfZm5fX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwog
ICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAg
ICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3JzaGlmdCh0MCwgdDEpOwog
ICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFC
RUwob3BfcnNoaWZ0X3dpZGUxNikKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NwogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ3CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX185NF9sb2FkX19jb25zdGFudDsKICAgIHQx
ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJv
ZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fOTRfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9u
Qml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1
cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX185NF9s
b2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MSA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFBy
b2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzk0X2xvYWRfX2RvbmUpCiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDAp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29w
S2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxl
ZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX185NV9sb2FkX19jb25z
dGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5l
YXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fOTVfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9m
aWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX185NV9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2
NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzk1X2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBu
dW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEyMjAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2Nv
bW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtl
UmV0dXJuUHJvZmlsZWRfX2ZuX185NV9mbl9fc2xvdzsKICAgIGlmICh0MS51NjQoKSA8IG51bWJl
clRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTIyMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9u
Qml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1
cm5Qcm9maWxlZF9fZm5fXzk1X2ZuX19zbG93OwogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigp
ID4+ICh0MS5pKCkgJiAweDFmKSk7ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMjQ1CiAgICB0MCA9IHQwLmk2NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMjMKICAgIHQzID0gdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NjkKICAgIHQxID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxl
Lmk4cCgpICsgNDYpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYg
KHQxLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFBy
b2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzk1X21l
dGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRh
YmxlLmk4cCgpICsgMjEyKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25C
aXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVy
blByb2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzk1X21ldGFkYXRhX19zZXRVcE9m
ZnNldCkKICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHg4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQy
ID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAqIGludDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICsg
dDIuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4
CiAgICB0MSA9IHQxLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0MS5p
OHAoKSkgPSB0My5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NzkKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMu
aTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
Yml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fXzk1X2ZuX19zbG93KQogICAgcGMg
PSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIo
c3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9y
c2hpZnQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAg
fQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX3JzaGlmdF93aWRlMzIpCiAgICB0MCA9ICpDQVNUPGludDMy
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQyID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1NQogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fOTZfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2Zp
bGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzk2X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJp
dE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJu
UHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fOTZfbG9h
ZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDEgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQwID0gdDAuaSgpIC0gaW50cHRyX3QoMHg0MDAw
MDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5
CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzk2X2xvYWRfX2RvbmUpCiAgICBpZiAo
dDIuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQ
cm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX185N19sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNm
ci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19v
cEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmls
ZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fOTdfbG9hZF9fZG9u
ZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX185N19sb2FkX19jb25zdGFudCkKICAgIHQw
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAu
aThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4OAogICAgdDIgPSB0Mi5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50
NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Jp
dE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fOTdfbG9hZF9fZG9uZSkKICAgIGlmICh0MC51NjQoKSA8IG51bWJlclRh
Zy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTIyMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0
T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Q
cm9maWxlZF9fZm5fXzk3X2ZuX19zbG93OwogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2
NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MjIxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9f
b3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2Zp
bGVkX19mbl9fOTdfZm5fX3Nsb3c7CiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgPj4gKHQx
LmkoKSAmIDB4MWYpKTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNDUK
ICAgIHQwID0gdDAuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTIyMwogICAgdDMgPSB0MC5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo2OQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkg
KyA0Nik7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDEuaTMy
KCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRf
X2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19t
YWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fOTdfbWV0YWRhdGFf
X3NldFVwT2Zmc2V0OwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThw
KCkgKyAyMTIpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19v
cEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmls
ZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fOTdfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQog
ICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweGUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MQogICAgdDIgPSAodWlu
dDMyX3QpKHQyLmkzMigpICogaW50MzJfdCgweDE4KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk3CiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKyB0Mi5pMzIo
KSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQx
ID0gdDEuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpKSA9
IHQzLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3
OQogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0My5pNjQoKTsgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjczCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTIpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19j
b21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFr
ZVJldHVyblByb2ZpbGVkX19mbl9fOTdfZm5fX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwog
ICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAg
ICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3JzaGlmdCh0MCwgdDEpOwog
ICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFC
RUwob3BfdXJzaGlmdCkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM5CiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozOQogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2JpdE9wX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
Xzk4X2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAg
IGdvdG8gX29mZmxpbmVhc21fYml0T3BfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fOThfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BfX2NvbW1vbkJpdE9w
X19vcEtpbmRfX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fOThfbG9hZF9fY29uc3RhbnQpCiAgICB0
MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NzYKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSAr
IGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BfX2NvbW1vbkJpdE9wX19vcEtpbmRf
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fOThfbG9hZF9fZG9uZSkKICAgIGlmICh0Mi5pKCkgPj0g
aW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcF9fY29tbW9uQml0
T3BfX29wS2luZF9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX185OV9sb2FkX19jb25zdGFudDsKICAg
IHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9w
X19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzk5X2xvYWRfX2Rv
bmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2JpdE9wX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzk5X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGlu
dDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2JpdE9wX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
Xzk5X2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMjAKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fOTlfZm5fX3Nsb3c7CiAgICBpZiAodDEu
dTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEyMjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX19j
b21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fOTlfZm5fX3Nsb3c7CiAgICB0MCA9ICh1aW50MzJfdCkodDAudTMyKCkgPj4gKHQxLmko
KSAmIDB4MWYpKTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNDkKICAg
IHQwID0gdDAuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTIyMwogICAgdDIgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2
NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50
cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8
dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Jp
dE9wX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fOTlfZm5fX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNs
b29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3Vyc2hpZnQodDAsIHQxKTsKICAgICAgICBk
ZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3Vy
c2hpZnRfd2lkZTE2KQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ3CiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDcKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9iaXRPcF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18xMDBfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQog
ICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18xMDBfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BfX2NvbW1vbkJp
dE9wX19vcEtpbmRfX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTAwX2xvYWRfX2NvbnN0YW50KQog
ICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQxID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDgyCiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wX19jb21tb25CaXRPcF9fb3BL
aW5kX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEwMF9sb2FkX19kb25lKQogICAgaWYgKHQyLmko
KSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX19jb21t
b25CaXRPcF9fb3BLaW5kX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEwMV9sb2FkX19jb25zdGFu
dDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNt
X2JpdE9wX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEwMV9s
b2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18xMDFfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ4MQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0g
KkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fYml0T3BfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMTAxX2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0
KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEy
MjAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX19jb21tb25CaXRPcF9fb3BLaW5kX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMTAxX2ZuX19zbG93Owog
ICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIxCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9iaXRPcF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fXzEwMV9mbl9fc2xvdzsKICAgIHQwID0gKHVpbnQzMl90KSh0MC51MzIo
KSA+PiAodDEuaSgpICYgMHgxZikpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTI0OQogICAgdDAgPSB0MC5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIzCiAgICB0MiA9IHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8
IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0g
cGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAg
ICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2JpdE9wX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMTAxX2ZuX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9
IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF91cnNoaWZ0KHQwLCB0
MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0g
dDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF91cnNoaWZ0X3dpZGUzMikKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1NQogICAgdDIgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1
CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fYml0T3BfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTAy
X2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdv
dG8gX29mZmxpbmVhc21fYml0T3BfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMTAyX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wX19jb21tb25CaXRPcF9f
b3BLaW5kX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEwMl9sb2FkX19jb25zdGFudCkKICAgIHQx
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEu
aThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4OAogICAgdDAgPSB0MC5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQxID0gKkNBU1Q8aW50
NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Jp
dE9wX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEwMl9sb2Fk
X19kb25lKQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2JpdE9wX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzEwM19sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4
CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzEwM19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcF9fY29tbW9u
Qml0T3BfX29wS2luZF9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMDNfbG9hZF9fY29uc3RhbnQp
CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODgKICAgIHQyID0gdDIuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpD
QVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9iaXRPcF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18x
MDNfbG9hZF9fZG9uZSkKICAgIGlmICh0MC51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTIyMAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fYml0T3BfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18xMDNfZm5fX3Nsb3c7CiAgICBpZiAodDEu
dTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEyMjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wX19j
b21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fMTAzX2ZuX19zbG93OwogICAgdDAgPSAodWludDMyX3QpKHQwLnUzMigpID4+ICh0MS5p
KCkgJiAweDFmKSk7ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjQ5CiAg
ICB0MCA9IHQwLmk2NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMjMKICAgIHQyID0gdDAuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAg
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgw
eGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BfX2Nv
bW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX18xMDNfZm5fX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3Vyc2hpZnQodDAsIHQxKTsKICAgICAgICBkZWNvZGVS
ZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSAr
IGludHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2JpdGFuZCkK
ICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0
MiA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQw
LmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJv
ZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMTA0X2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29w
S2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxl
ZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMDRfbG9hZF9fZG9u
ZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMDRfbG9hZF9fY29uc3RhbnQpCiAgICB0
MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NzYKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSAr
IGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3Bf
X29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9m
aWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMDRfbG9hZF9f
ZG9uZSkKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEwNV9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRf
X2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19t
YWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMTA1X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9w
X19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJv
ZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTA1X2xvYWRf
X2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNB
U1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSAr
ICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmls
ZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fMTA1X2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMjAK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtp
bmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRf
X2ZuX18xMDVfZm5fX3Nsb3c7CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMjEKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2Zu
X18xMDVfZm5fX3Nsb3c7CiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgJiB0MS5pMzIoKSk7
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNTIKICAgIHQw
ID0gdDAuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTIyMwogICAgdDMgPSB0MC5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2OQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAzOCk7
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDEuaTMyKCkgIT0g
MCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1v
bkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0
dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fMTA1X21ldGFkYXRhX19zZXRV
cE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsg
MTk2KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5k
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19m
bl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzEwNV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0
MiA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzUKICAgIHQyID0gKHVpbnQzMl90
KSh0Mi5pMzIoKSAqIGludDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5NwogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICsgdDIuaTMyKCkpOyAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MSA9IHQx
LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSkgPSB0My5p
NjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAg
IHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0My5pNjQoKTsgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjczCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVk
X19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bWFrZVJldHVyblByb2ZpbGVkX19mbl9fMTA1X2ZuX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9
IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9iaXRhbmQodDAsIHQx
KTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0
MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5
CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX2JpdGFuZF93aWRlMTYpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTA2X2xvYWRfX2NvbnN0YW50Owog
ICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fYml0
T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18xMDZfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9f
Y29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21h
a2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18xMDZfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQog
ICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+
KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
Yml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18xMDZfbG9hZF9fZG9uZSkKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRy
X3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25C
aXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVy
blByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEwN19s
b2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTA3X2xvYWRfX2RvbmU7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMTA3X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODEKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MCA9
ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTA3X2xvYWRfX2RvbmUpCiAgICBpZiAo
dDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjEyMjAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9w
UHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX18xMDdfZm5fX3Nsb3c7CiAgICBpZiAodDEu
dTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEyMjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJv
ZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX18xMDdfZm5fX3Nsb3c7CiAgICB0MCA9ICh1aW50
MzJfdCkodDAuaTMyKCkgJiB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEyNTIKICAgIHQwID0gdDAuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTIyMwog
ICAgdDMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2OQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+
KG1ldGFkYXRhVGFibGUuaThwKCkgKyAzOCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzkyCiAgICBpZiAodDEuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19t
ZXRhZGF0YV9fMTA3X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMy
X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTk2KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFBy
b2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzEwN19t
ZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4OCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQzCiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKiBpbnQzMl90KDB4MTgpKTsg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQxID0gKHVpbnQz
Ml90KSh0MS5pMzIoKSArIHQyLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDEgPSB0MS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FT
VDxpbnQ2NF90Kj4odDEuaThwKCkpID0gdDMuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEu
aSgpIDw8IDMpKSA9IHQzLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzMKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX18xMDdf
Zm5fX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3Vy
cmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gc2xvd19wYXRoX2JpdGFuZCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1
bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAg
cGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfYml0YW5kX3dpZGUzMikKICAg
IHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDIgPSAqQ0FTVDxp
bnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4
NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3Bf
X29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9m
aWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMDhfbG9hZF9f
Y29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2Zm
bGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEwOF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRP
cFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzEwOF9sb2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDg3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDAgPSB0MC5p
KCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1v
bkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0
dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTA4
X2xvYWRfX2RvbmUpCiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMDlfbG9hZF9fY29uc3RhbnQ7CiAgICB0
MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFBy
b2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzEwOV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21t
b25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJl
dHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEw
OV9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAx
Nik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0
MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDIgPSB0Mi5pKCkgLSBpbnRwdHJfdCgw
eDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTA5X2xvYWRfX2RvbmUpCiAg
ICBpZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMjAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX18xMDlfZm5fX3Nsb3c7CiAgICBp
ZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Jp
dE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX18xMDlfZm5fX3Nsb3c7CiAgICB0MCA9
ICh1aW50MzJfdCkodDAuaTMyKCkgJiB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjEyNTIKICAgIHQwID0gdDAuaTY0KCkgfCBudW1iZXJUYWcu
aTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTIyMwogICAgdDMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2OQogICAgdDEgPSAqQ0FTVDx1aW50
MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAzOCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzkyCiAgICBpZiAodDEuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0
dXJuX19tZXRhZGF0YV9fMTA5X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQxID0gKkNBU1Q8
dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTk2KTsgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9i
aXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFf
XzEwOV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4ZSkpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUxCiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKiBpbnQzMl90KDB4
MTgpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQxID0g
KHVpbnQzMl90KSh0MS5pMzIoKSArIHQyLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDEgPSB0MS5pKCkgKyBtZXRhZGF0YVRhYmxlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAg
ICAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkpID0gdDMuaTY0KCk7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgp
IDw8IDMpKSA9IHQzLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzMKICAgIHBj
ID0gcGMuaSgpICsgaW50cHRyX3QoMHgxMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX18xMDlfZm5f
X3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVu
dFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0
ID0gc2xvd19wYXRoX2JpdGFuZCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMg
PSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgx
Mik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfYml0b3IpCiAgICB0MCA9IChpbnQ2
NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgdDIgPSAoaW50NjRfdCkq
Q0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MC5pKCkgPj0gaW50cHRy
X3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25C
aXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVy
blByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzExMF9s
b2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3Rv
IF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTEwX2xvYWRfX2RvbmU7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMTEwX2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0NzUKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MSA9
ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTEwX2xvYWRfX2RvbmUpCiAgICBpZiAo
dDIuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQ
cm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18xMTFfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9f
b3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2Zp
bGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzExMV9sb2FkX19k
b25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzExMV9sb2FkX19jb25zdGFudCkKICAg
IHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4o
dDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ3NgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMp
ICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRP
cF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblBy
b2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzExMV9sb2Fk
X19kb25lKQogICAgaWYgKHQwLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIwCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fMTExX2ZuX19z
bG93OwogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIxCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fMTExX2ZuX19zbG93
OwogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpIHwgdDEuaTMyKCkpOyAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjU1CiAgICB0MCA9IHQwLmk2NCgpIHwg
bnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEyMjMKICAgIHQzID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjkKICAgIHQxID0g
KkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNDApOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQxLmkzMigpICE9IDApICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5k
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19m
bl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzExMV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0
MSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDIwMCk7ICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5f
X21ldGFkYXRhX18xMTFfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDIgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKiBp
bnQzMl90KDB4MTgpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcK
ICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSArIHQyLmkzMigpKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDEgPSB0MS5pKCkgKyBtZXRhZGF0
YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkpID0gdDMuaTY0KCk7ICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MSA9IChpbnQ2NF90
KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNm
ci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3Bf
X29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9m
aWxlZF9fZm5fXzExMV9mbl9fc2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0
CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xv
b3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfYml0b3IodDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmko
KSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEg
PSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2JpdG9y
X3dpZGUxNikKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NwogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3
CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18xMTJfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21t
b25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJl
dHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEx
Ml9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BL
aW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVk
X19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzExMl9sb2FkX19jb25z
dGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MSA9ICpDQVNUPGlu
dHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ4MgogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19j
b21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFr
ZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzExMl9sb2FkX19kb25lKQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTEzX2xvYWRfX2NvbnN0YW50Owog
ICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fYml0
T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18xMTNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9f
Y29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21h
a2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18xMTNfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+
KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
Yml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18xMTNfbG9hZF9fZG9uZSkKICAgIGlmICh0MC51NjQoKSA8IG51bWJl
clRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTIyMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9u
Qml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1
cm5Qcm9maWxlZF9fZm5fXzExM19mbl9fc2xvdzsKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRh
Zy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTIyMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0
T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Q
cm9maWxlZF9fZm5fXzExM19mbl9fc2xvdzsKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSB8
IHQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTI1NQogICAgdDAgPSB0MC5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIzCiAgICB0MyA9IHQwLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjY5CiAgICB0MSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5p
OHAoKSArIDQwKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0
MS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9m
aWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX18xMTNfbWV0
YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFi
bGUuaThwKCkgKyAyMDApOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJp
dE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJu
UHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fMTEzX21ldGFkYXRhX19zZXRVcE9m
ZnNldCkKICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHg4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQy
ID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAqIGludDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICsg
dDIuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4
CiAgICB0MSA9IHQxLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0MS5p
OHAoKSkgPSB0My5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NzkKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMu
aTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
Yml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fXzExM19mbl9fc2xvdykKICAgIHBj
ID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVy
KHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhf
Yml0b3IodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAg
fQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX2JpdG9yX3dpZGUzMikKICAgIHQwID0gKkNBU1Q8aW50MzJf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDIgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU1CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMTRfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2Zp
bGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzExNF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25C
aXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVy
blByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzExNF9s
b2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MSA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDAgPSB0MC5pKCkgLSBpbnRwdHJfdCgweDQw
MDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODkKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTE0X2xvYWRfX2RvbmUpCiAgICBp
ZiAodDIuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0
T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18xMTVfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRP
cF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblBy
b2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzExNV9sb2Fk
X19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzExNV9sb2FkX19jb25zdGFudCkK
ICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90
Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4OAogICAgdDIgPSB0Mi5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTE1X2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBu
dW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEyMjAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2Nv
bW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtl
UmV0dXJuUHJvZmlsZWRfX2ZuX18xMTVfZm5fX3Nsb3c7CiAgICBpZiAodDEudTY0KCkgPCBudW1i
ZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEyMjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1v
bkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0
dXJuUHJvZmlsZWRfX2ZuX18xMTVfZm5fX3Nsb3c7CiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMy
KCkgfCB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEyNTUKICAgIHQwID0gdDAuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTIyMwogICAgdDMgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2OQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFi
bGUuaThwKCkgKyA0MCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBp
ZiAodDEuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9w
UHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fMTE1
X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0
YVRhYmxlLmk4cCgpICsgMjAwKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21t
b25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJl
dHVyblByb2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzExNV9tZXRhZGF0YV9fc2V0
VXBPZmZzZXQpCiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4ZSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAg
ICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKiBpbnQzMl90KDB4MTgpKTsgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIo
KSArIHQyLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5OAogICAgdDEgPSB0MS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4o
dDEuaThwKCkpID0gdDMuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjc5CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUK
ICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQzLmk2NCgp
OyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzMKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHgxMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9w
UHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX18xMTVfZm5fX3Nsb3cpCiAgICBwYyA9IHBj
LmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQK
ICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52
cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2JpdG9y
KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAg
IHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEyKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9iaXR4b3IpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozOQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzkKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzExNl9sb2FkX19jb25zdGFudDsKICAg
IHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9w
UHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMTE2X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAx
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2Nv
bW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtl
UmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
MTE2X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAr
IDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAg
IHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Jp
dE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMTE2X2xvYWRfX2RvbmUpCiAgICBpZiAodDIuaSgpID49IGludHB0cl90
KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0
T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Q
cm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMTdfbG9h
ZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgp
IDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBf
b2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzExN19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9i
aXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzExN19sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDc1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAgPSAq
Q0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzExN19sb2FkX19kb25lKQogICAgaWYgKHQw
LnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFBy
b2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fMTE3X2ZuX19zbG93OwogICAgaWYgKHQxLnU2
NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMjIxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2Zp
bGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fMTE3X2ZuX19zbG93OwogICAgdDAgPSAodWludDMy
X3QpKHQwLmkzMigpIF4gdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMjU4CiAgICB0MCA9IHQwLmk2NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMjMKICAg
IHQzID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjkKICAgIHQxID0gKkNBU1Q8dWludDE2X3QqPiht
ZXRhZGF0YVRhYmxlLmk4cCgpICsgNDIpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5MgogICAgaWYgKHQxLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0
YWRhdGFfXzExN19tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90
Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDIwNCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9m
aWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX18xMTdfbWV0
YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDIgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKiBpbnQzMl90KDB4MTgpKTsgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQxID0gKHVpbnQzMl90
KSh0MS5pMzIoKSArIHQyLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5OAogICAgdDEgPSB0MS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxp
bnQ2NF90Kj4odDEuaThwKCkpID0gdDMuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkg
PDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MwogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fXzExN19mbl9f
c2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50
U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQg
PSBzbG93X3BhdGhfYml0eG9yKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwg
dDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9
IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9iaXR4b3Jfd2lkZTE2KQogICAgdDAg
PSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICB0MiA9IChp
bnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0MC5pKCkg
Pj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVk
X19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzExOF9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5
CiAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTE4X2xvYWRfX2RvbmU7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTE4X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAo
KSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgy
CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykgKyBpbnRw
dHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtp
bmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRf
X2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTE4X2xvYWRfX2RvbmUp
CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18xMTlfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21t
b25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJl
dHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEx
OV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BL
aW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVk
X19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzExOV9sb2FkX19jb25z
dGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MCA9ICpDQVNUPGlu
dHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIu
aSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19j
b21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFr
ZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzExOV9sb2FkX19kb25lKQogICAgaWYgKHQwLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIwCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9f
MTE5X2ZuX19zbG93OwogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIxCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fMTE5
X2ZuX19zbG93OwogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpIF4gdDEuaTMyKCkpOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjU4CiAgICB0MCA9IHQw
Lmk2NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEyMjMKICAgIHQzID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjkK
ICAgIHQxID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNDIpOyAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQxLmkzMigpICE9IDApICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRP
cF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblBy
b2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzExOV9tZXRhZGF0YV9fc2V0VXBPZmZz
ZXQ7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDIwNCk7
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2Zu
X19yZXR1cm5fX21ldGFkYXRhX18xMTlfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDIgPSAq
Q0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDIgPSAodWludDMyX3QpKHQy
LmkzMigpICogaW50MzJfdCgweDE4KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk3CiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKyB0Mi5pMzIoKSk7ICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQxID0gdDEuaSgp
ICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpKSA9IHQzLmk2NCgp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDEg
PSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0My5pNjQoKTsgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjczCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19j
b21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFr
ZVJldHVyblByb2ZpbGVkX19mbl9fMTE5X2ZuX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBj
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcK
ICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9iaXR4b3IodDAsIHQxKTsK
ICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAg
ICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xB
QkVMKG9wX2JpdHhvcl93aWRlMzIpCiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTUKICAgIHQyID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAg
aWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Jp
dE9wUHJvZmlsZWRfX2NvbW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMTIwX2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0
T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Q
cm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMjBfbG9h
ZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5f
X2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMjBfbG9hZF9fY29uc3RhbnQp
CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODgKICAgIHQwID0gdDAuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MSA9ICpD
QVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzEyMF9sb2FkX19kb25lKQogICAgaWYgKHQyLmkoKSA+PSBp
bnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2JpdE9wUHJvZmlsZWRfX2Nv
bW1vbkJpdE9wX19vcEtpbmRfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtl
UmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
MTIxX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAg
IGdvdG8gX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2Zu
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMjFfbG9hZF9fZG9uZTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2luZF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX18xMjFfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNU
PGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsg
MTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAg
IHQyID0gdDIuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0
MC5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2Zp
bGVkX19jb21tb25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzEyMV9sb2FkX19kb25lKQogICAgaWYgKHQwLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIw
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BL
aW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVk
X19mbl9fMTIxX2ZuX19zbG93OwogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjIxCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21tb25CaXRPcF9fb3BLaW5k
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19m
bl9fMTIxX2ZuX19zbG93OwogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpIF4gdDEuaTMyKCkp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjU4CiAgICB0
MCA9IHQwLmk2NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyMjMKICAgIHQzID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjkKICAgIHQxID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNDIp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQxLmkzMigpICE9
IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21t
b25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJl
dHVyblByb2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzEyMV9tZXRhZGF0YV9fc2V0
VXBPZmZzZXQ7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSAr
IDIwNCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fYml0T3BQcm9maWxlZF9fY29tbW9uQml0T3BfX29wS2lu
ZF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9f
Zm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX18xMjFfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAg
dDIgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweGUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MQogICAgdDIgPSAodWludDMy
X3QpKHQyLmkzMigpICogaW50MzJfdCgweDE4KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzk3CiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKyB0Mi5pMzIoKSk7
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQxID0g
dDEuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpKSA9IHQz
Lmk2NCgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQog
ICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0My5pNjQoKTsgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjczCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTIpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQw
ID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVN
YXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9iaXRPcFByb2ZpbGVkX19jb21t
b25CaXRPcF9fb3BLaW5kX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJl
dHVyblByb2ZpbGVkX19mbl9fMTIxX2ZuX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2Uu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAg
ICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAg
U2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9iaXR4b3IodDAsIHQxKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4MTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX2JpdG5vdCkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM5CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJ
bnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTIyX2xvYWRfX2NvbnN0YW50
OwogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFr
ZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTIyX2xvYWRfX2RvbmU7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21h
a2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEyMl9sb2FkX19jb25zdGFudCkKICAgIHQz
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMu
aThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ3NgogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDAuaSgpIDw8IDMpICsg
aW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18xMjJfbG9hZF9fZG9uZSkKICAgIGlmICh0My51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTMwCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fb3BCaXROb3RTbG93
OwogICAgdDMgPSAodWludDMyX3QpKH50My5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjYzCiAgICB0MyA9IHQzLmk2NCgpIHwg
bnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEyNjQKICAgIHQzID0gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjkKICAgIHQxID0g
KkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNDgpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQxLmkzMigpICE9IDApICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19t
ZXRhZGF0YV9fMTIyX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMy
X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMjE2KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJu
UHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fMTIyX21ldGFkYXRhX19zZXRVcE9m
ZnNldCkKICAgIHQyID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNQogICAgdDIg
PSAodWludDMyX3QpKHQyLmkzMigpICogaW50MzJfdCgweDE4KSk7ICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKyB0
Mi5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgK
ICAgIHQxID0gdDEuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50NjRfdCo+KHQxLmk4
cCgpKSA9IHQzLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo3OQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQzLmk2
NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzMKICAgIHBjID0gcGMuaSgpICsgaW50
cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8
dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VS
ZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19vcEJpdE5vdFNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0g
cGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
NwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAg
ICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2JpdG5vdCh0MCwgdDEp
OwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVf
TEFCRUwob3BfYml0bm90X3dpZGUxNikKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEyM19s
b2FkX19jb25zdGFudDsKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEyM19sb2FkX19kb25l
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMjNfbG9hZF9fY29u
c3RhbnQpCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDMgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQzLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODIKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9m
aWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVk
X19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMTIzX2xvYWRfX2RvbmUpCiAgICBpZiAodDMudTY0KCkgPCBudW1iZXJU
YWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUzMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fMTIz
X2ZuX19vcEJpdE5vdFNsb3c7CiAgICB0MyA9ICh1aW50MzJfdCkofnQzLmkzMigpKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNjMKICAg
IHQzID0gdDMuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI2NAogICAgdDMgPSB0My5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2OQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA0
OCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDEuaTMyKCkg
IT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmls
ZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9f
Zm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX18xMjNfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAg
dDEgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAyMTYpOyAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX18xMjNf
bWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0MwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICogaW50MzJfdCgweDE4KSk7
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MSA9ICh1aW50
MzJfdCkodDEuaTMyKCkgKyB0Mi5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTgKICAgIHQxID0gdDEuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNB
U1Q8aW50NjRfdCo+KHQxLmk4cCgpKSA9IHQzLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQx
LmkoKSA8PCAzKSkgPSB0My5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjczCiAg
ICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX18xMjNfZm5fX29wQml0Tm90U2xv
dykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBz
bG93X3BhdGhfYml0bm90KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAs
IHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBj
LmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9iaXRub3Rfd2lkZTMyKQogICAgdDAgPSAq
Q0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4
NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDAuaSgpID49IGludHB0
cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMTI0X2xvYWRfX2NvbnN0YW50OwogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRD
b25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
MTI0X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzEyNF9sb2FkX19jb25zdGFudCkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkg
KyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAg
ICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDAgPSB0MC5pKCkgLSBpbnRwdHJf
dCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODkKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEy
NF9sb2FkX19kb25lKQogICAgaWYgKHQzLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzAKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fXzEyNF9mbl9fb3BCaXROb3RTbG93
OwogICAgdDMgPSAodWludDMyX3QpKH50My5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjYzCiAgICB0MyA9IHQzLmk2NCgpIHwg
bnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEyNjQKICAgIHQzID0gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjkKICAgIHQxID0g
KkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNDgpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQxLmkzMigpICE9IDApICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19t
ZXRhZGF0YV9fMTI0X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMy
X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMjE2KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJu
UHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fMTI0X21ldGFkYXRhX19zZXRVcE9m
ZnNldCkKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIHQy
ID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAqIGludDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICsg
dDIuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4
CiAgICB0MSA9IHQxLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0MS5p
OHAoKSkgPSB0My5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NzkKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAg
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgw
eGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblBy
b2ZpbGVkX19mbl9fMTI0X2ZuX19vcEJpdE5vdFNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwog
ICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAg
ICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2JpdG5vdCh0MCwgdDEpOwog
ICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFC
RUwob3Bfb3ZlcnJpZGVzX2hhc19pbnN0YW5jZSkKICAgIHQzID0gKGludDY0X3QpKkNBU1Q8aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEyNV9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEyNV9sb2FkX19k
b25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18xMjVfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3NQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQw
ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC0x
MjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTI1X2xvYWRfX2RvbmUpCiAgICB0MiA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEyNzcKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDgpOyAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI3OAogICAgdDIg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgNDU2KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjc5CiAgICBpZiAodDAuaTY0KCkgIT0gdDIuaTY0KCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEyODAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X29wT3ZlcnJpZGVzSGFzSW5zdGFuY2VOb3REZWZhdWx0U3ltYm9sOwogICAgdDEgPSAoaW50NjRf
dCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MS5pKCkgPj0gaW50
cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMjZfbG9hZF9fY29uc3Rh
bnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18xMjZfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTI2X2xvYWRfX2NvbnN0YW50KQog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwg
MykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEyNl9sb2FkX19kb25lKQogICAg
dDEgPSAoKCpDQVNUPGludDhfdCo+KHQwLmk4cCgpICsgNikgJiBpbnQ4X3QoMHgyKSkgPT0gMCk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI4NAogICAgdDEgPSB0MS5pNjQoKSB8IGludDY0
X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMjg1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSkg
PSB0MS5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyODYKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX29wT3ZlcnJpZGVzSGFzSW5zdGFuY2VO
b3REZWZhdWx0U3ltYm9sKQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5pKCkg
PDwgMykpID0gaW50NjRfdCgweDcpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyOTAKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFC
RUwob3Bfb3ZlcnJpZGVzX2hhc19pbnN0YW5jZV93aWRlMTYpCiAgICB0MyA9IChpbnQ2NF90KSpD
QVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8
aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgw
eDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEyN19sb2FkX19jb25zdGFudDsKICAg
IHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEy
N19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMjdfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4
cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGlu
dHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTI3X2xvYWRfX2RvbmUpCiAgICB0MiA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEyNzcKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAo
KSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI3
OAogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgNDU2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjc5CiAgICBpZiAodDAuaTY0KCkgIT0g
dDIuaTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEyODAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fMTI4X2ZuX19vcE92ZXJyaWRlc0hhc0luc3RhbmNlTm90RGVmYXVsdFN5bWJvbDsKICAg
IHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYg
KHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEy
OF9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzEyOF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMjhfbG9h
ZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTI4X2xv
YWRfX2RvbmUpCiAgICB0MSA9ICgoKkNBU1Q8aW50OF90Kj4odDAuaThwKCkgKyA2KSAmIGludDhf
dCgweDIpKSA9PSAwKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjg0CiAgICB0MSA9IHQx
Lmk2NCgpIHwgaW50NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEyODUKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDMuaSgpIDw8IDMpKSA9IHQxLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI4
NgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX18xMjhfZm5fX29wT3Zl
cnJpZGVzSGFzSW5zdGFuY2VOb3REZWZhdWx0U3ltYm9sKQogICAgKkNBU1Q8aW50NjRfdCo+KGNm
ci5pOHAoKSArICh0My5pKCkgPDwgMykpID0gaW50NjRfdCgweDcpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEyOTAKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAq
Q0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZM
SU5FX0FTTV9PUENPREVfTEFCRUwob3Bfb3ZlcnJpZGVzX2hhc19pbnN0YW5jZV93aWRlMzIpCiAg
ICB0MyA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQxID0gKkNBU1Q8
aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgw
eDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEyOV9sb2FkX19jb25zdGFudDsKICAg
IHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEy
OV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMjlfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4
cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0
X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18x
MjlfbG9hZF9fZG9uZSkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI3NwogICAgdDIg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjc4CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIu
aThwKCkgKyA0NTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEyNzkKICAgIGlmICh0MC5pNjQoKSAhPSB0Mi5pNjQoKSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI4MAogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX18xMzBfZm5fX29wT3ZlcnJpZGVzSGFzSW5z
dGFuY2VOb3REZWZhdWx0U3ltYm9sOwogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU1CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMTMwX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTMwX2xvYWRfX2RvbmU7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzEzMF9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDEgPSB0MS5pKCkg
LSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQx
LmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEzMF9sb2FkX19kb25lKQogICAg
dDEgPSAoKCpDQVNUPGludDhfdCo+KHQwLmk4cCgpICsgNikgJiBpbnQ4X3QoMHgyKSkgPT0gMCk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI4NAogICAgdDEgPSB0MS5pNjQoKSB8IGludDY0
X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMjg1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSkg
PSB0MS5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyODYKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fMTMwX2ZuX19vcE92ZXJyaWRlc0hhc0luc3Rh
bmNlTm90RGVmYXVsdFN5bWJvbCkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDMu
aSgpIDw8IDMpKSA9IGludDY0X3QoMHg3KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjkw
CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX2lzX2VtcHR5KQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzkKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18xMzFfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAog
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18xMzFfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMTMxX2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9
ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzEzMV9sb2FkX19kb25lKQogICAgdDMgPSAodDAudTY0KCkgPT0gdWludDY0X3QoMHgwKSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjk4CiAgICB0
MyA9IHQzLmk2NCgpIHwgaW50NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyOTkKICAgIHQyID0gdDMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5
CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQo
KTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2lzX2VtcHR5X3dpZGUx
NikKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0Nwog
ICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEzMl9sb2FkX19jb25z
dGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEzMl9sb2FkX19k
b25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18xMzJfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+
KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTMyX2xvYWRfX2RvbmUp
CiAgICB0MyA9ICh0MC51NjQoKSA9PSB1aW50NjRfdCgweDApKTsgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyOTgKICAgIHQzID0gdDMuaTY0KCkgfCBp
bnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTI5OQogICAgdDIgPSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAo
aW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQw
ID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVN
YXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
T0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2lzX2VtcHR5X3dpZGUzMikKICAgIHQxID0gKkNB
U1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJf
dCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzEzM19sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzEzM19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMzNfbG9hZF9fY29uc3RhbnQpCiAg
ICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNU
PGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMzNfbG9hZF9fZG9u
ZSkKICAgIHQzID0gKHQwLnU2NCgpID09IHVpbnQ2NF90KDB4MCkpOyAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI5OAogICAgdDMgPSB0My5pNjQoKSB8
IGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMjk5CiAgICB0MiA9IHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9
ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5F
X0FTTV9PUENPREVfTEFCRUwob3BfaXNfdW5kZWZpbmVkKQogICAgdDEgPSAoaW50NjRfdCkqQ0FT
VDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3Qo
MHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18xMzRfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18xMzRfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTM0X2xvYWRfX2NvbnN0YW50KQogICAg
dDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0
MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykg
KyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzEzNF9sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENl
bGxNYXNrLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMzA3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19vcElzVW5kZWZpbmVk
Q2VsbDsKICAgIHQzID0gKHQwLnU2NCgpID09IHVpbnQ2NF90KDB4YSkpOyAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMwOAogICAgdDMgPSB0My5pNjQo
KSB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMzA5CiAgICB0MiA9IHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0
MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDMpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fb3BJc1Vu
ZGVmaW5lZENlbGwpCiAgICBpZiAoKCpDQVNUPGludDhfdCo+KHQwLmk4cCgpICsgNikgJiBpbnQ4
X3QoMHgxKSkgIT0gMCkgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTIKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fMTM0X2ZuX19tYXNxdWVyYWRlc0FzVW5kZWZpbmVkOwogICAg
dDEgPSBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzEzCiAgICB0MiA9IHQxLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
OQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0
KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X18xMzRfZm5fX21hc3F1ZXJhZGVzQXNVbmRlZmluZWQpCiAgICB0MyA9ICpDQVNUPHVpbnQzMl90
Kj4odDAuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjYxNwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDYKICAgIHQyID0gdDMu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjA3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkg
KyA4MCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwOAog
ICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpID4+IChpbnRwdHJfdCgweDcpICYgMHgxZikpOyAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MS5pOHAoKSArIDIyNCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjEwCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAodDIuaSgpIDw8
IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMQogICAgdDMgPSB0My5p
KCkgPDwgKGludHB0cl90KDB4MzApICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2Yg
OiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEyCiAgICB0MyA9IHQzLmkoKSBe
IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjYxMwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzE3CiAgICB0
MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTgKICAgIHQwID0gKCpDQVNUPHVpbnRwdHJfdCo+
KHQzLmk4cCgpICsgMjQpID09IHQxLnUoKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTMxOQogICAgdDAgPSB0MC5pNjQoKSB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzIwCiAgICB0MiA9IHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9p
c191bmRlZmluZWRfd2lkZTE2KQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMTM1X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkK
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fMTM1X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzEzNV9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAg
PSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUx
MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18xMzVfbG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkg
PT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMwNwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18xMzVfZm5fX29wSXNVbmRlZmluZWRDZWxsOwogICAg
dDMgPSAodDAudTY0KCkgPT0gdWludDY0X3QoMHhhKSk7ICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzA4CiAgICB0MyA9IHQzLmk2NCgpIHwgaW50NjRf
dCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEzMDkKICAgIHQyID0gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0
X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18xMzVfZm5fX29wSXNVbmRlZmlu
ZWRDZWxsKQogICAgaWYgKCgqQ0FTVDxpbnQ4X3QqPih0MC5pOHAoKSArIDYpICYgaW50OF90KDB4
MSkpICE9IDApICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzEyCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fXzEzNV9mbl9fbWFzcXVlcmFkZXNBc1VuZGVmaW5lZDsKICAgIHQxID0g
aW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTMxMwogICAgdDIgPSB0MS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAg
ICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzEz
NV9mbl9fbWFzcXVlcmFkZXNBc1VuZGVmaW5lZCkKICAgIHQzID0gKkNBU1Q8dWludDMyX3QqPih0
MC5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjE3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwNgogICAgdDIgPSB0My5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2MDcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDgw
KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA4CiAgICB0
MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgPj4gKGludHB0cl90KDB4NykgJiAweDFmKSk7ICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwOQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCgpICsgMjI0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2MTAKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArICh0Mi5pKCkgPDwgMykp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjExCiAgICB0MyA9IHQzLmkoKSA8
PCAoaW50cHRyX3QoMHgzMCkgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4
MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTIKICAgIHQzID0gdDMuaSgpIF4gdDIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NjEzCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTcKICAgIHQxID0g
KkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTMxOAogICAgdDAgPSAoKkNBU1Q8dWludHB0cl90Kj4odDMu
aThwKCkgKyAyNCkgPT0gdDEudSgpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MzE5CiAgICB0MCA9IHQwLmk2NCgpIHwgaW50NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMjAKICAgIHQyID0gdDAuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykp
ID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5p
KCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9pc191
bmRlZmluZWRfd2lkZTMyKQogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU1CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTM2X2xvYWRf
X2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8
PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTM2X2xv
YWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzEzNl9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDEgPSB0MS5pKCkgLSBp
bnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmko
KSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzEzNl9sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENl
bGxNYXNrLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMzA3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzEzNl9mbl9fb3BJc1VuZGVm
aW5lZENlbGw7CiAgICB0MyA9ICh0MC51NjQoKSA9PSB1aW50NjRfdCgweGEpKTsgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMDgKICAgIHQzID0gdDMu
aTY0KCkgfCBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTMwOQogICAgdDIgPSB0My5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAog
ICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQw
ID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVN
YXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzEzNl9mbl9fb3BJc1Vu
ZGVmaW5lZENlbGwpCiAgICBpZiAoKCpDQVNUPGludDhfdCo+KHQwLmk4cCgpICsgNikgJiBpbnQ4
X3QoMHgxKSkgIT0gMCkgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTIKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fMTM2X2ZuX19tYXNxdWVyYWRlc0FzVW5kZWZpbmVkOwogICAg
dDEgPSBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzEzCiAgICB0MiA9IHQxLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjYwCiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhh
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMTM2X2Zu
X19tYXNxdWVyYWRlc0FzVW5kZWZpbmVkKQogICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4
cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MTcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA2CiAgICB0MiA9IHQzLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjYwNwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgODApOyAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDgKICAgIHQyID0g
KHVpbnQzMl90KSh0Mi5pMzIoKSA+PiAoaW50cHRyX3QoMHg3KSAmIDB4MWYpKTsgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjA5CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThw
KCkgKyAyMjQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYx
MAogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTEKICAgIHQzID0gdDMuaSgpIDw8IChp
bnRwdHJfdCgweDMwKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMgogICAgdDMgPSB0My5pKCkgXiB0Mi5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MTMKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMxNwogICAgdDEgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMzE4CiAgICB0MCA9ICgqQ0FTVDx1aW50cHRyX3QqPih0My5pOHAo
KSArIDI0KSA9PSB0MS51KCkpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMTkK
ICAgIHQwID0gdDAuaTY0KCkgfCBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTMyMAogICAgdDIgPSB0MC5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo2MAogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAg
ICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2lzX2Jvb2xlYW4pCiAgICB0
MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQx
LmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEzN19sb2FkX19jb25zdGFudDsKICAg
IHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEzN19sb2FkX19kb25lOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xMzdfbG9h
ZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDAgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTM3X2xvYWRfX2RvbmUpCiAgICB0MCA9
IHQwLmk2NCgpIF4gaW50NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjEzMjgKICAgIHQwID0gKCh0MC5pNjQoKSAmIGludDY0X3Qo
LTIpKSA9PSAwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTMyOQogICAgdDAgPSB0MC5pNjQoKSB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzMwCiAgICB0MiA9IHQwLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykp
ID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5p
KCkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9pc19i
b29sZWFuX3dpZGUxNikKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NwogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzEz
OF9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzEzOF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18xMzhfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4MQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTM4
X2xvYWRfX2RvbmUpCiAgICB0MCA9IHQwLmk2NCgpIF4gaW50NjRfdCgweDYpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMjgKICAgIHQwID0g
KCh0MC5pNjQoKSAmIGludDY0X3QoLTIpKSA9PSAwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTMyOQogICAgdDAgPSB0MC5pNjQoKSB8IGludDY0X3QoMHg2
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MzMwCiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpD
QVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9PUENPREVfTEFCRUwob3BfaXNfYm9vbGVhbl93aWRlMzIpCiAgICB0MSA9ICpDQVNUPGludDMy
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MDAw
MDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18xMzlfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18xMzlfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTM5X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAo
KSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4
CiAgICB0MSA9IHQxLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90
Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTM5X2xvYWRfX2RvbmUpCiAgICB0
MCA9IHQwLmk2NCgpIF4gaW50NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMjgKICAgIHQwID0gKCh0MC5pNjQoKSAmIGludDY0
X3QoLTIpKSA9PSAwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTMyOQogICAgdDAgPSB0MC5pNjQoKSB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzMwCiAgICB0MiA9IHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTUKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQy
Lmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfaXNfbnVtYmVy
KQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAg
IGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNDBfbG9hZF9fY29uc3Rh
bnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNDBfbG9hZF9fZG9u
ZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
MTQwX2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAr
IDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAg
IHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0
MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE0MF9sb2FkX19kb25lKQog
ICAgdDEgPSAoKHQwLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSAhPSAwKTsgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzM4CiAgICB0MSA9IHQxLmk2NCgpIHwgaW50
NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEzMzkKICAgIHQyID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGlu
dDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Myk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2lzX251bWJlcl93aWRlMTYpCiAgICB0MSA9IChpbnQ2
NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0MS5pKCkgPj0g
aW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNDFfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNDFfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTQxX2xvYWRfX2NvbnN0
YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQwID0gKkNBU1Q8aW50
cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDgyCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5p
KCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgz
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE0MV9sb2FkX19kb25lKQogICAgdDEgPSAoKHQwLmk2
NCgpICYgbnVtYmVyVGFnLmk2NCgpKSAhPSAwKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMzM4CiAgICB0MSA9IHQxLmk2NCgpIHwgaW50NjRfdCgweDYpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzkKICAg
IHQyID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50
MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF9pc19udW1iZXJfd2lkZTMyKQogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMTQyX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgK
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fMTQyX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzE0Ml9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDEg
PSB0MS5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4
cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE0Ml9sb2FkX19kb25lKQogICAgdDEgPSAoKHQw
Lmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSAhPSAwKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMzM4CiAgICB0MSA9IHQxLmk2NCgpIHwgaW50NjRfdCgweDYpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzMzkK
ICAgIHQyID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5p
KCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAg
cGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJF
TChvcF9pc19iaWdfaW50KQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzkKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18x
NDNfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18xNDNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMTQzX2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpD
QVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE0
M19sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAw
KSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQ3CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19ub3RDZWxsQ2FzZTsKICAgIHQxID0gKCpDQVNUPHVp
bnQ4X3QqPih0MC5pOHAoKSArIDUpID09IHVpbnQ4X3QoMHgyKSk7ICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTM0OAogICAgdDEgPSB0MS5pNjQoKSB8IGludDY0X3QoMHg2KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQ5CiAgICB0
MiA9IHQxLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2Mgog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbm90Q2VsbENhc2UpCiAgICB0MCA9IHQwLmk2NCgp
ICYgaW50NjRfdCgtNTYyOTQ5OTUzNDIxMjk0KTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEzNTIKICAgIHQwID0gKHQwLnU2NCgpID09IHVpbnQ2NF90KDB4MTIpKTsg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM1MwogICAg
dDAgPSB0MC5pNjQoKSB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzU0CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
OQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0
KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9pc19iaWdfaW50X3dp
ZGUxNikKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NwogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE0NF9sb2FkX19j
b25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE0NF9sb2Fk
X19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18xNDRfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
MQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRf
dCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTQ0X2xvYWRfX2Rv
bmUpCiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNDcKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fMTQ0X2ZuX19ub3RDZWxsQ2FzZTsKICAgIHQxID0gKCpDQVNUPHVpbnQ4X3Qq
Pih0MC5pOHAoKSArIDUpID09IHVpbnQ4X3QoMHgyKSk7ICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTM0OAogICAgdDEgPSB0MS5pNjQoKSB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQ5CiAgICB0MiA9IHQx
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgp
IDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBj
ID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fMTQ0X2ZuX19ub3RDZWxsQ2FzZSkKICAgIHQwID0gdDAuaTY0KCkg
JiBpbnQ2NF90KC01NjI5NDk5NTM0MjEyOTQpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTM1MgogICAgdDAgPSAodDAudTY0KCkgPT0gdWludDY0X3QoMHgxMikpOyAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzUzCiAgICB0
MCA9IHQwLmk2NCgpIHwgaW50NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNTQKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0
KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9pc19iaWdfaW50X3dp
ZGUzMikKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYg
KHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE0NV9sb2FkX19jb25zdGFudDsK
ICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE0NV9sb2FkX19kb25lOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNDVf
bG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0
MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18xNDVfbG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQo
KSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM0Nwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18xNDVfZm5fX25vdENlbGxDYXNlOwogICAgdDEg
PSAoKkNBU1Q8dWludDhfdCo+KHQwLmk4cCgpICsgNSkgPT0gdWludDhfdCgweDIpKTsgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzQ4CiAgICB0MSA9IHQxLmk2NCgpIHwgaW50NjRfdCgw
eDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzNDkKICAgIHQyID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50
MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18xNDVfZm5fX25vdENlbGxDYXNlKQogICAgdDAgPSB0
MC5pNjQoKSAmIGludDY0X3QoLTU2Mjk0OTk1MzQyMTI5NCk7ICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMzUyCiAgICB0MCA9ICh0MC51NjQoKSA9PSB1aW50NjRfdCgw
eDEyKSk7ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEz
NTMKICAgIHQwID0gdDAuaTY0KCkgfCBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM1NAogICAgdDIgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MAogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1
CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQo
KTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2lzX2NlbGxfd2l0aF90
eXBlKQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0MSA9
IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQxLmko
KSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE0Nl9sb2FkX19jb25zdGFudDsKICAgIHQz
ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE0Nl9sb2FkX19kb25lOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNDZfbG9hZF9f
Y29uc3RhbnQpCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDMgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsg
KHQxLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTQ2X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQz
Lmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEzNjgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMTQ2
X2ZuX19ub3RDZWxsQ2FzZTsKICAgIHQxID0gKCpDQVNUPHVpbnQ4X3QqPih0My5pOHAoKSArIDUp
ID09IHQwLnU4KCkpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM2OQogICAg
dDEgPSB0MS5pNjQoKSB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzcwCiAgICB0MiA9IHQxLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
OQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0
KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X18xNDZfZm5fX25vdENlbGxDYXNlKQogICAgdDIgPSBpbnRwdHJfdCgweDYpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAog
ICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfaXNfY2VsbF93aXRoX3R5cGVfd2lk
ZTE2KQogICAgdDAgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDEg
PSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDEu
aSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTQ3X2xvYWRfX2NvbnN0YW50OwogICAg
dDMgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTQ3X2xvYWRfX2RvbmU7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE0N19sb2Fk
X19jb25zdGFudCkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MyA9ICpD
QVNUPGludHB0cl90Kj4odDMuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkg
KyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNDdfbG9hZF9fZG9uZSkKICAgIGlmICgo
dDMuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTM2OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18x
NDdfZm5fX25vdENlbGxDYXNlOwogICAgdDEgPSAoKkNBU1Q8dWludDhfdCo+KHQzLmk4cCgpICsg
NSkgPT0gdDAudTgoKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzY5CiAg
ICB0MSA9IHQxLmk2NCgpIHwgaW50NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNzAKICAgIHQyID0gdDEuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIu
aTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX18xNDdfZm5fX25vdENlbGxDYXNlKQogICAgdDIgPSBpbnRwdHJfdCgweDYpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAg
ICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2lzX2NlbGxfd2l0aF90eXBl
X3dpZGUzMikKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAg
IHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+
PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE0OF9sb2FkX19jb25zdGFudDsKICAgIHQzID0g
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE0OF9sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNDhfbG9hZF9fY29u
c3RhbnQpCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDMgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQzLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0
MyA9ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNDhf
bG9hZF9fZG9uZSkKICAgIGlmICgodDMuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM2OAogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX18xNDhfZm5fX25vdENlbGxDYXNlOwogICAgdDEgPSAoKkNBU1Q8
dWludDhfdCo+KHQzLmk4cCgpICsgNSkgPT0gdDAudTgoKSk7ICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMzY5CiAgICB0MSA9IHQxLmk2NCgpIHwgaW50NjRfdCgweDYpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzNzAKICAg
IHQyID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkg
PDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX18xNDhfZm5fX25vdENlbGxDYXNlKQogICAgdDIgPSBpbnRwdHJfdCgw
eDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MAogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1
CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQo
KTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2lzX29iamVjdCkKICAg
IHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAo
dDEuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTQ5X2xvYWRfX2NvbnN0YW50Owog
ICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTQ5X2xvYWRfX2RvbmU7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE0OV9s
b2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MCA9
ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThw
KCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNDlfbG9hZF9fZG9uZSkKICAgIGlm
ICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM4MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fb3BJc09iamVjdE5vdENlbGw7CiAgICB0MSA9ICgqQ0FTVDx1aW50OF90Kj4odDAuaThw
KCkgKyA1KSA+PSB1aW50OF90KDB4MTYpKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEz
ODEKICAgIHQxID0gdDEuaTY0KCkgfCBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM4MgogICAgdDIgPSB0MS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9
IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX29wSXNPYmplY3ROb3RDZWxsKQogICAgdDIgPSBpbnRwdHJfdCgweDYpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2
NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50
cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8
dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfaXNfb2JqZWN0X3dp
ZGUxNikKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NwogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE1MF9sb2FkX19j
b25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE1MF9sb2Fk
X19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18xNTBfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
MQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRf
dCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTUwX2xvYWRfX2Rv
bmUpCiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzODAKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fMTUwX2ZuX19vcElzT2JqZWN0Tm90Q2VsbDsKICAgIHQxID0gKCpDQVNUPHVp
bnQ4X3QqPih0MC5pOHAoKSArIDUpID49IHVpbnQ4X3QoMHgxNikpOyAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTM4MQogICAgdDEgPSB0MS5pNjQoKSB8IGludDY0X3QoMHg2KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzgyCiAgICB0
MiA9IHQxLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMTUwX2ZuX19vcElzT2JqZWN0Tm90Q2VsbCkKICAgIHQy
ID0gaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2Mgog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9pc19vYmplY3Rfd2lkZTMyKQogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjU1CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
MTUxX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMTUxX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzE1MV9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDEgPSB0
MS5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkw
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE1MV9sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQo
KSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMzgwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzE1MV9mbl9f
b3BJc09iamVjdE5vdENlbGw7CiAgICB0MSA9ICgqQ0FTVDx1aW50OF90Kj4odDAuaThwKCkgKyA1
KSA+PSB1aW50OF90KDB4MTYpKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzODEKICAg
IHQxID0gdDEuaTY0KCkgfCBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM4MgogICAgdDIgPSB0MS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MAogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4
YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkp
OyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigm
Z19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzE1MV9m
bl9fb3BJc09iamVjdE5vdENlbGwpCiAgICB0MiA9IGludHB0cl90KDB4Nik7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAg
ICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ2V0X2J5X2lkX2RpcmVjdCkKICAgIHQyID0gKkNB
U1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNzApOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0
YWRhdGFfXzE1MV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90
Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDI2MCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18xNTFfbWV0YWRhdGFfX3NldFVwT2Zm
c2V0KQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0MCA9
ICh1aW50MzJfdCkodDAuaTMyKCkgKiBpbnQzMl90KDB4MjApKTsgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQw
LmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAog
ICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDEw
KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMTUyX2xvYWRfX2NvbnN0YW50OwogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18xNTJfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18xNTJfbG9hZF9fY29uc3RhbnQpCiAgICB0MyA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ3NQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTQ0KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQzID0g
KkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNTJf
bG9hZF9fZG9uZSkKICAgIGlmICgodDMuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fb3BHZXRCeUlk
RGlyZWN0U2xvdzsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQxOQogICAgdDAgPSAq
Q0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMjQpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNDIwCiAgICBpZiAodDAuaTMyKCkgIT0gdDEuaTMyKCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
MjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19vcEdldEJ5SWREaXJlY3RTbG93OwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4
cCgpICsgMjgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDIyCiAgICBpZiAodDEuaTMyKCkgPCBpbnQzMl90KDB4NjQpKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTAKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkUHJvcGVydHlBdFZh
cmlhYmxlT2Zmc2V0X19pc0lubGluZTsKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAo
KSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5
MQogICAgdDEgPSAodWludDMyX3QpKC10MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkyCiAgICB0MSA9IHQxLmkzMigpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEzOTMKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5OyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEzOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRQcm9wZXJ0eUF0VmFy
aWFibGVPZmZzZXRfX2lzSW5saW5lKQogICAgdDMgPSB0My5pKCkgKyBpbnRwdHJfdCgtNzY4KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk2
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeSkKICAg
IHQwID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90
KDB4MzEwKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5OAogICAgKkNBU1Q8aW50NjRf
dCo+KHQyLmk4cCgpKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo3OQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEg
PSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg1KTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19vcEdldEJ5SWREaXJlY3RTbG93KQogICAgcGMgPSBwYy5pKCkgKyBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9
IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9nZXRfYnlf
aWRfZGlyZWN0KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsK
ICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAt
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfYnlfaWRfZGlyZWN0X3dpZGUxNikKICAgIHQy
ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNzApOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzkz
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fbWV0YWRhdGFfXzE1Ml9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVp
bnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDI2MCk7ICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18xNTJfbWV0YWRhdGFfX3Nl
dFVwT2Zmc2V0KQogICAgdDAgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0Mwog
ICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpICogaW50MzJfdCgweDIwKSk7ICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMy
KCkgKyB0MC5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTgKICAgIHQyID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDAgPSAoaW50NjRfdCkq
Q0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4
NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDAuaSgpID49IGludHB0
cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18xNTNfbG9hZF9fY29uc3RhbnQ7CiAgICB0MyA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzE1M19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE1M19sb2FkX19jb25zdGFudCkKICAgIHQzID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkg
KyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4Mgog
ICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDAuaSgpIDw8IDMpICsgaW50cHRy
X3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzE1M19sb2FkX19kb25lKQogICAgaWYgKCh0My5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgp
KSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE1M19m
bl9fb3BHZXRCeUlkRGlyZWN0U2xvdzsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAo
KSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQx
OQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMjQpOyAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDIwCiAgICBpZiAodDAuaTMyKCkgIT0g
dDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE0MjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzE1M19mbl9fb3BHZXRCeUlkRGlyZWN0U2xvdzsKICAgIHQxID0gKkNBU1Q8
dWludDMyX3QqPih0Mi5pOHAoKSArIDI4KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQyMgogICAgaWYgKHQxLmkzMigpIDwgaW50MzJfdCgweDY0KSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkwCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
MTUzX2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lOwogICAgdDMgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMzkxCiAgICB0MSA9ICh1aW50MzJfdCkoLXQxLmkzMigpKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTIK
ICAgIHQxID0gdDEuaTMyKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MwogICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTUzX2xvYWRQcm9wZXJ0eUF0VmFyaWFi
bGVPZmZzZXRfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTQKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fXzE1M19sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZSkKICAgIHQz
ID0gdDMuaSgpICsgaW50cHRyX3QoLTc2OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTUzX2xvYWRQcm9w
ZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5KQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDMu
aThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoMHgzMTApKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMzk4CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkpID0gdDAuaTY0KCk7
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MiA9
IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEu
aSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE1M19mbl9fb3BH
ZXRCeUlkRGlyZWN0U2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0
MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFj
ay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJu
VHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfZ2V0X2J5X2lkX2RpcmVjdCh0MCwgdDEpOwog
ICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFC
RUwob3BfZ2V0X2J5X2lkX2RpcmVjdF93aWRlMzIpCiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4o
bWV0YWRhdGFUYWJsZS5pOHAoKSArIDcwKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18xNTNfbWV0
YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFi
bGUuaThwKCkgKyAyNjApOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19tZXRhZGF0YV9fMTUzX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQwID0g
KkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHhlKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIHQwID0gKHVpbnQzMl90KSh0
MC5pMzIoKSAqIGludDMyX3QoMHgyMCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5NwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICsgdDAuaTMyKCkpOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MiA9IHQyLmko
KSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTkKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1NQogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTU0X2xvYWRfX2Nv
bnN0YW50OwogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNTRfbG9hZF9fZG9u
ZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNTRf
bG9hZF9fY29uc3RhbnQpCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDMg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQwID0gdDAuaSgpIC0gaW50cHRyX3QoMHg0
MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDg5CiAgICB0MyA9ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzE1NF9sb2FkX19kb25lKQogICAgaWYgKCh0My5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAh
PSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE1NF9mbl9f
b3BHZXRCeUlkRGlyZWN0U2xvdzsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSk7
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQxOQog
ICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMjQpOyAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDIwCiAgICBpZiAodDAuaTMyKCkgIT0gdDEu
aTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE0MjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzE1NF9mbl9fb3BHZXRCeUlkRGlyZWN0U2xvdzsKICAgIHQxID0gKkNBU1Q8dWlu
dDMyX3QqPih0Mi5pOHAoKSArIDI4KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTQyMgogICAgaWYgKHQxLmkzMigpIDwgaW50MzJfdCgweDY0KSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkwCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTU0
X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lOwogICAgdDMgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQzLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMzkxCiAgICB0MSA9ICh1aW50MzJfdCkoLXQxLmkzMigpKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTIKICAg
IHQxID0gdDEuaTMyKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MwogICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTU0X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVP
ZmZzZXRfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTQKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzE1NF9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZSkKICAgIHQzID0g
dDMuaSgpICsgaW50cHRyX3QoLTc2OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTU0X2xvYWRQcm9wZXJ0
eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5KQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThw
KCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoMHgzMTApKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMzk4CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkpID0gdDAuaTY0KCk7ICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MiA9IHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTUKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9
IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHgxMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE1NF9mbl9fb3BHZXRCeUlkRGlyZWN0
U2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50
U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQg
PSBsbGludF9zbG93X3BhdGhfZ2V0X2J5X2lkX2RpcmVjdCh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHgxMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ2V0X2J5
X2lkKQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkK
ICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE1NV9sb2FkX19jb25zdGFu
dDsKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
Q2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTU1X2xvYWRfX2RvbmU7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTU1X2xvYWRf
X2NvbnN0YW50KQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQzID0gKkNB
U1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MyA9ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSAr
ICh0MC5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTU1X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQzLmk2
NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wR2V0QnlJZFNsb3c7CiAgICB0MiA9ICpDQVNUPHVpbnQx
Nl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDY0KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRC
eUlESGVscGVyX19tZXRhZGF0YV9fMTU1X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0g
KkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMjQ4KTsgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxw
ZXJfX21ldGFkYXRhX18xNTVfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDEgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkg
KiBpbnQzMl90KDB4MzApKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
OTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkzMigpKTsgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRh
ZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk5CiAgICB0MSA9ICpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MzUKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWREZWZhdWx0KQogICAgaWYgKHQxLmk4
KCkgIT0gaW50OF90KDB4MSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDM4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJZFBy
b3RvTG9hZDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQzOQogICAgdDAgPSAqQ0FT
VDx1aW50MzJfdCo+KHQyLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDQwCiAgICBpZiAodDAuaTMyKCkgIT0gdDEuaTMyKCkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDEK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19vcEdldEJ5SWRTbG93OwogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4odDIuaThwKCkgKyA0KTsg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQyCiAgICBp
ZiAodDEuaTMyKCkgPCBpbnQzMl90KDB4NjQpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fMTU1
X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lOwogICAgdDMgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQzLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMzkxCiAgICB0MSA9ICh1aW50MzJfdCkoLXQxLmkzMigpKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTIKICAg
IHQxID0gdDEuaTMyKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MwogICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzE1NV9s
b2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fMTU1X2xvYWRQ
cm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lKQogICAgdDMgPSB0My5pKCkgKyBpbnRw
dHJfdCgtNzY4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMzk2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fMTU1X2xv
YWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5KQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90
Kj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoMHgzMTApKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMzk4CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAyNCkg
PSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAg
ICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3Bl
cmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRQcm90b0xvYWQpCiAgICBpZiAodDEuaTgoKSAh
PSBpbnQ4X3QoMHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE0NDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fb3BHZXRCeUlkQXJyYXlM
ZW5ndGg7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4odDMuaThwKCkpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDkKICAgIHQzID0gKkNBU1Q8
dWludDMyX3QqPih0Mi5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ1MAogICAgaWYgKHQzLmkzMigpICE9IHQxLmkzMigpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDUxCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
b3BHZXRCeUlkU2xvdzsKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHQyLmk4cCgpICsgNCk7ICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ1MgogICAgdDMg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDUzCiAgICBpZiAodDEuaTMyKCkgPCBpbnQzMl90KDB4
NjQpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzOTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fMTU2X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVP
ZmZzZXRfX2lzSW5saW5lOwogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgOCk7
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkxCiAgICB0
MSA9ICh1aW50MzJfdCkoLXQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTIKICAgIHQxID0gdDEuaTMyKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTM5MwogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzE1Nl9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zm
c2V0X19yZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk0CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19wZXJmb3JtR2V0QnlJREhlbHBlcl9fMTU2X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRf
X2lzSW5saW5lKQogICAgdDMgPSB0My5pKCkgKyBpbnRwdHJfdCgtNzY4KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk2CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fMTU2X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZz
ZXRfX3JlYWR5KQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDEuaSgpIDw8
IDMpICsgaW50cHRyX3QoMHgzMTApKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk4CiAg
ICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAyNCkgPSB0MC5pNjQoKTsgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
OQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0
KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdl
dEJ5SWRBcnJheUxlbmd0aCkKICAgIGlmICh0MS5pOCgpICE9IGludDhfdCgweDMpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ1OQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3Bl
cmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRVbnNldDsKICAgIHQwID0gdDMuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTQ2MAogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1NwogICAgKkNBU1Q8
aW50MzJfdCo+KHQyLmk4cCgpKSA9IHQ1LmkzMigpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTE1OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4odDAuaThwKCkg
KyA0KTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1OQog
ICAgaWYgKCh0MC5pMzIoKSAmIGludDMyX3QoMHgxKSkgPT0gMCkgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDYyCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fb3BHZXRCeUlkU2xvdzsKICAgIGlm
ICgodDAuaTMyKCkgJiBpbnQzMl90KDB4ZSkpID09IDApICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wR2V0QnlJZFNsb3c7CiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ2MQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgp
IC0gOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDY1
CiAgICBpZiAodDAuaTMyKCkgPCBpbnQzMl90KDB4MCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NjYKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcEdldEJ5SWRTbG93OwogICAg
dDAgPSB0MC5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDY3CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThw
KCkgKyAyNCkgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjc5CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90
KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNm
ci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRVbnNldCkKICAgIHQxID0gKkNB
U1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTQ3MgogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgp
KTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcz
CiAgICBpZiAodDAuaTMyKCkgIT0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NzQKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcEdldEJ5SWRTbG93OwogICAg
KkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgMjQpID0gaW50NjRfdCgweGEpOyAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDIgPSBpbnRwdHJfdCgweGEpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkK
ICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgp
OyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcEdldEJ5SWRTbG93KQogICAgcGMgPSBwYy5p
KCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAg
ICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAo
KSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9n
ZXRfYnlfaWQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwog
ICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0g
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fb3NyUmV0dXJuUG9pbnQpCiAgICBDUkFTSCgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2
MDQKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwob3BfZ2V0X2J5X2lkX3JldHVybl9sb2NhdGlvbikK
ICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8dWludDMyX3Qq
Pih0Mi5pOHAoKSArIDIwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjk5OQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50
cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAw
MAogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIuaSgpIC0gdDIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTAxMQogICAgcGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1MQogICAgdDIgPSAqQ0FT
VDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA2NCk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRh
ZGF0YV9fMTU2X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8dWludDMyX3Qq
PihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMjQ4KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzE1Nl9tZXRhZGF0YV9fc2V0VXBPZmZz
ZXQpCiAgICB0MyA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzUKICAgIHQzID0g
KHVpbnQzMl90KSh0My5pMzIoKSAqIGludDMyX3QoMHgzMCkpOyAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICsgdDMu
aTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAg
ICB0MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAo
KSArIDI0KSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NzkKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3Qp
KkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4
MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX2dldF9ieV9pZF93aWRlMTYpCiAgICB0MCA9IChpbnQ2NF90KSpD
QVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0MC5pKCkgPj0gaW50cHRy
X3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzE1Nl9sb2FkX19jb25zdGFudDsKICAgIHQzID0gKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMTU2X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTU2X2xvYWRfX2NvbnN0YW50KQogICAgdDMgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSAr
IDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAg
ICB0MyA9ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArICh0MC5pKCkgPDwgMykgKyBpbnRwdHJf
dCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMTU2X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQzLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkp
ICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTU4X2Zu
X19vcEdldEJ5SWRTbG93OwogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUu
aThwKCkgKyA2NCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAo
dDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fbWV0YWRhdGFf
XzE1N19tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0
YWRhdGFUYWJsZS5pOHAoKSArIDI0OCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
OTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX19tZXRhZGF0YV9fMTU3X21l
dGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDMKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSAqIGludDMyX3QoMHgzMCkpOyAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDIgPSAodWludDMy
X3QpKHQyLmkzMigpICsgdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzk4CiAgICB0MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQxID0g
KkNBU1Q8dWludDhfdCo+KHQyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTQzNQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTU4X3BlcmZvcm1HZXRC
eUlESGVscGVyX19vcEdldEJ5SWREZWZhdWx0KQogICAgaWYgKHQxLmk4KCkgIT0gaW50OF90KDB4
MSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNDM4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fMTU4X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRQcm90b0xvYWQ7CiAg
ICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4odDMuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MzkKICAgIHQwID0gKkNBU1Q8dWludDMyX3Qq
Pih0Mi5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ0MAogICAgaWYgKHQwLmkzMigpICE9IHQxLmkzMigpKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQxCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xNThfZm5fX29wR2V0
QnlJZFNsb3c7CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPih0Mi5pOHAoKSArIDQpOyAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDIKICAgIGlmICh0MS5p
MzIoKSA8IGludDMyX3QoMHg2NCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTM5MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX18xNTdfbG9hZFBy
b3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmU7CiAgICB0MyA9ICpDQVNUPGludHB0cl90
Kj4odDMuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEzOTEKICAgIHQxID0gKHVpbnQzMl90KSgtdDEuaTMyKCkpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MgogICAgdDEgPSB0
MS5pMzIoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkzCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fMTU3X2xvYWRQcm9w
ZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEz
OTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX18xNTdfbG9hZFByb3BlcnR5
QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MyA9IHQzLmkoKSArIGludHB0cl90KC03
NjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzOTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX18xNTdfbG9hZFByb3Bl
cnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHkpCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0My5p
OHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDMxMCkpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEzOTgKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDI0KSA9IHQwLmk2
NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQyID0g
dDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5p
KCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAg
cGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE1OF9wZXJm
b3JtR2V0QnlJREhlbHBlcl9fb3BHZXRCeUlkUHJvdG9Mb2FkKQogICAgaWYgKHQxLmk4KCkgIT0g
aW50OF90KDB4MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNDQ4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fMTU4X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRBcnJh
eUxlbmd0aDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ0OQogICAgdDMgPSAqQ0FT
VDx1aW50MzJfdCo+KHQyLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDUwCiAgICBpZiAodDMuaTMyKCkgIT0gdDEuaTMyKCkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NTEK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE1
OF9mbl9fb3BHZXRCeUlkU2xvdzsKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHQyLmk4cCgpICsg
NCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ1Mgog
ICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDUzCiAgICBpZiAodDEuaTMyKCkgPCBpbnQz
Ml90KDB4NjQpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEzOTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fMTU4X2xvYWRQcm9wZXJ0eUF0VmFy
aWFibGVPZmZzZXRfX2lzSW5saW5lOwogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgp
ICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkx
CiAgICB0MSA9ICh1aW50MzJfdCkoLXQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTIKICAgIHQxID0gdDEuaTMyKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTM5MwogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzE1OF9sb2FkUHJvcGVydHlBdFZhcmlh
YmxlT2Zmc2V0X19yZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk0CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fMTU4X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVP
ZmZzZXRfX2lzSW5saW5lKQogICAgdDMgPSB0My5pKCkgKyBpbnRwdHJfdCgtNzY4KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk2CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fMTU4X2xvYWRQcm9wZXJ0eUF0VmFyaWFi
bGVPZmZzZXRfX3JlYWR5KQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDEu
aSgpIDw8IDMpICsgaW50cHRyX3QoMHgzMTApKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
Mzk4CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAyNCkgPSB0MC5pNjQoKTsgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MiA9IHQwLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9
IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18xNThfcGVyZm9ybUdldEJ5SURI
ZWxwZXJfX29wR2V0QnlJZEFycmF5TGVuZ3RoKQogICAgaWYgKHQxLmk4KCkgIT0gaW50OF90KDB4
MykpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNDU5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fMTU4X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRVbnNldDsKICAgIHQw
ID0gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2MAogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KHQw
Lmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTE1NwogICAgKkNBU1Q8aW50MzJfdCo+KHQyLmk4cCgpKSA9IHQ1LmkzMigpOyAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1OAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4odDAuaThwKCkgKyA0KTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTE1OQogICAgaWYgKCh0MC5pMzIoKSAmIGludDMyX3QoMHgxKSkgPT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDYyCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xNThfZm5fX29w
R2V0QnlJZFNsb3c7CiAgICBpZiAoKHQwLmkzMigpICYgaW50MzJfdCgweGUpKSA9PSAwKSAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NjMKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE1OF9mbl9fb3BH
ZXRCeUlkU2xvdzsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDgpOyAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYxCiAgICB0MCA9ICpD
QVNUPHVpbnQzMl90Kj4odDAuaThwKCkgLSA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE0NjUKICAgIGlmICh0MC5pMzIoKSA8IGludDMyX3QoMHgwKSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2
NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
MTU4X2ZuX19vcEdldEJ5SWRTbG93OwogICAgdDAgPSB0MC5pNjQoKSB8IG51bWJlclRhZy5pNjQo
KTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDY3
CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAyNCkgPSB0MC5pNjQoKTsgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MiA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQy
Lmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18xNThfcGVyZm9ybUdldEJ5SURIZWxw
ZXJfX29wR2V0QnlJZFVuc2V0KQogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHQzLmk4cCgpKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcyCiAg
ICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NzMKICAgIGlmICh0MC5pMzIoKSAhPSB0MS5p
MzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ3NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fMTU4X2ZuX19vcEdldEJ5SWRTbG93OwogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4
cCgpICsgMjQpID0gaW50NjRfdCgweGEpOyAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo3OQogICAgdDIgPSBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRf
dCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX18xNThfZm5fX29wR2V0QnlJZFNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAg
IGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93
UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2dldF9ieV9pZCh0MCwgdDEp
OwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE1OF9mbl9f
b3NyUmV0dXJuUG9pbnQpCiAgICBDUkFTSCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MDQKCk9GRkxJTkVf
QVNNX0dMVUVfTEFCRUwob3BfZ2V0X2J5X2lkX3JldHVybl9sb2NhdGlvbl93aWRlMTYpCiAgICB0
MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIu
aThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5
OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90
KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAg
IHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExNTEKICAgIHQyID0gKkNBU1Q8dWlu
dDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNjQpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFf
XzE1OF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0
YWRhdGFUYWJsZS5pOHAoKSArIDI0OCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
OTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18xNThfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQog
ICAgdDMgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDMgPSAodWlu
dDMyX3QpKHQzLmkzMigpICogaW50MzJfdCgweDMwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKyB0My5pMzIo
KSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQy
ID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsg
MjQpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3
OQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FT
VDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4Mikp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4
cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX2dldF9ieV9pZF93aWRlMzIpCiAgICB0MCA9ICpDQVNUPGludDMyX3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAw
MCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzE1OF9sb2FkX19jb25zdGFudDsKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4
CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMTU4X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMTU4X2xvYWRfX2NvbnN0YW50KQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODcKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDE0NCk7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MCA9IHQwLmko
KSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18xNThfbG9hZF9fZG9uZSkKICAgIGlmICgodDMuaTY0KCkgJiBub3RD
ZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX18xNjBfZm5fX29wR2V0QnlJZFNsb3c7CiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4o
bWV0YWRhdGFUYWJsZS5pOHAoKSArIDY0KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVs
cGVyX19tZXRhZGF0YV9fMTU5X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8
dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMjQ4KTsgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfX21l
dGFkYXRhX18xNTlfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDEgPSAqQ0FTVDx1aW50MzJf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGUpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MQogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICogaW50
MzJfdCgweDMwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAg
ICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKyB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQyID0gdDIuaSgpICsgbWV0YWRhdGFU
YWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5OQogICAgdDEgPSAqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyAxNik7ICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDM1CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18x
NjBfcGVyZm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJZERlZmF1bHQpCiAgICBpZiAodDEuaTgo
KSAhPSBpbnQ4X3QoMHgxKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE0MzgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX18xNjBfcGVyZm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJ
ZFByb3RvTG9hZDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQzOQogICAgdDAgPSAq
Q0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQwCiAgICBpZiAodDAuaTMyKCkgIT0gdDEuaTMyKCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
NDEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
XzE2MF9mbl9fb3BHZXRCeUlkU2xvdzsKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHQyLmk4cCgp
ICsgNCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ0
MgogICAgaWYgKHQxLmkzMigpIDwgaW50MzJfdCgweDY0KSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkwCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxw
ZXJfXzE1OV9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZTsKICAgIHQzID0g
KkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MQogICAgdDEgPSAodWludDMyX3QpKC10MS5pMzIoKSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MzkyCiAgICB0MSA9IHQxLmkzMigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTMKICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVy
X18xNTlfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzE1
OV9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZSkKICAgIHQzID0gdDMuaSgp
ICsgaW50cHRyX3QoLTc2OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTM5NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJf
XzE1OV9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeSkKICAgIHQwID0gKkNBU1Q8
aW50NjRfdCo+KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MzEwKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5OAogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgp
ICsgMjQpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo3OQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAqQ0FTVDxpbnQz
Ml90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYy
CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTIpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTYw
X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRQcm90b0xvYWQpCiAgICBpZiAodDEuaTgo
KSAhPSBpbnQ4X3QoMHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE0NDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX18xNjBfcGVyZm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJ
ZEFycmF5TGVuZ3RoOwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHQzLmk4cCgpKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQ5CiAgICB0MyA9
ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE0NTAKICAgIGlmICh0My5pMzIoKSAhPSB0MS5pMzIoKSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTQ1MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fMTYwX2ZuX19vcEdldEJ5SWRTbG93OwogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4odDIuaThw
KCkgKyA0KTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDUyCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyA4KTsgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NTMKICAgIGlmICh0MS5pMzIoKSA8
IGludDMyX3QoMHg2NCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTM5MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX18xNjBfbG9hZFByb3BlcnR5
QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmU7CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMu
aThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzOTEKICAgIHQxID0gKHVpbnQzMl90KSgtdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MgogICAgdDEgPSB0MS5pMzIo
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMzkzCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fMTYwX2xvYWRQcm9wZXJ0eUF0
VmFyaWFibGVPZmZzZXRfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTQKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX18xNjBfbG9hZFByb3BlcnR5QXRWYXJp
YWJsZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MyA9IHQzLmkoKSArIGludHB0cl90KC03NjgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTYK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX18xNjBfbG9hZFByb3BlcnR5QXRW
YXJpYWJsZU9mZnNldF9fcmVhZHkpCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSAr
ICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDMxMCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEzOTgKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDI0KSA9IHQwLmk2NCgpOyAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQyID0gdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIu
aTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweDEyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE2MF9wZXJmb3JtR2V0QnlJREhlbHBl
cl9fb3BHZXRCeUlkQXJyYXlMZW5ndGgpCiAgICBpZiAodDEuaTgoKSAhPSBpbnQ4X3QoMHgzKSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
NTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX18xNjBfcGVyZm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJZFVuc2V0OwogICAgdDAgPSB0
My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNDYwCiAgICB0NSA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThw
KCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTU3
CiAgICAqQ0FTVDxpbnQzMl90Kj4odDIuaThwKCkpID0gdDUuaTMyKCk7ICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTU4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
Pih0MC5pOHAoKSArIDQpOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMTU5CiAgICBpZiAoKHQwLmkzMigpICYgaW50MzJfdCgweDEpKSA9PSAwKSAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NjIKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE2MF9mbl9fb3BHZXRC
eUlkU2xvdzsKICAgIGlmICgodDAuaTMyKCkgJiBpbnQzMl90KDB4ZSkpID09IDApICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2MwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTYwX2ZuX19vcEdldEJ5
SWRTbG93OwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgOCk7ICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjEKICAgIHQwID0gKkNBU1Q8
dWludDMyX3QqPih0MC5pOHAoKSAtIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ2NQogICAgaWYgKHQwLmkzMigpIDwgaW50MzJfdCgweDApKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDY2CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xNjBf
Zm5fX29wR2V0QnlJZFNsb3c7CiAgICB0MCA9IHQwLmk2NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NjcKICAg
ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDI0KSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEy
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE2MF9wZXJmb3JtR2V0QnlJREhlbHBlcl9fb3BHZXRCeUlk
VW5zZXQpCiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4odDMuaThwKCkpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NzIKICAgIHQwID0gKkNBU1Q8
dWludDMyX3QqPih0Mi5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ3MwogICAgaWYgKHQwLmkzMigpICE9IHQxLmkzMigpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDc0CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xNjBf
Zm5fX29wR2V0QnlJZFNsb3c7CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAyNCkgPSBp
bnQ2NF90KDB4YSk7ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0
MiA9IGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8
IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0g
cGMuaSgpICsgaW50cHRyX3QoMHgxMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAg
ICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE2MF9mbl9fb3BHZXRCeUlk
U2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50
U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQg
PSBsbGludF9zbG93X3BhdGhfZ2V0X2J5X2lkKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4
CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDEyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTYwX2ZuX19vc3JSZXR1cm5Qb2ludCkKICAgIENS
QVNIKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYwNAoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChvcF9nZXRf
YnlfaWRfcmV0dXJuX2xvY2F0aW9uX3dpZGUzMikKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEwMDUKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDIwKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQogICAgdDIgPSB0Mi5pKCkgPDwg
KGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJf
dCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTAwMQogICAgc3AgPSBjZnIuaSgpIC0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAxMQogICAgcGMgPSAqQ0FTVDx1
aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTE1MQogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUu
aThwKCkgKyA2NCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAo
dDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fMTYwX21ldGFkYXRhX19zZXRVcE9m
ZnNldDsKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMjQ4
KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0
YWRhdGFfXzE2MF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MyA9ICpDQVNUPHVpbnQzMl90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4ZSkpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgKiBpbnQz
Ml90KDB4MzApKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAg
IHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQzLmkzMigpKTsgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRh
YmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAyNCkgPSB0MC5pNjQoKTsgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MiA9IHQwLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjYwCiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUK
ICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgp
OyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHgxMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ2V0X3Byb3RvdHlwZV9v
ZikKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAg
ICBpZiAodDEuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFr
ZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzE2MF9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18xNjBfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblBy
b2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE2MF9sb2Fk
X19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkg
KyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJv
ZmlsZWRfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTYwX2xvYWRf
X2RvbmUpCiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MDIKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19vcEdldFByb3RvdHlwZU9mU2xvdzsK
ICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDAuaThwKCkgKyA1KSA8IHVpbnQ4X3QoMHgxNikpICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUwMwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX29wR2V0UHJvdG90eXBlT2ZTbG93OwogICAgdDIg
PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjA2CiAgICB0MyA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwNwogICAgdDEgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQxLmk4cCgpICsgODApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MDgKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSA+PiAoaW50cHRyX3Qo
MHg3KSAmIDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA5CiAgICB0MSA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAyMjQpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYxMAogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4
cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MTEKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMwKSAmICgoc2l6ZW9mKHVpbnRwdHJf
dCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMgog
ICAgdDIgPSB0Mi5pKCkgXiB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTMKICAgIGlmICgoKkNBU1Q8aW50MzJfdCo+
KHQyLmk4cCgpICsgMTYpICYgaW50MzJfdCgweDgwMCkpICE9IDApIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTUwNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxl
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19m
bl9fZm5fX29wR2V0UHJvdG90eXBlT2ZTbG93OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIu
aThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNTA4CiAgICBpZiAodDIuaTY0KCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MDkKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19vcEdldFByb3RvdHlwZU9mUG9seVBy
b3RvOwogICAgdDMgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2OQogICAgdDEgPSAqQ0FTVDx1aW50
MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA3Mik7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzkyCiAgICBpZiAodDEuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX18x
NjFfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFk
YXRhVGFibGUuaThwKCkgKyAyNjQpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmls
ZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9f
Zm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX18xNjFfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAg
dDIgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0MiA9ICh1aW50MzJf
dCkodDIuaTMyKCkgKiBpbnQzMl90KDB4MTgpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTcKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSArIHQyLmkzMigpKTsg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDEgPSB0
MS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkpID0gdDMu
aTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAg
ICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQ
cm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2Zp
bGVkX19mbl9fZm5fX29wR2V0UHJvdG90eXBlT2ZTbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBj
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcK
ICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9nZXRfcHJvdG90eXBlX29m
KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAg
IHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX29wR2V0
UHJvdG90eXBlT2ZQb2x5UHJvdG8pCiAgICB0MSA9IGludHB0cl90KDB4MCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MTcK
ICAgIGlmICh0MS5pMzIoKSA8IGludDMyX3QoMHg2NCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MAogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fXzE2MV9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zm
c2V0X19pc0lubGluZTsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDgpOyAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MQogICAgdDEg
PSAodWludDMyX3QpKC10MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkyCiAgICB0MSA9IHQxLmkzMigpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzOTMKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fXzE2MV9s
b2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Q
cm9maWxlZF9fZm5fX2ZuX18xNjFfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxp
bmUpCiAgICB0MCA9IHQwLmkoKSArIGludHB0cl90KC03NjgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTYKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fXzE2MV9sb2FkUHJv
cGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeSkKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KHQw
Lmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MzEwKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTM5OAogICAgdDMgPSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2OQogICAgdDEg
PSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA3Mik7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDEuaTMyKCkgIT0gMCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5f
X21ldGFkYXRhX18xNjJfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDEgPSAqQ0FTVDx1aW50
MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAyNjQpOyAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1
cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX18xNjJfbWV0YWRhdGFfX3NldFVw
T2Zmc2V0KQogICAgdDIgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0
MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKiBpbnQzMl90KDB4MTgpKTsgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSAr
IHQyLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
OAogICAgdDEgPSB0MS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDEu
aThwKCkpID0gdDMuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjc5CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMu
aTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfcHJvdG90
eXBlX29mX3dpZGUxNikKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NwogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18xNjJfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTYyX2xvYWRfX2RvbmU7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18xNjJfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
MQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRf
dCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzE2Ml9sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgp
KSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTAyCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX18xNjRfZm5fX29wR2V0
UHJvdG90eXBlT2ZTbG93OwogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0MC5pOHAoKSArIDUpIDwg
dWludDhfdCgweDE2KSkgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTAzCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX18xNjRfZm5fX29wR2V0UHJv
dG90eXBlT2ZTbG93OwogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTcKICAgIHQxID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjA2CiAgICB0MyA9IHQyLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYw
NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgODApOyAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDgKICAgIHQzID0gKHVpbnQzMl90KSh0
My5pMzIoKSA+PiAoaW50cHRyX3QoMHg3KSAmIDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NjA5CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAyMjQpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMAogICAgdDMgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTEKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMw
KSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjYxMgogICAgdDIgPSB0Mi5pKCkgXiB0My5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTMKICAg
IGlmICgoKkNBU1Q8aW50MzJfdCo+KHQyLmk4cCgpICsgMTYpICYgaW50MzJfdCgweDgwMCkpICE9
IDApIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUwNgogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bWFrZVJldHVyblByb2ZpbGVkX19mbl9fMTY0X2ZuX19vcEdldFByb3RvdHlwZU9mU2xvdzsKICAg
IHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgMzIpOyAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUwOAogICAgaWYgKHQyLmk2NCgpID09IDApICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTA5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX18x
NjRfZm5fX29wR2V0UHJvdG90eXBlT2ZQb2x5UHJvdG87CiAgICB0MyA9IHQyLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjY5CiAgICB0MSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSAr
IDcyKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0MS5pMzIo
KSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9m
aWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVk
X19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzE2M19tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAg
ICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDI2NCk7ICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fX3JldHVybl9fbWV0YWRhdGFfXzE2
M19tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQzCiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKiBpbnQzMl90KDB4MTgp
KTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQxID0gKHVp
bnQzMl90KSh0MS5pMzIoKSArIHQyLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDEgPSB0MS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAq
Q0FTVDxpbnQ2NF90Kj4odDEuaThwKCkpID0gdDMuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKSA9IHQzLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzMK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fXzE2NF9mbl9fb3BHZXRQcm90
b3R5cGVPZlNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gc2xvd19wYXRoX2dldF9wcm90b3R5cGVfb2YodDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmko
KSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEg
PSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX18xNjRfZm5fX29wR2V0UHJvdG90eXBlT2ZQb2x5UHJv
dG8pCiAgICB0MSA9IGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MTcKICAgIGlmICh0MS5pMzIoKSA8
IGludDMyX3QoMHg2NCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTM5MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9m
aWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVk
X19mbl9fZm5fXzE2M19sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZTsKICAg
IHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MQogICAgdDEgPSAodWludDMyX3QpKC10MS5p
MzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMzkyCiAgICB0MSA9IHQxLmkzMigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTMKICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fXzE2M19sb2FkUHJvcGVydHlBdFZhcmlh
YmxlT2Zmc2V0X19yZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk0CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX18x
NjNfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MCA9IHQwLmko
KSArIGludHB0cl90KC03NjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEzOTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bWFrZVJldHVyblByb2ZpbGVkX19mbl9fZm5fXzE2M19sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zm
c2V0X19yZWFkeSkKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8
PCAzKSArIGludHB0cl90KDB4MzEwKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5OAog
ICAgdDMgPSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2OQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+
KG1ldGFkYXRhVGFibGUuaThwKCkgKyA3Mik7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzkyCiAgICBpZiAodDEuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX18xNjRfbWV0
YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFi
bGUuaThwKCkgKyAyNjQpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2Zu
X19yZXR1cm5fX21ldGFkYXRhX18xNjRfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDIgPSAq
Q0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDIgPSAodWludDMyX3QpKHQy
LmkzMigpICogaW50MzJfdCgweDE4KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk3CiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKyB0Mi5pMzIoKSk7ICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQxID0gdDEuaSgp
ICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpKSA9IHQzLmk2NCgp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDEg
PSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0My5pNjQoKTsgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjczCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9wcm90b3R5cGVfb2Zfd2lkZTMyKQog
ICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDEuaSgp
ID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQ
cm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2Zp
bGVkX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE2NF9sb2FkX19j
b25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18xNjRfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE2NF9sb2FkX19jb25zdGFudCkK
ICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90
Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4OAogICAgdDEgPSB0MS5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18xNjRfbG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQo
KSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUwMgog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fMTY2X2ZuX19vcEdl
dFByb3RvdHlwZU9mU2xvdzsKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDAuaThwKCkgKyA1KSA8
IHVpbnQ4X3QoMHgxNikpICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUwMwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9fMTY2X2ZuX19vcEdldFBy
b3RvdHlwZU9mU2xvdzsKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjE3CiAgICB0MSA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYwNgogICAgdDMgPSB0Mi5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MDcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDgwKTsgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA4CiAgICB0MyA9ICh1aW50MzJfdCko
dDMuaTMyKCkgPj4gKGludHB0cl90KDB4NykgJiAweDFmKSk7ICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjYwOQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMjI0KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTAKICAgIHQzID0g
KkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjExCiAgICB0MiA9IHQyLmkoKSA8PCAoaW50cHRyX3QoMHgz
MCkgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2MTIKICAgIHQyID0gdDIuaSgpIF4gdDMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEzCiAg
ICBpZiAoKCpDQVNUPGludDMyX3QqPih0Mi5pOHAoKSArIDE2KSAmIGludDMyX3QoMHg4MDApKSAh
PSAwKSAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MDYKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fXzE2Nl9mbl9fb3BHZXRQcm90b3R5cGVPZlNsb3c7CiAg
ICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MDgKICAgIGlmICh0Mi5pNjQoKSA9PSAwKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTUwOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhQcm9maWxlX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJldHVyblByb2ZpbGVkX19mbl9f
MTY2X2ZuX19vcEdldFByb3RvdHlwZU9mUG9seVByb3RvOwogICAgdDMgPSB0Mi5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo2OQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkg
KyA3Mik7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDEuaTMy
KCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJv
ZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxl
ZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX18xNjVfbWV0YWRhdGFfX3NldFVwT2Zmc2V0Owog
ICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAyNjQpOyAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX18x
NjVfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MQogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICogaW50MzJfdCgweDE4
KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MSA9ICh1
aW50MzJfdCkodDEuaTMyKCkgKyB0Mi5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTgKICAgIHQxID0gdDEuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAg
KkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpKSA9IHQzLmk2NCgpOyAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8
PCAzKSkgPSB0My5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjczCiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX18xNjZfZm5fX29wR2V0UHJvdG90eXBlT2ZT
bG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRT
dGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IHNsb3dfcGF0aF9nZXRfcHJvdG90eXBlX29mKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4
CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhQcm9maWxlX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWFrZVJl
dHVyblByb2ZpbGVkX19mbl9fMTY2X2ZuX19vcEdldFByb3RvdHlwZU9mUG9seVByb3RvKQogICAg
dDEgPSBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTE3CiAgICBpZiAodDEuaTMyKCkgPCBpbnQzMl90
KDB4NjQpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEzOTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2Zu
X18xNjVfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmU7CiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4odDAuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEzOTEKICAgIHQxID0gKHVpbnQzMl90KSgtdDEuaTMyKCkpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5
MgogICAgdDEgPSB0MS5pMzIoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkzCiAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21h
a2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX18xNjVfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNl
dF9fcmVhZHk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5NAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fMTY1X2xvYWRQ
cm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lKQogICAgdDAgPSB0MC5pKCkgKyBpbnRw
dHJfdCgtNzY4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMzk2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1
cm5Qcm9maWxlZF9fZm5fX2ZuX18xNjVfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVh
ZHkpCiAgICB0MyA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBp
bnRwdHJfdCgweDMxMCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTgKICAgIHQzID0g
dDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjkKICAgIHQxID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0
YVRhYmxlLmk4cCgpICsgNzIpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5Mgog
ICAgaWYgKHQxLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtl
UmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fMTY2X21ldGFkYXRhX19z
ZXRVcE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgp
ICsgMjY0KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJu
X19tZXRhZGF0YV9fMTY2X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQyID0gKkNBU1Q8dWlu
dDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAq
IGludDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
NwogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICsgdDIuaTMyKCkpOyAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MSA9IHQxLmkoKSArIG1ldGFk
YXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSkgPSB0My5pNjQoKTsgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQxID0gKkNBU1Q8
aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo3MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09Q
Q09ERV9MQUJFTChvcF9wdXRfYnlfaWQpCiAgICB0MyA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQzLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMTY2X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAK
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18xNjZfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18xNjZfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ3NQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQwID0gKkNBU1Q8
aW50NjRfdCo+KHQwLmk4cCgpICsgKHQzLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9y
VmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNjZfbG9hZF9f
ZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fb3BQdXRCeUlkU2xvdzsK
ICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNzYpOyAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fbWV0YWRhdGFfXzE2N19tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0NSA9ICpD
QVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDI3Mik7ICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18xNjdfbWV0YWRh
dGFfX3NldFVwT2Zmc2V0KQogICAgdDIgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKiBpbnQzMl90KDB4MTgpKTsgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0
NS5pMzIoKSArIHQyLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5OAogICAgdDUgPSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MiA9ICpDQVNU
PHVpbnQzMl90Kj4odDUuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE1MjcKICAgIGlmICh0Mi5pMzIoKSAhPSAqQ0FTVDxpbnQzMl90Kj4o
dDAuaThwKCkpKSAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUyOAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X29wUHV0QnlJZFNsb3c7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4odDUuaThwKCkgKyA4KTsg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MzUKICAgIGlm
ICh0MS5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wUHV0QnlJZE5vdFRyYW5zaXRpb247CiAg
ICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NDEKICAgIGlmICh0My5pKCkgPT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTU0MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX29wUHV0QnlJZFRyYW5zaXRpb25EaXJlY3Q7CiAgICB0MSA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1NDQKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDgw
KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0NQogICAg
dDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMjI0KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQ2CiAgICB0MCA9IHQyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE1NDkKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSA+PiAoaW50cHRyX3QoMHg3KSAm
IDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1MAogICAgdDAgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNTUxCiAgICB0MiA9IHQyLmkoKSA8PCAoaW50cHRyX3QoMHgzMCkg
JiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNTUyCiAgICB0MiA9IHQyLmkoKSBeIHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NTMKICAg
IHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1OAogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4o
dDIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNTYxCiAgICBpZiAodDIuaTY0KCkgPT0gaW50NjRfdCgweDIpKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NjIKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcFB1dEJ5SWRU
cmFuc2l0aW9uQ2hhaW5Eb25lOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fb3BQdXRCeUlkVHJhbnNpdGlvbkNo
YWluTG9vcCkKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2NAogICAgaWYgKHQyLmkz
MigpICE9ICpDQVNUPGludDMyX3QqPih0My5pOHAoKSkpICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNTY1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fb3BQdXRCeUlkU2xvdzsKICAgIHQzID0gdDMuaSgpICsg
aW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU2NgogICAgdDAgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQ5CiAgICB0
MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgPj4gKGludHB0cl90KDB4NykgJiAweDFmKSk7ICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NTAKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTU1MQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MzApICYgKChzaXplb2YodWlu
dHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTU1MgogICAgdDIgPSB0Mi5pKCkgXiB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUzCiAgICB0MiA9ICpDQVNUPGlu
dDY0X3QqPih0Mi5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1NjgKICAgIGlmICh0Mi5pNjQoKSAhPSBpbnQ2NF90KDB4MikpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2OQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29w
UHV0QnlJZFRyYW5zaXRpb25DaGFpbkxvb3A7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcFB1dEJ5SWRUcmFu
c2l0aW9uQ2hhaW5Eb25lKQogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHQ1Lmk4cCgpICsgOCk7
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTczCiAgICB0
MyA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQz
LmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18xNjdfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAog
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTY3X2xvYWRfX2RvbmU7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18xNjdfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ3NQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQwID0gKkNBU1Q8
aW50NjRfdCo+KHQwLmk4cCgpICsgKHQzLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzE2N19sb2FkX19kb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fb3BQdXRC
eUlkVHJhbnNpdGlvbkRpcmVjdCkKICAgICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSkgPSB0MS5p
MzIoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU3OQog
ICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlm
ICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJl
bG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzE2OF9sb2FkX19jb25zdGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNm
ci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTY4X2xvYWRfX2RvbmU7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTY4X2xvYWRfX2NvbnN0YW50KQogICAgdDIgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAo
KSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2
CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRw
dHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
Q2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTY4X2xvYWRfX2RvbmUpCiAg
ICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZFdp
dGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmU7CiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MjYxCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjYyCiAgICBpZiAoKkNBU1Q8dWludDhf
dCo+KHQyLmk4cCgpICsgNykgPiB1aW50OF90KDB4MCkpCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5k
V2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fc2tpcElmSXNSZW1lbWJl
cmVkT3JJbkVkZW5fX2RvbmU7CiAgICBQVVNIKHBjQmFzZSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MgogICAg
UFVTSChwYyk7CiAgICB0MSA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MwogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1NDQKICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRl
cihzcC52cCgpKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI1CiAg
ICBsbGludF93cml0ZV9iYXJyaWVyX3Nsb3codDAsIHQxKTsKICAgIFBPUChwYyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTQ2CiAgICBQT1AocGNCYXNlKTsKICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPiht
ZXRhZGF0YVRhYmxlLmk4cCgpICsgNzYpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVy
YW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fc2tpcElmSXNSZW1l
bWJlcmVkT3JJbkVkZW5fX3Nsb3dQYXRoX19yZWxvYWRBZnRlclNsb3dQYXRoX19tZXRhZGF0YV9f
MTY4X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWludDMyX3QqPihtZXRh
ZGF0YVRhYmxlLmk4cCgpICsgMjcyKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVC
YXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX3Nsb3dQ
YXRoX19yZWxvYWRBZnRlclNsb3dQYXRoX19tZXRhZGF0YV9fMTY4X21ldGFkYXRhX19zZXRVcE9m
ZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNQogICAgdDEg
PSAodWludDMyX3QpKHQxLmkzMigpICogaW50MzJfdCgweDE4KSk7ICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCkodDUuaTMyKCkgKyB0
MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgK
ICAgIHQ1ID0gdDUuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgx
MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxs
V2l0aFJlbG9hZF9fc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX3Nsb3dQYXRoX19yZWxvYWRB
ZnRlclNsb3dQYXRoX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNjlfbG9hZF9f
Y29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8
IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25P
cGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fc2tpcElmSXNS
ZW1lbWJlcmVkT3JJbkVkZW5fX3Nsb3dQYXRoX19yZWxvYWRBZnRlclNsb3dQYXRoX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNjlfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhS
ZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfX3NraXBJZklzUmVtZW1iZXJlZE9y
SW5FZGVuX19zbG93UGF0aF9fcmVsb2FkQWZ0ZXJTbG93UGF0aF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMTY5X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpD
QVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX19za2lw
SWZJc1JlbWVtYmVyZWRPckluRWRlbl9fc2xvd1BhdGhfX3JlbG9hZEFmdGVyU2xvd1BhdGhfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE2OV9sb2FkX19kb25lKQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxs
V2l0aFJlbG9hZF9fc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmUpCgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lKQoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fb3BQdXRCeUlkTm90VHJhbnNpdGlvbikKICAgIHQxID0gKGludDY0X3Qp
KkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4
MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDEuaSgpID49IGludHB0
cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE3MF9sb2FkX19j
b25zdGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18xNzBfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE3
MF9sb2FkX19jb25zdGFudCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAx
Nik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0
MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIu
aThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fMTcwX2xvYWRfX2RvbmUpCiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4odDUuaThwKCkg
KyA0KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1OTIK
ICAgIGlmICh0MS5pMzIoKSA8IGludDMyX3QoMHg2NCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQwMwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3N0b3JlUHJvcGVydHlBdFZhcmlh
YmxlT2Zmc2V0X19pc0lubGluZTsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSAr
IDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQwNAog
ICAgdDEgPSAodWludDMyX3QpKC10MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDA1CiAgICB0MSA9IHQxLmkzMigpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE0MDYKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX3N0b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDA3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19zdG9yZVByb3BlcnR5QXRWYXJp
YWJsZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MCA9IHQwLmkoKSArIGludHB0cl90KC03NjgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MDkK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX3N0b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeSkKICAg
ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDMx
MCkpID0gdDIuaTY0KCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQxMQogICAgdDEgPSAo
aW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MS5pKCkg
Pj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50
T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE3MV9sb2Fk
X19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkg
PDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMTcxX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTcxX2xvYWRf
X2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNB
U1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSAr
ICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTcxX2xv
YWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmll
ck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICBpZiAodDAuaSgpID09IDApICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjU3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICB0
MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQx
LmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNzJf
bG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEu
aSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJh
bmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMTcyX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNzJfbG9h
ZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDIgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFy
cmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE3Ml9s
b2FkX19kb25lKQogICAgaWYgKCh0Mi5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzE3Ml93cml0ZUJhcnJpZXJPbk9w
ZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lOwogICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTI2MQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MgogICAgaWYgKCpDQVNU
PHVpbnQ4X3QqPih0Mi5pOHAoKSArIDcpID4gdWludDhfdCgweDApKQogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9u
T3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0
aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMTcyX3NraXBJZklzUmVtZW1i
ZXJlZE9ySW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAg
IFBVU0gocGMpOwogICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2Zy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50
ZXIoc3AudnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQog
ICAgbGxpbnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFu
ZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzE3Ml9za2lwSWZJc1Jl
bWVtYmVyZWRPckluRWRlbl9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3Bl
cmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMTcyX3dyaXRlQmFycmllck9uT3BlcmFuZFdp
dGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lKQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgw
eDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wUHV0QnlJZFNsb3cpCiAgICBwYyA9IHBjLmkoKSAr
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQx
ID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3B1dF9i
eV9pZCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9
CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fXzE3Ml9mbl9fb3NyUmV0dXJuUG9pbnQpCiAgICBDUkFTSCgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2
MDQKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwob3BfcHV0X2J5X2lkX3JldHVybl9sb2NhdGlvbikK
ICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8dWludDMyX3Qq
Pih0Mi5pOHAoKSArIDIwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjk5OQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50
cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAw
MAogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIuaSgpIC0gdDIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTAxMQogICAgcGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1MQogICAgcGMgPSBwYy5p
KCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXRf
YnlfaWRfd2lkZTE2KQogICAgdDMgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ3CiAgICBpZiAodDMuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNzNfbG9h
ZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDMuaSgp
IDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE3M19sb2Fk
X19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzE3M19sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkg
KyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAg
ICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4o
dDAuaThwKCkgKyAodDMuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE3M19sb2FkX19kb25lKQogICAg
aWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE3OV9mbl9fb3BQdXRCeUlkU2xvdzsKICAgIHQ1
ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNzYpOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzkz
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fbWV0YWRhdGFfXzE3M19tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0NSA9ICpDQVNUPHVp
bnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDI3Mik7ICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18xNzNfbWV0YWRhdGFfX3Nl
dFVwT2Zmc2V0KQogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0Mwog
ICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICogaW50MzJfdCgweDE4KSk7ICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCkodDUuaTMy
KCkgKyB0Mi5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTgKICAgIHQ1ID0gdDUuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDIgPSAqQ0FTVDx1aW50
MzJfdCo+KHQ1Lmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTI3CiAgICBpZiAodDIuaTMyKCkgIT0gKkNBU1Q8aW50MzJfdCo+KHQwLmk4
cCgpKSkgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MjgKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE3OV9mbl9f
b3BQdXRCeUlkU2xvdzsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0NS5pOHAoKSArIDgpOyAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzNQogICAgaWYg
KHQxLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTM2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xNzlfZm5fX29wUHV0QnlJZE5vdFRyYW5zaXRpb247
CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NDEKICAgIGlmICh0My5pKCkgPT0gMCkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTU0MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fMTc5X2ZuX19vcFB1dEJ5SWRUcmFuc2l0aW9uRGlyZWN0OwogICAgdDEgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQ0CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThw
KCkgKyA4MCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
NDUKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDIyNCk7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0NgogICAgdDAgPSB0Mi5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTQ5CiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgPj4gKGludHB0cl90
KDB4NykgJiAweDFmKSk7ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NTAKICAgIHQw
ID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1MQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90
KDB4MzApICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1MgogICAgdDIgPSB0Mi5pKCkgXiB0MC5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTUzCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA4KTsgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NTgKICAgIHQyID0gKkNBU1Q8aW50
NjRfdCo+KHQyLmk4cCgpICsgMzIpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU2MQogICAgaWYgKHQyLmk2NCgpID09IGludDY0X3QoMHgyKSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTYyCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xNzlfZm5f
X29wUHV0QnlJZFRyYW5zaXRpb25DaGFpbkRvbmU7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE3OV9mbl9fb3BQdXRC
eUlkVHJhbnNpdGlvbkNoYWluTG9vcCkKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAo
KSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2
NAogICAgaWYgKHQyLmkzMigpICE9ICpDQVNUPGludDMyX3QqPih0My5pOHAoKSkpICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTY1CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xNzlfZm5fX29wUHV0QnlJZFNsb3c7
CiAgICB0MyA9IHQzLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NjYKICAgIHQwID0gdDIuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTU0OQogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpID4+IChpbnRwdHJfdCgw
eDcpICYgMHgxZikpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUwCiAgICB0MCA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1NTEKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgw
eDMwKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE1NTIKICAgIHQyID0gdDIuaSgpIF4gdDAuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1
MwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTY4CiAgICBpZiAodDIuaTY0KCkgIT0g
aW50NjRfdCgweDIpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1NjkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzE3OV9mbl9fb3BQdXRCeUlkVHJhbnNpdGlvbkNoYWluTG9vcDsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fMTc5X2ZuX19vcFB1dEJ5SWRUcmFuc2l0aW9uQ2hhaW5Eb25lKQogICAgdDEgPSAqQ0FT
VDx1aW50MzJfdCo+KHQ1Lmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNTczCiAgICB0MyA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0My5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTc0X2xvYWRfX2NvbnN0YW50OwogICAgdDAg
PSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzE3NF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTc0X2xvYWRfX2NvbnN0YW50
KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQwID0gKkNBU1Q8aW50cHRy
X3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDgyCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0My5pKCkg
PDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xNzRfbG9hZF9f
ZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fMTc5X2ZuX19vcFB1dEJ5SWRUcmFuc2l0aW9uRGlyZWN0KQogICAg
KkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpKSA9IHQxLmkzMigpOyAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTc5CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGlu
dDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0
MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE3NV9sb2FkX19jb25z
dGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJh
bmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMTc1X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMTc1X2xvYWRfX2NvbnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAo
KSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEK
ICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MiA9ICpDQVNUPGludDY0X3Qq
Pih0Mi5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRX
aXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMTc1X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2Vs
bE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fXzE3Nl93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJp
ZXJEb25lOwogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTI2MgogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAoKSArIDcpID4g
dWludDhfdCgweDApKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFy
cmllck9uQ2VsbFdpdGhSZWxvYWRfXzE3Nl9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9u
ZTsKICAgIFBVU0gocGNCYXNlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQyCiAgICBQVVNIKHBjKTsKICAgIHQx
ID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQzCiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU0NAogICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOyAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjUKICAgIGxsaW50X3dyaXRlX2Jh
cnJpZXJfc2xvdyh0MCwgdDEpOwogICAgUE9QKHBjKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDYKICAg
IFBPUChwY0Jhc2UpOwogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThw
KCkgKyA3Nik7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDUu
aTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193
cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX19za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9f
c2xvd1BhdGhfX3JlbG9hZEFmdGVyU2xvd1BhdGhfX21ldGFkYXRhX18xNzVfbWV0YWRhdGFfX3Nl
dFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkg
KyAyNzIpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRo
UmVsb2FkX19za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fc2xvd1BhdGhfX3JlbG9hZEFmdGVy
U2xvd1BhdGhfX21ldGFkYXRhX18xNzVfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDEgPSAq
Q0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDEgPSAodWludDMyX3QpKHQx
LmkzMigpICogaW50MzJfdCgweDE4KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCkodDUuaTMyKCkgKyB0MS5pMzIoKSk7ICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQ1ID0gdDUuaSgp
ICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ3CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFy
cmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfX3Nr
aXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19zbG93UGF0aF9fcmVsb2FkQWZ0ZXJTbG93UGF0aF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTc2X2xvYWRfX2NvbnN0YW50OwogICAg
dDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxv
YWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfX3NraXBJZklzUmVtZW1iZXJlZE9ySW5F
ZGVuX19zbG93UGF0aF9fcmVsb2FkQWZ0ZXJTbG93UGF0aF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMTc2X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEw
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJh
cnJpZXJPbkNlbGxXaXRoUmVsb2FkX19za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fc2xvd1Bh
dGhfX3JlbG9hZEFmdGVyU2xvd1BhdGhfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzE3Nl9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkg
KyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAg
ICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4o
dDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0
aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fc2tpcElmSXNSZW1lbWJlcmVk
T3JJbkVkZW5fX3Nsb3dQYXRoX19yZWxvYWRBZnRlclNsb3dQYXRoX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18xNzZfbG9hZF9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFy
cmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzE3
Nl9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE3Nl93
cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lKQoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX18xNzlfZm5fX29wUHV0QnlJZE5vdFRyYW5zaXRpb24pCiAgICB0MSA9IChpbnQ2NF90KSpD
QVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0MS5pKCkgPj0gaW50cHRy
X3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTc3X2xvYWRfX2Nv
bnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAz
KSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzE3N19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTc3
X2xvYWRfX2NvbnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQy
ID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5p
OHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18xNzdfbG9hZF9fZG9uZSkKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0NS5pOHAoKSAr
IDQpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU5Mgog
ICAgaWYgKHQxLmkzMigpIDwgaW50MzJfdCgweDY0KSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTc3X3N0b3JlUHJvcGVydHlBdFZh
cmlhYmxlT2Zmc2V0X19pc0lubGluZTsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAo
KSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQw
NAogICAgdDEgPSAodWludDMyX3QpKC10MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDA1CiAgICB0MSA9IHQxLmkzMigpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE0MDYKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzE3N19zdG9yZVByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQwNwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTc3X3N0b3JlUHJv
cGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZSkKICAgIHQwID0gdDAuaSgpICsgaW50cHRy
X3QoLTc2OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQwOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTc3X3N0b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zm
c2V0X19yZWFkeSkKICAgICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykg
KyBpbnRwdHJfdCgweDMxMCkpID0gdDIuaTY0KCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTQxMQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3
CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFu
ZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18xNzhfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE3OF9sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5k
c19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzE3OF9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2
NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVy
YW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzE3OF9sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNr
Lmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX18xNzlfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlm
ICh0MC5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTc5X3dyaXRlQmFycmllck9uT3BlcmFuZHNf
X3dyaXRlQmFycmllckRvbmU7CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDcKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVC
YXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTc5X2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3Bl
cmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE3OV9sb2FkX19kb25l
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJh
bmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMTc5X2xvYWRfX2NvbnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODEKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MiA9
ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3Bl
cmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18xNzlfbG9hZF9fZG9uZSkKICAgIGlmICgodDIuaTY0KCkgJiBu
b3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVy
YW5kX18xNzlfd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9u
ZTsKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEyNjIKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyA3KSA+IHVpbnQ4
X3QoMHgwKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRf
X3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhS
ZWxvYWRfXzE3OV9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZTsKICAgIFBVU0gocGNC
YXNlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTQyCiAgICBQVVNIKHBjKTsKICAgIHQxID0gdDIuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTQzCiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NAogICAgY2xvb3BT
dGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOyAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMjUKICAgIGxsaW50X3dyaXRlX2JhcnJpZXJfc2xvdyh0MCwg
dDEpOwogICAgUE9QKHBjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDYKICAgIFBPUChwY0Jhc2UpOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVy
YW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxX
aXRoUmVsb2FkX18xNzlfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmUpCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzE3
OV93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lKQoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fMTc5X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmUp
CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Yyk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xNzlfZm5f
X29wUHV0QnlJZFNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAg
PSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2su
c2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5
cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3B1dF9ieV9pZCh0MCwgdDEpOwogICAgICAgIGRl
Y29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHhjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE3OV9mbl9fb3NyUmV0dXJuUG9p
bnQpCiAgICBDUkFTSCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MDQKCk9GRkxJTkVfQVNNX0dMVUVfTEFC
RUwob3BfcHV0X2J5X2lkX3JldHVybl9sb2NhdGlvbl93aWRlMTYpCiAgICB0MiA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxMDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0g
dDIuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4
M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgp
ICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBj
ID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExNTEKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhj
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHV0X2J5X2lkX3dpZGUzMikKICAg
IHQzID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQzLmkoKSA+
PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTgwX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX18xODBfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xODBfbG9hZF9fY29uc3RhbnQpCiAgICB0
MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQw
Lmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODgKICAgIHQzID0gdDMuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGlu
dDY0X3QqPih0MC5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE4MF9sb2FkX19kb25lKQogICAg
aWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE4Nl9mbl9fb3BQdXRCeUlkU2xvdzsKICAgIHQ1
ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNzYpOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzkz
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fbWV0YWRhdGFfXzE4MF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0NSA9ICpDQVNUPHVp
bnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDI3Mik7ICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18xODBfbWV0YWRhdGFfX3Nl
dFVwT2Zmc2V0KQogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEK
ICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAqIGludDMyX3QoMHgxOCkpOyAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3QpKHQ1Lmkz
MigpICsgdDIuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQyID0gKkNBU1Q8dWlu
dDMyX3QqPih0NS5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTUyNwogICAgaWYgKHQyLmkzMigpICE9ICpDQVNUPGludDMyX3QqPih0MC5p
OHAoKSkpICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTI4CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xODZfZm5f
X29wUHV0QnlJZFNsb3c7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4odDUuaThwKCkgKyA4KTsg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1MzUKICAgIGlm
ICh0MS5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTUzNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTg2X2ZuX19vcFB1dEJ5SWROb3RUcmFuc2l0aW9u
OwogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTQxCiAgICBpZiAodDMuaSgpID09IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1NDIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzE4Nl9mbl9fb3BQdXRCeUlkVHJhbnNpdGlvbkRpcmVjdDsKICAgIHQxID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTU0NAogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4
cCgpICsgODApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NTQ1CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAyMjQpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NDYKICAgIHQwID0gdDIuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTU0OQogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpID4+IChpbnRwdHJf
dCgweDcpICYgMHgxZikpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUwCiAgICB0
MCA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1NTEKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJf
dCgweDMwKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE1NTIKICAgIHQyID0gdDIuaSgpIF4gdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTU1MwogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgOCk7ICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTU4CiAgICB0MiA9ICpDQVNUPGlu
dDY0X3QqPih0Mi5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE1NjEKICAgIGlmICh0Mi5pNjQoKSA9PSBpbnQ2NF90KDB4MikpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2MgogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTg2X2Zu
X19vcFB1dEJ5SWRUcmFuc2l0aW9uQ2hhaW5Eb25lOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xODZfZm5fX29wUHV0
QnlJZFRyYW5zaXRpb25DaGFpbkxvb3ApCiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThw
KCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
NjQKICAgIGlmICh0Mi5pMzIoKSAhPSAqQ0FTVDxpbnQzMl90Kj4odDMuaThwKCkpKSAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2NQogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTg2X2ZuX19vcFB1dEJ5SWRTbG93
OwogICAgdDMgPSB0My5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTY2CiAgICB0MCA9IHQyLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE1NDkKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSA+PiAoaW50cHRyX3Qo
MHg3KSAmIDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU1MAogICAgdDAg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUxCiAgICB0MiA9IHQyLmkoKSA8PCAoaW50cHRyX3Qo
MHgzMCkgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNTUyCiAgICB0MiA9IHQyLmkoKSBeIHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE1
NTMKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgMzIpOyAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTU2OAogICAgaWYgKHQyLmk2NCgpICE9
IGludDY0X3QoMHgyKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNTY5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX18xODZfZm5fX29wUHV0QnlJZFRyYW5zaXRpb25DaGFpbkxvb3A7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fXzE4Nl9mbl9fb3BQdXRCeUlkVHJhbnNpdGlvbkNoYWluRG9uZSkKICAgIHQxID0gKkNB
U1Q8dWludDMyX3QqPih0NS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTU3MwogICAgdDMgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU1CiAgICBpZiAodDMuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzE4MV9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xODFfbG9h
ZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE4MV9sb2FkX19jb25zdGFudCkKICAgIHQw
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAu
aThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4OAogICAgdDMgPSB0My5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50
NjRfdCo+KHQwLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18xODFfbG9hZF9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTg2X2ZuX19vcFB1dEJ5SWRUcmFu
c2l0aW9uRGlyZWN0KQogICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpKSA9IHQxLmkzMigpOyAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNTc5CiAgICB0MSA9
ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MS5pKCkgPj0gaW50
cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE4Ml9s
b2FkX19jb25zdGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTgyX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRo
UmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMTgyX2xvYWRfX2NvbnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODcKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MSA9IHQxLmko
KSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xODJfbG9h
ZF9fZG9uZSkKICAgIGlmICgodDIuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTgzX3dyaXRlQmFy
cmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmU7CiAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxMjYxCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjYyCiAgICBp
ZiAoKkNBU1Q8dWludDhfdCo+KHQyLmk4cCgpICsgNykgPiB1aW50OF90KDB4MCkpCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVC
YXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9f
MTgzX3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNl
dEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAg
ICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CiAgICB0NSA9
ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDc2KTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5Mwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhS
ZWxvYWRfX3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19zbG93UGF0aF9fcmVsb2FkQWZ0ZXJT
bG93UGF0aF9fbWV0YWRhdGFfXzE4Ml9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0NSA9ICpD
QVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDI3Mik7ICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFu
ZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfX3NraXBJZklzUmVtZW1i
ZXJlZE9ySW5FZGVuX19zbG93UGF0aF9fcmVsb2FkQWZ0ZXJTbG93UGF0aF9fbWV0YWRhdGFfXzE4
Ml9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MTIpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MQogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICogaW50MzJfdCgweDE4
KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0NSA9ICh1
aW50MzJfdCkodDUuaTMyKCkgKyB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTgKICAgIHQ1ID0gdDUuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAg
dDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDEuaSgpID49
IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRl
QmFycmllck9uQ2VsbFdpdGhSZWxvYWRfX3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19zbG93
UGF0aF9fcmVsb2FkQWZ0ZXJTbG93UGF0aF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMTgzX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgK
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dy
aXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxv
YWRfX3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19zbG93UGF0aF9fcmVsb2FkQWZ0ZXJTbG93
UGF0aF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTgzX2xvYWRfX2RvbmU7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX19za2lwSWZJ
c1JlbWVtYmVyZWRPckluRWRlbl9fc2xvd1BhdGhfX3JlbG9hZEFmdGVyU2xvd1BhdGhfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE4M19sb2FkX19jb25zdGFudCkKICAgIHQwID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThw
KCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
OAogICAgdDEgPSB0MS5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50NjRf
dCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVs
b2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX19za2lwSWZJc1JlbWVtYmVyZWRPcklu
RWRlbl9fc2xvd1BhdGhfX3JlbG9hZEFmdGVyU2xvd1BhdGhfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzE4M19sb2FkX19kb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVy
T25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMTgzX3Nr
aXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTgzX3dyaXRl
QmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmUpCgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
XzE4Nl9mbl9fb3BQdXRCeUlkTm90VHJhbnNpdGlvbikKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAw
KSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xODRfbG9hZF9fY29uc3RhbnQ7CiAgICB0
MiA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMTg0X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xODRfbG9hZF9fY29uc3Rh
bnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDIgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MiA9
ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMTg0X2xvYWRfX2RvbmUpCiAgICB0MSA9ICpDQVNUPHVpbnQzMl90
Kj4odDUuaThwKCkgKyA0KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE1OTIKICAgIGlmICh0MS5pMzIoKSA8IGludDMyX3QoMHg2NCkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQwMwogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE4NF9zdG9y
ZVByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmU7CiAgICB0MCA9ICpDQVNUPGludHB0
cl90Kj4odDAuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE0MDQKICAgIHQxID0gKHVpbnQzMl90KSgtdDEuaTMyKCkpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQwNQogICAgdDEg
PSB0MS5pMzIoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDA2CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18xODRfc3RvcmVQcm9wZXJ0eUF0VmFyaWFibGVPZmZz
ZXRfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MDcKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzE4NF9zdG9yZVByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MCA9IHQw
LmkoKSArIGludHB0cl90KC03NjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE0MDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE4NF9zdG9yZVByb3BlcnR5
QXRWYXJpYWJsZU9mZnNldF9fcmVhZHkpCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAo
dDEuaSgpIDw8IDMpICsgaW50cHRyX3QoMHgzMTApKSA9IHQyLmk2NCgpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE0MTEKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1NQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMTg1X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxs
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xODVfbG9hZF9fZG9uZTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3Bl
cmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18xODVfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgp
IC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0
MS5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE4NV9sb2FkX19kb25lKQog
ICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18xODZfd3JpdGVCYXJyaWVyT25PcGVy
YW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTcy
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fMTg2X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICB0MSA9
ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MS5pKCkgPj0gaW50
cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVy
YW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTg2X2xvYWRfX2NvbnN0
YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFu
ZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9h
ZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzE4Nl9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5k
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
Q2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTg2X2xvYWRfX2NvbnN0YW50
KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQyID0gKkNBU1Q8aW50cHRy
X3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDg4CiAgICB0MSA9IHQxLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDIgPSAq
Q0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3Bl
cmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJl
bG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzE4Nl9sb2FkX19kb25lKQogICAgaWYgKCh0Mi5pNjQoKSAmIG5vdENlbGxNYXNr
Lmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzE4Nl93
cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lOwogICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2
MgogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAoKSArIDcpID4gdWludDhfdCgweDApKQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJy
aWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMTg2
X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1
cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQ
T1AocGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRl
QmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRf
XzE4Nl9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMTg2X3dyaXRlQmFy
cmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmUpCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X18xODZfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkKICAgIHBjID0g
cGMuaSgpICsgaW50cHRyX3QoMHgxNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAg
ICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE4Nl9mbl9fb3BQdXRCeUlk
U2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50
U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQg
PSBsbGludF9zbG93X3BhdGhfcHV0X2J5X2lkKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4
CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDE2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTg2X2ZuX19vc3JSZXR1cm5Qb2ludCkKICAgIENS
QVNIKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYwNAoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChvcF9wdXRf
YnlfaWRfcmV0dXJuX2xvY2F0aW9uX3dpZGUzMikKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEwMDUKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDIwKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQogICAgdDIgPSB0Mi5pKCkgPDwg
KGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJf
dCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTAwMQogICAgc3AgPSBjZnIuaSgpIC0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAxMQogICAgcGMgPSAqQ0FTVDx1
aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTE1MQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDE2KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfYnlfdmFsKQogICAgdDUgPSAqQ0FTVDx1aW50
MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA3OCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzkyCiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9f
MTg2X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWludDMyX3QqPihtZXRh
ZGF0YVRhYmxlLmk4cCgpICsgMjc2KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzE4Nl9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAg
ICB0MiA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzUKICAgIHQyID0gKHVpbnQz
Ml90KSh0Mi5pMzIoKSAqIGludDMyX3QoMHgzMCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3QpKHQ1LmkzMigpICsgdDIuaTMyKCkp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0NSA9
IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4MTApKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18xODdfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAog
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzE4N19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzE4N19sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDc1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAgPSAqQ0FTVDxp
bnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE4N19sb2FkX19k
b25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcEdldEJ5VmFsU2xvdzsK
ICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYzMgogICAgdDEgPSAqQ0FTVDx1aW50MzJf
dCo+KHQyLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTE1NwogICAgKkNBU1Q8aW50MzJfdCo+KHQ1Lmk4cCgpICsgMjQpID0gdDEuaTMyKCk7
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1OAogICAgdDIgPSAqQ0FT
VDx1aW50OF90Kj4odDIuaThwKCkgKyA0KTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTE1OQogICAgdDMgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgzKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzkKICAgIGlmICh0My5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18x
ODhfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18x
ODhfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMTg4X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NzUKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MSA9ICpDQVNUPGlu
dDY0X3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE4OF9sb2FkX19k
b25lKQogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzAKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcEdldEJ5VmFsU2xvdzsK
ICAgIHQxID0gdDEuaTMyKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYzNwogICAgdDMgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQwLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NjEKICAgIG51bWJlclRhZyA9IGludHB0cl90KC01NjI5NDk5NTM0MjEzMTIpOyAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY0MAogICAgdDIgPSAo
dWludDMyX3QpKHQyLmkzMigpICYgaW50MzJfdCgweGUpKTsgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNjQyCiAgICBpZiAodDIuaTMyKCkgPT0gaW50MzJfdCgweDQp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2
NDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19vcEdldEJ5VmFsSXNDb250aWd1b3VzOwogICAgaWYgKHQyLmkzMigpICE9IGludDMyX3Qo
MHg4KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNjQ0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fb3BHZXRCeVZhbE5vdENvbnRpZ3VvdXM7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcEdldEJ5
VmFsSXNDb250aWd1b3VzKQogICAgaWYgKHQxLnUzMigpID49ICpDQVNUPHVpbnQzMl90Kj4odDMu
aThwKCkgLSA4KSkgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjQ3CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fb3BH
ZXRCeVZhbFNsb3c7CiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozOQogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDMp
KTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjQ5CiAgICBpZiAodDIuaTY0
KCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE2NTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcEdldEJ5VmFsU2xvdzsKICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wR2V0QnlWYWxEb25lOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE2NTEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wR2V0QnlWYWxOb3RD
b250aWd1b3VzKQogICAgaWYgKHQyLmkzMigpICE9IGludDMyX3QoMHg2KSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjU0CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fb3BHZXRCeVZh
bE5vdERvdWJsZTsKICAgIGlmICh0MS51MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQzLmk4cCgp
IC0gOCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY1NQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wR2V0QnlW
YWxTbG93OwogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzkKICAgIGQwID0gKkNBU1Q8ZG91YmxlKj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY1NwogICAgaWYgKHN0ZDo6aXNuYW4o
ZDAuZCgpKSB8fCBzdGQ6OmlzbmFuKGQwLmQoKSkgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNjU4CiAgICAgICAgfHwgKGQwLmQoKSAhPSBkMC5kKCkpKQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wR2V0QnlW
YWxTbG93OwogICAgdDIgPSBkMC5iaXRzQXNJbnQ2NCgpOyAvLyBmZDJxICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjU5CiAgICB0MiA9IHQyLmk2
NCgpIC0gbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE2NjAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX29wR2V0QnlWYWxEb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE2NjEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wR2V0QnlWYWxOb3REb3VibGUpCiAgICB0MiA9ICh1
aW50MzJfdCkodDIuaTMyKCkgLSBpbnQzMl90KDB4YSkpOyAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE2NjQKICAgIGlmICh0Mi51MzIoKSA+IHVpbnQzMl90KDB4Mikp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY2
NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX29wR2V0QnlWYWxOb3RJbmRleGVkU3RvcmFnZTsKICAgIGlmICh0MS51MzIoKSA+PSAqQ0FT
VDx1aW50MzJfdCo+KHQzLmk4cCgpIC0gNCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTY2NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX29wR2V0QnlWYWxTbG93OwogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNjY4CiAgICBpZiAodDIuaTY0KCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NjkKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcEdldEJ5VmFs
U2xvdzsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wR2V0QnlWYWxEb25lKQogICAgKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNjcyCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDUuaThwKCkpID0gdDIuaTY0KCk7
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fb3BHZXRCeVZhbE5v
dEluZGV4ZWRTdG9yYWdlKQogICAgdDIgPSAqQ0FTVDx1aW50OF90Kj4odDAuaThwKCkgKyA1KTsg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE2NAogICAgdDIg
PSAodWludDMyX3QpKHQyLmkzMigpIC0gaW50MzJfdCgweDI2KSk7ICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTE2NQogICAgaWYgKHQyLnUzMigpID49IHVpbnQzMl90KDB4
OSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE2
NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX29wR2V0QnlWYWxTbG93OwogICAgaWYgKHQxLnUzMigpID49ICpDQVNUPHVpbnQzMl90Kj4o
dDAuaThwKCkgKyAyNCkpICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE3NwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29w
R2V0QnlWYWxTbG93OwogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE4MAogICAgaWYgKHQy
LnUzMigpID4gdWludDMyX3QoMHg0KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTE5NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dldEJ5VmFsVHlwZWRBcnJheV9fb3BHZXRCeVZhbEFi
b3ZlVWludDE2QXJyYXk7CiAgICBpZiAodDIudTMyKCkgPiB1aW50MzJfdCgweDIpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTk3CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ2V0QnlW
YWxUeXBlZEFycmF5X19vcEdldEJ5VmFsSW50MTZBcnJheU9yVWludDE2QXJyYXk7CiAgICBpZiAo
dDIudTMyKCkgPiB1aW50MzJfdCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxMjAwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ2V0QnlWYWxUeXBlZEFycmF5X19vcEdldEJ5VmFs
VWludDhBcnJheU9yVWludDhDbGFtcGVkQXJyYXk7CiAgICB0MCA9ICh1aW50MzJfdCkoKGludDMy
X3QpKkNBU1Q8aW50OF90Kj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDApKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEyMDMKICAgIHQwID0gdDAuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxNwogICAg
dDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpDQVNU
PGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxMQogICAgKkNBU1Q8aW50NjRfdCo+KHQ1Lmk4cCgpKSA9
IHQwLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3
OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dl
dEJ5VmFsVHlwZWRBcnJheV9fb3BHZXRCeVZhbFVpbnQ4QXJyYXlPclVpbnQ4Q2xhbXBlZEFycmF5
KQogICAgaWYgKHQyLnUzMigpID4gdWludDMyX3QoMHgxKSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTIwNwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dldEJ5VmFsVHlwZWRBcnJheV9f
b3BHZXRCeVZhbFVpbnQ4Q2xhbXBlZEFycmF5OwogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4odDMu
aThwKCkgKyAodDEuaSgpIDw8IDApKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTIxMAogICAgdDAgPSB0MC5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjE3CiAgICB0MSA9IChpbnQ2NF90
KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNm
ci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNjExCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDUuaThwKCkpID0gdDAuaTY0KCk7ICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ2V0QnlWYWxUeXBlZEFy
cmF5X19vcEdldEJ5VmFsVWludDhDbGFtcGVkQXJyYXkpCiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
Pih0My5pOHAoKSArICh0MS5pKCkgPDwgMCkpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMjE1CiAgICB0MCA9IHQwLmk2NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MTcKICAgIHQxID0gKGlu
dDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE2MTEKICAgICpDQVNUPGludDY0X3QqPih0NS5pOHAoKSkgPSB0MC5pNjQo
KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHBj
ID0gcGMuaSgpICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nZXRCeVZhbFR5
cGVkQXJyYXlfX29wR2V0QnlWYWxJbnQxNkFycmF5T3JVaW50MTZBcnJheSkKICAgIGlmICh0Mi51
MzIoKSA+IHVpbnQzMl90KDB4MykpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEyMjAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nZXRCeVZhbFR5cGVkQXJyYXlfX29wR2V0QnlWYWxVaW50
MTZBcnJheTsKICAgIHQwID0gKHVpbnQzMl90KSgoaW50MzJfdCkqQ0FTVDxpbnQxNl90Kj4odDMu
aThwKCkgKyAodDEuaSgpIDw8IDEpKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyMjMKICAg
IHQwID0gdDAuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxNwogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTYxMQogICAgKkNBU1Q8aW50NjRfdCo+KHQ1Lmk4cCgpKSA9IHQwLmk2NCgpOyAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dldEJ5VmFsVHlwZWRBcnJheV9fb3BH
ZXRCeVZhbFVpbnQxNkFycmF5KQogICAgdDAgPSAqQ0FTVDx1aW50MTZfdCo+KHQzLmk4cCgpICsg
KHQxLmkoKSA8PCAxKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTIyOAogICAg
dDAgPSB0MC5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjE3CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NjExCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDUuaThwKCkpID0gdDAuaTY0KCk7ICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ2V0QnlWYWxUeXBlZEFycmF5X19vcEdl
dEJ5VmFsQWJvdmVVaW50MTZBcnJheSkKICAgIGlmICh0Mi51MzIoKSA+IHVpbnQzMl90KDB4Nikp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyMzMK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19nZXRCeVZhbFR5cGVkQXJyYXlfX29wR2V0QnlWYWxGbG9hdDMyQXJyYXlPckZsb2F0NjRBcnJh
eTsKICAgIGlmICh0Mi51MzIoKSA+IHVpbnQzMl90KDB4NSkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyMzYKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nZXRCeVZhbFR5cGVkQXJyYXlf
X29wR2V0QnlWYWxVaW50MzJBcnJheTsKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAo
KSArICh0MS5pKCkgPDwgMikpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyMzkK
ICAgIHQwID0gdDAuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxNwogICAgdDEgPSAoaW50NjRfdCkqQ0FT
VDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTYxMQogICAgKkNBU1Q8aW50NjRfdCo+KHQ1Lmk4cCgpKSA9IHQwLmk2NCgpOyAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dldEJ5VmFsVHlwZWRBcnJheV9f
b3BHZXRCeVZhbFVpbnQzMkFycmF5KQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQzLmk4cCgp
ICsgKHQxLmkoKSA8PCAyKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI0NQog
ICAgaWYgKHQwLmkzMigpIDwgaW50MzJfdCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI0NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wR2V0QnlWYWxTbG93OwogICAgdDAg
PSB0MC5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjE3CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjEx
CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDUuaThwKCkpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ2V0QnlWYWxUeXBlZEFycmF5X19vcEdldEJ5
VmFsRmxvYXQzMkFycmF5T3JGbG9hdDY0QXJyYXkpCiAgICBpZiAodDIuaTMyKCkgPT0gaW50MzJf
dCgweDcpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMjUyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fb3BHZXRCeVZhbFNsb3c7CiAgICBkMCA9ICpDQVNUPGRvdWJsZSo+KHQzLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjU1
CiAgICBpZiAoc3RkOjppc25hbihkMC5kKCkpIHx8IHN0ZDo6aXNuYW4oZDAuZCgpKSAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjU2CiAgICAgICAgfHwgKGQwLmQoKSAhPSBk
MC5kKCkpKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX29wR2V0QnlWYWxTbG93OwogICAgdDAgPSBkMC5iaXRzQXNJbnQ2NCgpOyAvLyBm
ZDJxICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NjIyCiAgICB0MCA9IHQwLmk2NCgpIC0gbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MjMKICAgIHQxID0gKGludDY0X3Qp
KkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4
MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE2MTEKICAgICpDQVNUPGludDY0X3QqPih0NS5pOHAoKSkgPSB0MC5pNjQoKTsgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcEdldEJ5VmFsU2xvdykK
ICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQ
b2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGlu
dF9zbG93X3BhdGhfZ2V0X2J5X3ZhbCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1
bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAg
cGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHg1KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzE4OF9mbl9fb3NyUmV0dXJuUG9pbnQpCiAgICBDUkFTSCgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo2MDQKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwob3BfZ2V0X2J5X3Zh
bF9yZXR1cm5fbG9jYXRpb24pCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1CiAgICB0
MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgw
eDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAg
IHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMyX3QqPihj
ZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjExNTEKICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNzgp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9
IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzE4OF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0
NSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDI3Nik7ICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18xODhf
bWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDIgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKiBpbnQzMl90KDB4MzApKTsg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQz
Ml90KSh0NS5pMzIoKSArIHQyLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDUgPSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FT
VDxpbnQ2NF90Kj4odDUuaThwKCkpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYw
CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAg
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgw
eDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfYnlfdmFsX3dpZGUxNikK
ICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNzgpOyAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fbWV0YWRhdGFfXzE4OV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0NSA9ICpD
QVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDI3Nik7ICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18xODlfbWV0YWRh
dGFfX3NldFVwT2Zmc2V0KQogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0MwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICogaW50MzJfdCgweDMwKSk7ICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCko
dDUuaTMyKCkgKyB0Mi5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTgKICAgIHQ1ID0gdDUuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDIgPSAoaW50
NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDIuaSgpID49
IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX18xODlfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNU
PGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzE4OV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE4OV9sb2FkX19jb25zdGFudCkKICAgIHQw
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAu
aThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpICsg
aW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzE4OV9sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNr
Lmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
XzE5MF9mbl9fb3BHZXRCeVZhbFNsb3c7CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2
MzIKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExNTcKICAgICpDQVNUPGludDMyX3QqPih0
NS5pOHAoKSArIDI0KSA9IHQxLmkzMigpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjExNTgKICAgIHQyID0gKkNBU1Q8dWludDhfdCo+KHQyLmk4cCgpICsgNCk7ICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExNTkKICAgIHQzID0gKGlu
dDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQzLmkoKSA+
PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE5MF9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE5MF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMy
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xOTBfbG9hZF9fY29uc3RhbnQpCiAg
ICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQzLmkoKSA8PCAz
KSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMTkwX2xvYWRfX2RvbmUpCiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJU
YWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUzMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fMTkwX2ZuX19vcEdldEJ5VmFsU2xvdzsKICAgIHQxID0gdDEuaTMyKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTYzNwogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgOCk7ICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjEKICAgIG51bWJlclRhZyA9
IGludHB0cl90KC01NjI5NDk5NTM0MjEzMTIpOyAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTY0MAogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICYgaW50MzJf
dCgweGUpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjQyCiAg
ICBpZiAodDIuaTMyKCkgPT0gaW50MzJfdCgweDQpKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE5MF9mbl9fb3BHZXRCeVZhbElzQ29udGln
dW91czsKICAgIGlmICh0Mi5pMzIoKSAhPSBpbnQzMl90KDB4OCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY0NAogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTkwX2ZuX19vcEdldEJ5VmFs
Tm90Q29udGlndW91czsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTkwX2ZuX19vcEdldEJ5VmFsSXNDb250aWd1b3Vz
KQogICAgaWYgKHQxLnUzMigpID49ICpDQVNUPHVpbnQzMl90Kj4odDMuaThwKCkgLSA4KSkgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjQ3CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xOTBfZm5fX29wR2V0QnlWYWxTbG93
OwogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAg
ICB0MiA9ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NDkKICAgIGlmICh0Mi5pNjQoKSA9PSAwKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTY1MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fMTkwX2ZuX19vcEdldEJ5VmFsU2xvdzsKICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTkwX2ZuX19vcEdldEJ5VmFsRG9uZTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNjUxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE5MF9mbl9fb3BHZXRCeVZhbE5v
dENvbnRpZ3VvdXMpCiAgICBpZiAodDIuaTMyKCkgIT0gaW50MzJfdCgweDYpKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NTQKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE5MF9mbl9fb3BH
ZXRCeVZhbE5vdERvdWJsZTsKICAgIGlmICh0MS51MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQz
Lmk4cCgpIC0gOCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY1NQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTkwX2Zu
X19vcEdldEJ5VmFsU2xvdzsKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0NwogICAgZDAgPSAqQ0FTVDxkb3VibGUqPih0My5pOHAoKSArICh0MS5pKCkg
PDwgMykpOyAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjU3CiAgICBpZiAo
c3RkOjppc25hbihkMC5kKCkpIHx8IHN0ZDo6aXNuYW4oZDAuZCgpKSAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE2NTgKICAgICAgICB8fCAoZDAuZCgpICE9IGQwLmQoKSkp
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18x
OTBfZm5fX29wR2V0QnlWYWxTbG93OwogICAgdDIgPSBkMC5iaXRzQXNJbnQ2NCgpOyAvLyBmZDJx
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjU5
CiAgICB0MiA9IHQyLmk2NCgpIC0gbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NjAKICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTkwX2ZuX19vcEdldEJ5VmFsRG9uZTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjYxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE5MF9mbl9fb3BHZXRCeVZh
bE5vdERvdWJsZSkKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAtIGludDMyX3QoMHhhKSk7
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY2NAogICAgaWYgKHQy
LnUzMigpID4gdWludDMyX3QoMHgyKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNjY1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX18xOTBfZm5fX29wR2V0QnlWYWxOb3RJbmRleGVkU3RvcmFn
ZTsKICAgIGlmICh0MS51MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQzLmk4cCgpIC0gNCkpICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY2NgogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTkwX2ZuX19vcEdldEJ5VmFsU2xv
dzsKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0Nwog
ICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRy
X3QoMHgxMCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NjgKICAgIGlmICh0Mi5pNjQo
KSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTY2OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fMTkwX2ZuX19vcEdldEJ5VmFsU2xvdzsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTkw
X2ZuX19vcEdldEJ5VmFsRG9uZSkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAu
aSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY3Mgog
ICAgKkNBU1Q8aW50NjRfdCo+KHQ1Lmk4cCgpKSA9IHQyLmk2NCgpOyAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTkwX2ZuX19vcEdldEJ5VmFsTm90SW5kZXhlZFN0b3Jh
Z2UpCiAgICB0MiA9ICpDQVNUPHVpbnQ4X3QqPih0MC5pOHAoKSArIDUpOyAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTY0CiAgICB0MiA9ICh1aW50MzJfdCko
dDIuaTMyKCkgLSBpbnQzMl90KDB4MjYpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMTY1CiAgICBpZiAodDIudTMyKCkgPj0gdWludDMyX3QoMHg5KSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTY2CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xOTBfZm5fX29wR2V0
QnlWYWxTbG93OwogICAgaWYgKHQxLnUzMigpID49ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkg
KyAyNCkpICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE3NwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTkwX2ZuX19vcEdldEJ5
VmFsU2xvdzsKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExODAKICAgIGlmICh0Mi51MzIo
KSA+IHVpbnQzMl90KDB4NCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjExOTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX18xOTBfZ2V0QnlWYWxUeXBlZEFycmF5X19vcEdldEJ5VmFsQWJv
dmVVaW50MTZBcnJheTsKICAgIGlmICh0Mi51MzIoKSA+IHVpbnQzMl90KDB4MikpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExOTcKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18xOTBfZ2V0
QnlWYWxUeXBlZEFycmF5X19vcEdldEJ5VmFsSW50MTZBcnJheU9yVWludDE2QXJyYXk7CiAgICBp
ZiAodDIudTMyKCkgPiB1aW50MzJfdCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMjAwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTkwX2dldEJ5VmFsVHlwZWRBcnJheV9fb3BH
ZXRCeVZhbFVpbnQ4QXJyYXlPclVpbnQ4Q2xhbXBlZEFycmF5OwogICAgdDAgPSAodWludDMyX3Qp
KChpbnQzMl90KSpDQVNUPGludDhfdCo+KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAwKSkpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxMjAzCiAgICB0MCA9IHQwLmk2NCgpIHwgbnVtYmVyVGFnLmk2
NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2
MTcKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0Nwog
ICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjExCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDUu
aThwKCkpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fMTkwX2dldEJ5VmFsVHlwZWRBcnJheV9fb3BHZXRCeVZhbFVpbnQ4QXJyYXlPclVpbnQ4
Q2xhbXBlZEFycmF5KQogICAgaWYgKHQyLnUzMigpID4gdWludDMyX3QoMHgxKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTIwNwogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE5MF9nZXRC
eVZhbFR5cGVkQXJyYXlfX29wR2V0QnlWYWxVaW50OENsYW1wZWRBcnJheTsKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAwKSk7ICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEyMTAKICAgIHQwID0gdDAuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxNwog
ICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MTEKICAgICpDQVNUPGludDY0X3QqPih0NS5pOHAo
KSkgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NzkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X18xOTBfZ2V0QnlWYWxUeXBlZEFycmF5X19vcEdldEJ5VmFsVWludDhDbGFtcGVkQXJyYXkpCiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPih0My5pOHAoKSArICh0MS5pKCkgPDwgMCkpOyAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjE1CiAgICB0MCA9IHQwLmk2NCgpIHwgbnVtYmVy
VGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE2MTcKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAu
aTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjExCiAgICAqQ0FTVDxpbnQ2NF90
Kj4odDUuaThwKCkpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fMTkwX2dldEJ5VmFsVHlwZWRBcnJheV9fb3BHZXRCeVZhbEludDE2QXJyYXlP
clVpbnQxNkFycmF5KQogICAgaWYgKHQyLnUzMigpID4gdWludDMyX3QoMHgzKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTIyMAogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE5MF9nZXRC
eVZhbFR5cGVkQXJyYXlfX29wR2V0QnlWYWxVaW50MTZBcnJheTsKICAgIHQwID0gKHVpbnQzMl90
KSgoaW50MzJfdCkqQ0FTVDxpbnQxNl90Kj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDEpKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyMjMKICAgIHQwID0gdDAuaTY0KCkgfCBudW1iZXJUYWcu
aTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTYxNwogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3
CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQo
KTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MTEKICAgICpDQVNUPGludDY0X3QqPih0
NS5pOHAoKSkgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NzkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX18xOTBfZ2V0QnlWYWxUeXBlZEFycmF5X19vcEdldEJ5VmFsVWludDE2QXJyYXkpCiAg
ICB0MCA9ICpDQVNUPHVpbnQxNl90Kj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDEpKTsgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjI4CiAgICB0MCA9IHQwLmk2NCgpIHwgbnVtYmVy
VGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE2MTcKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAu
aTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjExCiAgICAqQ0FTVDxpbnQ2NF90
Kj4odDUuaThwKCkpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fMTkwX2dldEJ5VmFsVHlwZWRBcnJheV9fb3BHZXRCeVZhbEFib3ZlVWludDE2
QXJyYXkpCiAgICBpZiAodDIudTMyKCkgPiB1aW50MzJfdCgweDYpKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjMzCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTkwX2dldEJ5VmFsVHlw
ZWRBcnJheV9fb3BHZXRCeVZhbEZsb2F0MzJBcnJheU9yRmxvYXQ2NEFycmF5OwogICAgaWYgKHQy
LnUzMigpID4gdWludDMyX3QoMHg1KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTIzNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE5MF9nZXRCeVZhbFR5cGVkQXJyYXlfX29wR2V0QnlW
YWxVaW50MzJBcnJheTsKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSArICh0MS5p
KCkgPDwgMikpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyMzkKICAgIHQwID0g
dDAuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxNwogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQx
LmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MTEK
ICAgICpDQVNUPGludDY0X3QqPih0NS5pOHAoKSkgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18xOTBfZ2V0QnlWYWxUeXBlZEFycmF5X19vcEdl
dEJ5VmFsVWludDMyQXJyYXkpCiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDMuaThwKCkgKyAo
dDEuaSgpIDw8IDIpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjQ1CiAgICBp
ZiAodDAuaTMyKCkgPCBpbnQzMl90KDB4MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMjQ2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xOTBfZm5fX29wR2V0QnlWYWxTbG93OwogICAgdDAg
PSB0MC5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjE3CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYx
MQogICAgKkNBU1Q8aW50NjRfdCo+KHQ1Lmk4cCgpKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE5MF9nZXRCeVZhbFR5cGVkQXJyYXlfX29w
R2V0QnlWYWxGbG9hdDMyQXJyYXlPckZsb2F0NjRBcnJheSkKICAgIGlmICh0Mi5pMzIoKSA9PSBp
bnQzMl90KDB4NykpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEyNTIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzE5MF9mbl9fb3BHZXRCeVZhbFNsb3c7CiAgICBkMCA9ICpDQVNUPGRvdWJsZSo+
KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMjU1CiAgICBpZiAoc3RkOjppc25hbihkMC5kKCkpIHx8IHN0ZDo6aXNuYW4oZDAuZCgp
KSAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjU2CiAgICAgICAgfHwgKGQw
LmQoKSAhPSBkMC5kKCkpKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fMTkwX2ZuX19vcEdldEJ5VmFsU2xvdzsKICAgIHQwID0gZDAuYml0c0Fz
SW50NjQoKTsgLy8gZmQycSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTYyMgogICAgdDAgPSB0MC5pNjQoKSAtIG51bWJlclRhZy5pNjQoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjIzCiAgICB0
MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNU
PGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxMQogICAgKkNBU1Q8aW50NjRfdCo+KHQ1Lmk4cCgpKSA9
IHQwLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3
OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTkwX2Zu
X19vcEdldEJ5VmFsU2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0
MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFj
ay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJu
VHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfZ2V0X2J5X3ZhbCh0MCwgdDEpOwogICAgICAg
IGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0g
cGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAg
ICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE5MF9mbl9fb3NyUmV0dXJu
UG9pbnQpCiAgICBDUkFTSCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo2MDQKCk9GRkxJTkVfQVNNX0dMVUVf
TEFCRUwob3BfZ2V0X2J5X3ZhbF9yZXR1cm5fbG9jYXRpb25fd2lkZTE2KQogICAgdDIgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTAwNQogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsg
MjApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTk5CiAgICB0
MiA9IHQyLmkoKSA8PCAoaW50cHRyX3QoMHgzKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkg
PyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDAwCiAgICB0MiA9IHQy
LmkoKSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMDAxCiAgICBzcCA9IGNmci5pKCkgLSB0Mi5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDExCiAg
ICBwYyA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTUxCiAgICB0NSA9ICpDQVNUPHVpbnQxNl90Kj4o
bWV0YWRhdGFUYWJsZS5pOHAoKSArIDc4KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTIKICAgIGlmICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18xOTBfbWV0
YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFi
bGUuaThwKCkgKyAyNzYpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19tZXRhZGF0YV9fMTkwX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQyID0g
KkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHg4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQyID0gKHVpbnQzMl90KSh0
Mi5pMzIoKSAqIGludDMyX3QoMHgzMCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3QpKHQ1LmkzMigpICsgdDIuaTMyKCkpOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1Lmko
KSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0NS5pOHAoKSkgPSB0MC5pNjQo
KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQy
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2Mgog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9nZXRfYnlfdmFsX3dpZGUzMikKICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRh
ZGF0YVRhYmxlLmk4cCgpICsgNzgpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzE5MV9tZXRhZGF0
YV9fc2V0VXBPZmZzZXQ7CiAgICB0NSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5p
OHAoKSArIDI3Nik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX21ldGFkYXRhX18xOTFfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDIgPSAqQ0FT
VDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGUp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MQogICAgdDIgPSAodWludDMyX3QpKHQyLmkz
MigpICogaW50MzJfdCgweDMwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCkodDUuaTMyKCkgKyB0Mi5pMzIoKSk7ICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQ1ID0gdDUuaSgpICsg
bWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5OQogICAgdDIgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1
CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xOTFfbG9hZF9fY29uc3Rh
bnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE5MV9sb2FkX19kb25lOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE5MV9sb2Fk
X19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDIgPSB0Mi5pKCkgLSBpbnRwdHJfdCgweDQwMDAw
MDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkK
ICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTkx
X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDAp
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTkyX2ZuX19vcEdl
dEJ5VmFsU2xvdzsKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYzMgogICAgdDEgPSAq
Q0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTE1NwogICAgKkNBU1Q8aW50MzJfdCo+KHQ1Lmk4cCgpICsgMjQp
ID0gdDEuaTMyKCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1OAog
ICAgdDIgPSAqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyA0KTsgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1OQogICAgdDMgPSAqQ0FTVDxpbnQzMl90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDMuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDAp
KSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMTkyX2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgK
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMTkyX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzE5Ml9sb2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDg3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDMgPSB0My5p
KCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsg
KHQzLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzE5Ml9sb2FkX19kb25lKQogICAgaWYgKHQxLnU2NCgpIDwgbnVt
YmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MzAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzE5Ml9mbl9fb3BHZXRCeVZhbFNsb3c7CiAgICB0MSA9IHQxLmkzMigpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE2MzcKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDgpOyAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYxCiAgICBudW1iZXJU
YWcgPSBpbnRwdHJfdCgtNTYyOTQ5OTUzNDIxMzEyKTsgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE2NDAKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAmIGlu
dDMyX3QoMHhlKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY0
MgogICAgaWYgKHQyLmkzMigpID09IGludDMyX3QoMHg0KSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjQzCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xOTJfZm5fX29wR2V0QnlWYWxJc0Nv
bnRpZ3VvdXM7CiAgICBpZiAodDIuaTMyKCkgIT0gaW50MzJfdCgweDgpKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NDQKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE5Ml9mbl9fb3BHZXRC
eVZhbE5vdENvbnRpZ3VvdXM7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE5Ml9mbl9fb3BHZXRCeVZhbElzQ29udGln
dW91cykKICAgIGlmICh0MS51MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQzLmk4cCgpIC0gOCkp
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY0NwogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTkyX2ZuX19vcEdldEJ5VmFs
U2xvdzsKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDIg
PSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjQ5CiAgICBpZiAodDIuaTY0KCkgPT0gMCkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE2NTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fXzE5Ml9mbl9fb3BHZXRCeVZhbFNsb3c7CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzE5Ml9mbl9fb3BHZXRCeVZhbERvbmU7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTY1MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xOTJfZm5fX29wR2V0QnlWYWxOb3RDb250
aWd1b3VzKQogICAgaWYgKHQyLmkzMigpICE9IGludDMyX3QoMHg2KSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjU0CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xOTJfZm5fX29wR2V0QnlW
YWxOb3REb3VibGU7CiAgICBpZiAodDEudTMyKCkgPj0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAo
KSAtIDgpKSAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NTUKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE5Ml9mbl9fb3BH
ZXRCeVZhbFNsb3c7CiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUK
ICAgIGQwID0gKkNBU1Q8ZG91YmxlKj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY1NwogICAgaWYgKHN0ZDo6aXNuYW4oZDAu
ZCgpKSB8fCBzdGQ6OmlzbmFuKGQwLmQoKSkgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNjU4CiAgICAgICAgfHwgKGQwLmQoKSAhPSBkMC5kKCkpKQogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTkyX2ZuX19vcEdldEJ5
VmFsU2xvdzsKICAgIHQyID0gZDAuYml0c0FzSW50NjQoKTsgLy8gZmQycSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY1OQogICAgdDIgPSB0Mi5p
NjQoKSAtIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNjYwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fXzE5Ml9mbl9fb3BHZXRCeVZhbERvbmU7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTY2MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xOTJfZm5fX29wR2V0QnlWYWxOb3REb3VibGUpCiAg
ICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgLSBpbnQzMl90KDB4YSkpOyAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NjQKICAgIGlmICh0Mi51MzIoKSA+IHVpbnQz
Ml90KDB4MikpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTY2NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fMTkyX2ZuX19vcEdldEJ5VmFsTm90SW5kZXhlZFN0b3JhZ2U7CiAgICBpZiAodDEu
dTMyKCkgPj0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSAtIDQpKSAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE2NjYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzE5Ml9mbl9fb3BHZXRCeVZhbFNsb3c7CiAgICB0MCA9ICpD
QVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+
KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MTApKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNjY4CiAgICBpZiAodDIuaTY0KCkgPT0gMCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NjkKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE5Ml9m
bl9fb3BHZXRCeVZhbFNsb3c7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE5Ml9mbl9fb3BHZXRCeVZhbERvbmUpCiAg
ICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2NzIKICAgICpDQVNUPGludDY0X3QqPih0NS5p
OHAoKSkgPSB0Mi5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NzkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxMik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
XzE5Ml9mbl9fb3BHZXRCeVZhbE5vdEluZGV4ZWRTdG9yYWdlKQogICAgdDIgPSAqQ0FTVDx1aW50
OF90Kj4odDAuaThwKCkgKyA1KTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTE2NAogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpIC0gaW50MzJfdCgweDI2
KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE2NQogICAgaWYgKHQy
LnUzMigpID49IHVpbnQzMl90KDB4OSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTE2NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fMTkyX2ZuX19vcEdldEJ5VmFsU2xvdzsKICAgIGlmICh0MS51
MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpICsgMjQpKSAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjExNzcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fXzE5Ml9mbl9fb3BHZXRCeVZhbFNsb3c7CiAgICB0MyA9ICpDQVNU
PGludHB0cl90Kj4odDAuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxMTgwCiAgICBpZiAodDIudTMyKCkgPiB1aW50MzJfdCgweDQpKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTk0CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTky
X2dldEJ5VmFsVHlwZWRBcnJheV9fb3BHZXRCeVZhbEFib3ZlVWludDE2QXJyYXk7CiAgICBpZiAo
dDIudTMyKCkgPiB1aW50MzJfdCgweDIpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxMTk3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTkyX2dldEJ5VmFsVHlwZWRBcnJheV9fb3BHZXRC
eVZhbEludDE2QXJyYXlPclVpbnQxNkFycmF5OwogICAgaWYgKHQyLnUzMigpID4gdWludDMyX3Qo
MHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTIwMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fXzE5Ml9nZXRCeVZhbFR5cGVkQXJyYXlfX29wR2V0QnlWYWxVaW50OEFycmF5T3JVaW50
OENsYW1wZWRBcnJheTsKICAgIHQwID0gKHVpbnQzMl90KSgoaW50MzJfdCkqQ0FTVDxpbnQ4X3Qq
Pih0My5pOHAoKSArICh0MS5pKCkgPDwgMCkpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTIw
MwogICAgdDAgPSB0MC5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjE3CiAgICB0MSA9ICpDQVNUPGludDMy
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYx
MQogICAgKkNBU1Q8aW50NjRfdCo+KHQ1Lmk4cCgpKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDEyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE5Ml9nZXRCeVZhbFR5cGVkQXJyYXlfX29w
R2V0QnlWYWxVaW50OEFycmF5T3JVaW50OENsYW1wZWRBcnJheSkKICAgIGlmICh0Mi51MzIoKSA+
IHVpbnQzMl90KDB4MSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjEyMDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX18xOTJfZ2V0QnlWYWxUeXBlZEFycmF5X19vcEdldEJ5VmFsVWludDhD
bGFtcGVkQXJyYXk7CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPih0My5pOHAoKSArICh0MS5pKCkg
PDwgMCkpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjEwCiAgICB0MCA9IHQw
Lmk2NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE2MTcKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykp
ID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjExCiAgICAqQ0FTVDxp
bnQ2NF90Kj4odDUuaThwKCkpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTIpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fMTkyX2dldEJ5VmFsVHlwZWRBcnJheV9fb3BHZXRCeVZhbFVpbnQ4
Q2xhbXBlZEFycmF5KQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4odDMuaThwKCkgKyAodDEuaSgp
IDw8IDApKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTIxNQogICAgdDAgPSB0
MC5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNjE3CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTUKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMp
KSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxMQogICAgKkNBU1Q8
aW50NjRfdCo+KHQ1Lmk4cCgpKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEyKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzE5Ml9nZXRCeVZhbFR5cGVkQXJyYXlfX29wR2V0QnlWYWxJbnQx
NkFycmF5T3JVaW50MTZBcnJheSkKICAgIGlmICh0Mi51MzIoKSA+IHVpbnQzMl90KDB4MykpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyMjAKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18x
OTJfZ2V0QnlWYWxUeXBlZEFycmF5X19vcEdldEJ5VmFsVWludDE2QXJyYXk7CiAgICB0MCA9ICh1
aW50MzJfdCkoKGludDMyX3QpKkNBU1Q8aW50MTZfdCo+KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAx
KSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjIzCiAgICB0MCA9IHQwLmk2NCgpIHwgbnVt
YmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE2MTcKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQog
ICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjExCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDUu
aThwKCkpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTIpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fMTkyX2dldEJ5VmFsVHlwZWRBcnJheV9fb3BHZXRCeVZhbFVpbnQxNkFycmF5KQogICAg
dDAgPSAqQ0FTVDx1aW50MTZfdCo+KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAxKSk7ICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTIyOAogICAgdDAgPSB0MC5pNjQoKSB8IG51bWJlclRh
Zy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNjE3CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTYxMQogICAgKkNBU1Q8aW50NjRfdCo+KHQ1Lmk4cCgp
KSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo3OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEyKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzE5Ml9nZXRCeVZhbFR5cGVkQXJyYXlfX29wR2V0QnlWYWxBYm92ZVVpbnQxNkFycmF5KQogICAg
aWYgKHQyLnUzMigpID4gdWludDMyX3QoMHg2KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTIzMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE5Ml9nZXRCeVZhbFR5cGVkQXJyYXlfX29w
R2V0QnlWYWxGbG9hdDMyQXJyYXlPckZsb2F0NjRBcnJheTsKICAgIGlmICh0Mi51MzIoKSA+IHVp
bnQzMl90KDB4NSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEyMzYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX18xOTJfZ2V0QnlWYWxUeXBlZEFycmF5X19vcEdldEJ5VmFsVWludDMyQXJy
YXk7CiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDIpKTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjM5CiAgICB0MCA9IHQwLmk2NCgpIHwg
bnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE2MTcKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0
KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjExCiAgICAqQ0FTVDxpbnQ2NF90Kj4o
dDUuaThwKCkpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTIpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fMTkyX2dldEJ5VmFsVHlwZWRBcnJheV9fb3BHZXRCeVZhbFVpbnQzMkFycmF5KQog
ICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAyKSk7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI0NQogICAgaWYgKHQwLmkzMigpIDwgaW50MzJf
dCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTI0NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fMTkyX2ZuX19vcEdldEJ5VmFsU2xvdzsKICAgIHQwID0gdDAuaTY0KCkgfCBudW1iZXJU
YWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTYxNwogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MTEKICAgICpDQVNUPGludDY0X3QqPih0NS5pOHAo
KSkgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NzkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxMik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X18xOTJfZ2V0QnlWYWxUeXBlZEFycmF5X19vcEdldEJ5VmFsRmxvYXQzMkFycmF5T3JGbG9hdDY0
QXJyYXkpCiAgICBpZiAodDIuaTMyKCkgPT0gaW50MzJfdCgweDcpKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjUyCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xOTJfZm5fX29wR2V0QnlWYWxT
bG93OwogICAgZDAgPSAqQ0FTVDxkb3VibGUqPih0My5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI1NQogICAgaWYgKHN0ZDo6aXNuYW4o
ZDAuZCgpKSB8fCBzdGQ6OmlzbmFuKGQwLmQoKSkgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTI1NgogICAgICAgIHx8IChkMC5kKCkgIT0gZDAuZCgpKSkKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzE5Ml9mbl9fb3BHZXRC
eVZhbFNsb3c7CiAgICB0MCA9IGQwLmJpdHNBc0ludDY0KCk7IC8vIGZkMnEgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MjIKICAgIHQwID0gdDAu
aTY0KCkgLSBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTYyMwogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkg
PSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2MTEKICAgICpDQVNUPGlu
dDY0X3QqPih0NS5pOHAoKSkgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxMik7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzE5Ml9mbl9fb3BHZXRCeVZhbFNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0g
cGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
NwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAg
ICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2dldF9ieV92
YWwodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQog
ICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTIpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X18xOTJfZm5fX29zclJldHVyblBvaW50KQogICAgQ1JBU0goKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjA0
CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKG9wX2dldF9ieV92YWxfcmV0dXJuX2xvY2F0aW9uX3dp
ZGUzMikKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8dWlu
dDMyX3QqPih0Mi5pOHAoKSArIDIwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjk5OQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVv
Zih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTAwMAogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIuaSgp
IC0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTAxMQogICAgcGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMy
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1MQogICAgdDUg
PSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA3OCk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19tZXRhZGF0YV9fMTkyX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWlu
dDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMjc2KTsgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzE5Ml9tZXRhZGF0YV9fc2V0
VXBPZmZzZXQpCiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4ZSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAg
ICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKiBpbnQzMl90KDB4MzApKTsgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5pMzIo
KSArIHQyLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5OAogICAgdDUgPSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4o
dDUuaThwKCkpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjc5CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9ICpD
QVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxMik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9PUENPREVfTEFCRUwob3BfZ2V0X3ByaXZhdGVfbmFtZSkKICAgIHQyID0gKkNBU1Q8dWludDE2
X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgODApOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzE5
M19tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRh
dGFUYWJsZS5pOHAoKSArIDI4MCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18xOTNfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0MCA9ICh1aW50MzJf
dCkodDAuaTMyKCkgKiBpbnQzMl90KDB4MjgpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQwLmkzMigpKTsg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0
Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozOQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMzIp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjk2CiAgICBp
ZiAodDEuaSgpICE9IHQwLmkoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2OTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcEdldFByaXZhdGVOYW1lU2xvdzsKICAg
IHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAo
dDAuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xOTNfbG9hZF9fY29uc3RhbnQ7CiAgICB0
MyA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE5M19sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE5M19sb2FkX19jb25zdGFu
dCkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MyA9ICpDQVNUPGludHB0
cl90Kj4odDMuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ3NgogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDAuaSgp
IDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzE5M19sb2FkX19kb25lKQogICAgaWYgKCh0My5pNjQoKSAmIG5v
dENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19vcEdldFByaXZhdGVOYW1lU2xvdzsKICAgIHQxID0gKkNBU1Q8dWludDMy
X3QqPih0My5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTcwMQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMjQpOyAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzAyCiAgICBpZiAo
dDAuaTMyKCkgIT0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE3MDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcEdldFByaXZhdGVOYW1lU2xvdzsKICAgIHQx
ID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDI4KTsgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcwNQogICAgaWYgKHQxLmkzMigpIDwgaW50MzJfdCgw
eDY0KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMzkwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fMTkzX2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lOwogICAg
dDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkxCiAgICB0MSA9ICh1aW50MzJfdCkoLXQxLmkz
MigpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEzOTIKICAgIHQxID0gdDEuaTMyKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MwogICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTkzX2xvYWRQcm9wZXJ0
eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTQK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzE5M19sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGlu
ZSkKICAgIHQzID0gdDMuaSgpICsgaW50cHRyX3QoLTc2OCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5NgoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTkz
X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5KQogICAgdDAgPSAqQ0FTVDxpbnQ2
NF90Kj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoMHgzMTApKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk4CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkpID0g
dDAuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5
CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNU
PGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X29wR2V0UHJpdmF0ZU5hbWVTbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQK
ICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9v
cFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhS
ZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9nZXRfcHJpdmF0ZV9uYW1lKHQwLCB0
MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0g
dDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF9nZXRfcHJpdmF0ZV9uYW1lX3dpZGUxNikKICAgIHQyID0gKkNBU1Q8dWludDE2
X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgODApOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzE5
NF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRh
dGFUYWJsZS5pOHAoKSArIDI4MCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18xOTRfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAg
dDAgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDAgPSAodWludDMy
X3QpKHQwLmkzMigpICogaW50MzJfdCgweDI4KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzk3CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKyB0MC5pMzIoKSk7
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQyID0g
dDIuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAz
Mik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE2OTYKICAg
IGlmICh0MS5pKCkgIT0gdDAuaSgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTY5NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTk0X2ZuX19vcEdldFByaXZhdGVOYW1lU2xv
dzsKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0Nwog
ICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
Q2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTk0X2xvYWRfX2NvbnN0YW50
OwogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVD
ZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xOTRfbG9hZF9fZG9uZTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9y
VmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xOTRfbG9hZF9f
Y29uc3RhbnQpCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDMgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xOTRfbG9hZF9fZG9uZSkKICAgIGlmICgodDMuaTY0
KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX18xOTRfZm5fX29wR2V0UHJpdmF0ZU5hbWVTbG93OwogICAgdDEgPSAq
Q0FTVDx1aW50MzJfdCo+KHQzLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNzAxCiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThw
KCkgKyAyNCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3
MDIKICAgIGlmICh0MC5pMzIoKSAhPSB0MS5pMzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcwMwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTk0X2ZuX19vcEdldFByaXZhdGVO
YW1lU2xvdzsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDI4KTsgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcwNQogICAgaWYgKHQxLmkz
MigpIDwgaW50MzJfdCgweDY0KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMzkwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMTk0X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRf
X2lzSW5saW5lOwogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgOCk7ICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkxCiAgICB0MSA9ICh1
aW50MzJfdCkoLXQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEzOTIKICAgIHQxID0gdDEuaTMyKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5
MwogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
MTk0X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEzOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE5NF9sb2FkUHJvcGVydHlBdFZhcmlhYmxl
T2Zmc2V0X19pc0lubGluZSkKICAgIHQzID0gdDMuaSgpICsgaW50cHRyX3QoLTc2OCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5NgoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fMTk0X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5KQogICAg
dDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3Qo
MHgzMTApKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk4CiAgICAqQ0FTVDxpbnQ2NF90
Kj4odDIuaThwKCkpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjc5CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9
IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzE5NF9mbl9fb3BHZXRQcml2YXRlTmFtZVNsb3cpCiAgICBwYyA9IHBjLmko
KSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAg
IHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgp
KTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2dl
dF9wcml2YXRlX25hbWUodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwg
dDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMu
aSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9wcml2YXRlX25hbWVfd2lkZTMyKQog
ICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA4MCk7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19tZXRhZGF0YV9fMTk1X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNB
U1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMjgwKTsgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzE5NV9tZXRhZGF0
YV9fc2V0VXBPZmZzZXQpCiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4ZSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxCiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgKiBpbnQzMl90KDB4MjgpKTsgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0
Mi5pMzIoKSArIHQwLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MCA9ICpDQVNU
PGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0
Mi5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTY5NgogICAgaWYgKHQxLmkoKSAhPSB0MC5pKCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNjk3CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xOTVfZm5fX29wR2V0UHJp
dmF0ZU5hbWVTbG93OwogICAgdDAgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1
CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xOTVfbG9hZF9fY29uc3Rh
bnQ7CiAgICB0MyA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE5NV9sb2FkX19kb25lOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE5NV9sb2Fk
X19jb25zdGFudCkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MyA9ICpD
QVNUPGludHB0cl90Kj4odDMuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDAgPSB0MC5pKCkgLSBpbnRwdHJfdCgweDQwMDAw
MDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkK
ICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTk1
X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQzLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDAp
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMTk1X2ZuX19vcEdl
dFByaXZhdGVOYW1lU2xvdzsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcwMQogICAg
dDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMjQpOyAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzAyCiAgICBpZiAodDAuaTMyKCkgIT0gdDEuaTMy
KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE3MDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fXzE5NV9mbl9fb3BHZXRQcml2YXRlTmFtZVNsb3c7CiAgICB0MSA9ICpDQVNUPHVpbnQz
Ml90Kj4odDIuaThwKCkgKyAyOCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE3MDUKICAgIGlmICh0MS5pMzIoKSA8IGludDMyX3QoMHg2NCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE5NV9s
b2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZTsKICAgIHQzID0gKkNBU1Q8aW50
cHRyX3QqPih0My5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTM5MQogICAgdDEgPSAodWludDMyX3QpKC10MS5pMzIoKSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkyCiAgICB0
MSA9IHQxLmkzMigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTMKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE5NV9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zm
c2V0X19yZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk0CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X18xOTVfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MyA9IHQz
LmkoKSArIGludHB0cl90KC03NjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEzOTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzE5NV9sb2FkUHJvcGVydHlB
dFZhcmlhYmxlT2Zmc2V0X19yZWFkeSkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MzEwKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTM5OAogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpKSA9IHQwLmk2NCgpOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDIgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0
Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSAr
IGludHB0cl90KDB4MTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18xOTVfZm5fX29wR2V0UHJpdmF0ZU5hbWVT
bG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRT
dGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IGxsaW50X3Nsb3dfcGF0aF9nZXRfcHJpdmF0ZV9uYW1lKHQwLCB0MSk7CiAgICAgICAgZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweDEyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXRfYnlf
dmFsKQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkK
ICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE5Nl9s
b2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3Rv
IF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fMTk2X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTk2X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAo
KSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2
CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykgKyBpbnRw
dHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMTk2X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQxLmk2NCgpICYgbm90
Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wUHV0QnlWYWxTbG93OwogICAgdDIgPSB0MS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNzM0CiAgICB0NSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJs
ZS5pOHAoKSArIDgyKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlm
ICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18xOTZfbWV0
YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFi
bGUuaThwKCkgKyAyODQpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fMTk2X21ldGFkYXRhX19zZXRVcE9mZnNl
dCkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNQogICAgdDAgPSAo
dWludDMyX3QpKHQwLmkzMigpICogaW50MzJfdCgweGMpKTsgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCkodDUuaTMyKCkgKyB0MC5p
MzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAg
IHQ1ID0gdDUuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQy
Lmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTE1NwogICAgKkNBU1Q8aW50MzJfdCo+KHQ1Lmk4cCgpKSA9IHQwLmkzMigpOyAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1OAogICAgdDIgPSAqQ0FTVDx1aW50
OF90Kj4odDIuaThwKCkgKyA0KTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTE1OQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzkKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18xOTdfbG9hZF9fY29uc3RhbnQ7CiAgICB0MyA9ICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
MAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18xOTdfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJ
bnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTk3X2xvYWRfX2NvbnN0YW50
KQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQzID0gKkNBU1Q8aW50cHRy
X3QqPih0My5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDc2CiAgICB0MyA9ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArICh0MC5pKCkg
PDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE5N19sb2FkX19kb25lKQogICAgaWYgKHQz
LnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcFB1dEJ5VmFsU2xvdzsKICAg
IHQzID0gdDMuaTMyKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTczOQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQxLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0NjEKICAgIG51bWJlclRhZyA9IGludHB0cl90KC01NjI5NDk5NTM0MjEzMTIpOyAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc0MQogICAgaWYgKCh0Mi5p
MzIoKSAmIGludDMyX3QoMHgxMCkpICE9IDApICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNzQyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fb3BQdXRCeVZhbFNsb3c7CiAgICB0
MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgJiBpbnQzMl90KDB4ZSkpOyAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NDMKICAgIGlmICh0Mi5pMzIoKSAhPSBpbnQzMl90
KDB4NCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTc0NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wUHV0QnlWYWxOb3RJbnQzMjsKICAgIGlmICh0My51MzIo
KSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkpICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTcxOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fb3V0
T2ZCb3VuZHM7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxf
X3N0b3JlUmVzdWx0KQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzkKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
Y29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18xOThfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18xOThfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
cHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQ
dXRCeVZhbF9fc3RvcmVDYWxsYmFja19fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
MTk4X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAr
IDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAg
IHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0
MS5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1
dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0
QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE5
OF9sb2FkX19kb25lKQogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzQ4CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fb3BQdXRCeVZhbFNsb3c7CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDMu
aSgpIDw8IDMpKSA9IHQxLmk2NCgpOyAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NDkK
ICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBp
ZiAodDEuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0
QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRC
eVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50
T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE5OV9sb2Fk
X19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkg
PDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9v
ZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19j
b250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18xOTlfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19f
d3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzE5OV9sb2FkX19jb25zdGFudCkKICAgIHQwID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThw
KCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3
NgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50
cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMTk5X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCgpICYg
bm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxs
YmFja19fMjAwX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICBp
ZiAodDAuaSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0
QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRC
eVZhbF9fc3RvcmVDYWxsYmFja19fMjAwX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFy
cmllckRvbmU7CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozOQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250
aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dy
aXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzIwMF9sb2FkX19jb25zdGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAg
ICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9u
T3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0
aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzIwMF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNh
bGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dy
aXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxs
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMDBfbG9hZF9fY29uc3RhbnQpCiAg
ICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0NzYKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAz
KSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19f
d3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjAwX2xvYWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2
NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3Rv
cmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5k
X18yMDBfd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsK
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEyNjIKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyA3KSA+IHVpbnQ4X3Qo
MHgwKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVy
T25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMjAwX3Nr
aXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMK
ICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJl
bnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1Ao
cGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFy
cmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVy
YW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMjAwX3NraXBJZklz
UmVtZW1iZXJlZE9ySW5FZGVuX19kb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29u
dGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzIwMF93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2Fk
X193cml0ZUJhcnJpZXJEb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91
c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX18yMDBfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3Jp
dGVCYXJyaWVyRG9uZSkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAq
Q0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX291dE9mQm91bmRzKQog
ICAgaWYgKHQzLnUzMigpID49ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkgLSA0KSkgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI1CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fb3BQdXRCeVZh
bE91dE9mQm91bmRzOwogICAgKkNBU1Q8dWludDhfdCo+KHQ1Lmk4cCgpICsgNCkgPSBpbnQ4X3Qo
MHgxKTsgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI2CiAgICB0MiA9
ICh1aW50MzJfdCkoaW50MzJfdCgweDEpICsgdDMuaTMyKCkpOyAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjcKICAgICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSAt
IDgpID0gdDIuaTMyKCk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTcyOAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZVJlc3VsdDsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNzI5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcFB1dEJ5
VmFsTm90SW50MzIpCiAgICBpZiAodDIuaTMyKCkgIT0gaW50MzJfdCgweDYpKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NTQKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19vcFB1dEJ5VmFsTm90RG91YmxlOwogICAgaWYgKHQzLnUzMigpID49ICpDQVNUPHVpbnQz
Ml90Kj4odDAuaThwKCkgLSA4KSkgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NzE4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fMjAzX2NvbnRpZ3VvdXNQdXRCeVZhbF9fb3V0T2ZCb3VuZHM7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yMDNfY29udGlndW91c1B1dEJ5VmFsX19zdG9yZVJl
c3VsdCkKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5
CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3Vv
dXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMjAxX2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAK
ICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjAxX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxf
X3N0b3JlQ2FsbGJhY2tfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIwMV9sb2Fk
X19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MSA9ICpD
QVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkg
KyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19z
dG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMDFfbG9hZF9f
ZG9uZSkKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc1OAogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2Nv
bnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fbm90SW50OwogICAgZDAgPSAoZG91Ymxl
KXQxLmkzMigpOyAvLyBjaTJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNzU5CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2Fs
bGJhY2tfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NjAKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fbm90SW50
KQogICAgdDEgPSB0MS5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzYyCiAgICBkMCA9IHQxLmJpdHNBc0Rv
dWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE3NjMKICAgIGlmIChzdGQ6OmlzbmFuKGQwLmQoKSkgfHwgc3RkOjppc25hbihk
MC5kKCkpICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc2NAogICAgICAg
IHx8IChkMC5kKCkgIT0gZDAuZCgpKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcFB1dEJ5VmFsU2xvdzsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFj
a19fcmVhZHkpCiAgICAqQ0FTVDxkb3VibGUqPih0MC5pOHAoKSArICh0My5pKCkgPDwgMykpID0g
ZDAuZCgpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NjYKICAgIHQxID0gKGlu
dDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDEuaSgpID49
IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVD
YWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIwMl9sb2FkX19jb25zdGFudDsK
ICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1
dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0
QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMDJfbG9h
ZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVy
T25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzIwMl9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDc1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAgPSAq
Q0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJh
bmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMjAyX2xvYWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2su
aTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUz
NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fMjAzX3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICBpZiAodDAuaSgpID09
IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjU3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVD
YWxsYmFja19fMjAzX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAg
ICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYg
KHQxLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlW
YWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9u
T3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIwM19sb2FkX19j
b25zdGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZs
aW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250
aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dy
aXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzIwM19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9u
T3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX18yMDNfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNU
PGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsg
MTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAg
IHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90
KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVy
T25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRX
aXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMjAzX2xvYWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2Vs
bE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19f
d3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18yMDNfd3JpdGVC
YXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAg
IGlmICgqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9u
T3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0
aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMjAzX3NraXBJZklzUmVtZW1i
ZXJlZE9ySW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAg
IFBVU0gocGMpOwogICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2Zy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50
ZXIoc3AudnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQog
ICAgbGxpbnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFu
ZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9h
ZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMjAzX3NraXBJZklzUmVtZW1iZXJlZE9y
SW5FZGVuX19kb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRC
eVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5
VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRfXzIwM193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJp
ZXJEb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19z
dG9yZUNhbGxiYWNrX18yMDNfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9u
ZSkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX18yMDNfY29udGlndW91c1B1dEJ5VmFsX19vdXRPZkJvdW5kcykKICAgIGlmICh0
My51MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpIC0gNCkpICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wUHV0QnlWYWxPdXRPZkJv
dW5kczsKICAgICpDQVNUPHVpbnQ4X3QqPih0NS5pOHAoKSArIDQpID0gaW50OF90KDB4MSk7ICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyNgogICAgdDIgPSAodWludDMy
X3QpKGludDMyX3QoMHgxKSArIHQzLmkzMigpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNzI3CiAgICAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgLSA4KSA9IHQy
LmkzMigpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjgKICAg
IGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fXzIwM19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlUmVzdWx0OyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE3MjkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
cHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wUHV0QnlWYWxO
b3REb3VibGUpCiAgICBpZiAodDIuaTMyKCkgIT0gaW50MzJfdCgweDgpKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NzEKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19vcFB1dEJ5VmFsTm90Q29udGlndW91czsKICAgIGlmICh0My51MzIoKSA+PSAqQ0FTVDx1aW50
MzJfdCo+KHQwLmk4cCgpIC0gOCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTcxOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzIwNl9jb250aWd1b3VzUHV0QnlWYWxfX291dE9mQm91bmRzOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjA2X2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVS
ZXN1bHQpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
OQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1
b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzIwNF9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAw
CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzIwNF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZh
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFs
X19zdG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMDRfbG9h
ZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDEgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgp
ICsgKHQyLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9f
c3RvcmVDYWxsYmFja19fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjA0X2xvYWRf
X2RvbmUpCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDMuaSgpIDw8IDMpKSA9IHQx
Lmk2NCgpOyAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NzUKICAgIHQxID0gKGludDY0
X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDEuaSgpID49IGlu
dHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxs
YmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIwNV9sb2FkX19jb25zdGFudDsKICAg
IHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlW
YWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMDVfbG9hZF9f
ZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzIwNV9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDc1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAgPSAqQ0FT
VDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
Y29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRz
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fMjA1X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0
KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fMjA2X3dyaXRl
QmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICBpZiAodDAuaSgpID09IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjU3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxs
YmFja19fMjA2X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICB0
MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQx
LmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxf
X3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3Bl
cmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIwNl9sb2FkX19jb25z
dGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1
b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRl
QmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIw
Nl9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3Bl
cmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18yMDZfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3NQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQy
ID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC0x
MjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRo
UmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMjA2X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1h
c2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18yMDZfd3JpdGVCYXJy
aWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlm
ICgqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3Bl
cmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJl
bG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMjA2X3NraXBJZklzUmVtZW1iZXJl
ZE9ySW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBV
U0gocGMpOwogICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIo
c3AudnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAg
bGxpbnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19j
b250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNf
X3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9f
d3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMjA2X3NraXBJZklzUmVtZW1iZXJlZE9ySW5F
ZGVuX19kb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZh
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFs
X19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRfXzIwNl93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJE
b25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9y
ZUNhbGxiYWNrX18yMDZfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX18yMDZfY29udGlndW91c1B1dEJ5VmFsX19vdXRPZkJvdW5kcykKICAgIGlmICh0My51
MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpIC0gNCkpICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTcyNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wUHV0QnlWYWxPdXRPZkJvdW5k
czsKICAgICpDQVNUPHVpbnQ4X3QqPih0NS5pOHAoKSArIDQpID0gaW50OF90KDB4MSk7ICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyNgogICAgdDIgPSAodWludDMyX3Qp
KGludDMyX3QoMHgxKSArIHQzLmkzMigpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNzI3CiAgICAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgLSA4KSA9IHQyLmkz
MigpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjgKICAgIGdv
dG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzIwNl9jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlUmVzdWx0OyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE3MjkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0
QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wUHV0QnlWYWxOb3RD
b250aWd1b3VzKQogICAgaWYgKHQyLmkzMigpICE9IGludDMyX3QoMHhhKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzgwCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fb3BQdXRCeVZhbFNsb3c7CiAgICBpZiAodDMudTMyKCkgPj0gKkNBU1Q8dWludDMyX3QqPih0
MC5pOHAoKSAtIDQpKSAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3ODEKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19vcFB1dEJ5VmFsT3V0T2ZCb3VuZHM7CiAgICBpZiAoKkNBU1Q8aW50NjRfdCo+
KHQwLmk4cCgpICsgKHQzLmkoKSA8PCAzKSArIGludHB0cl90KDB4MTApKSA9PSAwKSAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE3ODIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcFB1dEJ5VmFsQXJyYXlTdG9y
YWdlRW1wdHk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcFB1dEJ5VmFsQXJyYXlTdG9y
YWdlU3RvcmVSZXN1bHQpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozOQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMDdfbG9hZF9fY29uc3RhbnQ7CiAg
ICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRC
eVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMjA3X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18yMDdfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ3NQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQxID0gKkNBU1Q8
aW50NjRfdCo+KHQxLmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIwN19sb2FkX19kb25lKQogICAgKkNBU1Q8
aW50NjRfdCo+KHQwLmk4cCgpICsgKHQzLmkoKSA8PCAzKSArIGludHB0cl90KDB4MTApKSA9IHQx
Lmk2NCgpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3ODYKICAgIHQxID0gKGludDY0X3Qp
KkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4
MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDEuaSgpID49IGludHB0
cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMDhf
bG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEu
aSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290
byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIwOF9sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzIwOF9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDc1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAg
PSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEy
OCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIwOF9sb2FkX19kb25lKQogICAgaWYg
KCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yMDlfd3JpdGVCYXJyaWVy
T25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fMjA5X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFy
cmllckRvbmU7CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozOQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9u
T3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX18yMDlfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNU
PGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
MjA5X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMDlfbG9hZF9fY29u
c3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDIgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NzYKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQx
LmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dy
aXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzIwOV9sb2FkX19kb25lKQogICAgaWYgKCh0Mi5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAh
PSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzIw
OV93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lOwogICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTI2MgogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAoKSArIDcpID4gdWludDhfdCgweDAp
KQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3Bl
cmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxs
V2l0aFJlbG9hZF9fMjA5X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lOwogICAgUFVT
SChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAgdDEgPSB0Mi5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBj
bG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVfYmFycmllcl9zbG93
KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgogICAgUE9QKHBjQmFz
ZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dy
aXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzIwOV9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRl
bl9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFu
ZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMjA5X3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhS
ZWxvYWRfX3dyaXRlQmFycmllckRvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yMDlf
d3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcFB1dEJ5
VmFsQXJyYXlTdG9yYWdlRW1wdHkpCiAgICAqQ0FTVDx1aW50OF90Kj4odDUuaThwKCkgKyA0KSA9
IGludDhfdCgweDEpOyAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3OTEK
ICAgICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSArIDEyKSA9ICpDQVNUPGludDMyX3QqPih0MC5p
OHAoKSArIDEyKSArIGludDMyX3QoMHgxKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzky
CiAgICBpZiAodDMudTMyKCkgPCAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkpICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3OTMKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcFB1dEJ5
VmFsQXJyYXlTdG9yYWdlU3RvcmVSZXN1bHQ7CiAgICB0MSA9ICh1aW50MzJfdCkoaW50MzJfdCgw
eDEpICsgdDMuaTMyKCkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE3OTQKICAgICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSAtIDgpID0gdDEuaTMyKCk7ICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc5NQogICAgZ290byBfb2ZmbGlu
ZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fb3BQdXRC
eVZhbEFycmF5U3RvcmFnZVN0b3JlUmVzdWx0OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3
OTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wUHV0QnlWYWxPdXRPZkJvdW5kcykKICAg
ICpDQVNUPHVpbnQ4X3QqPih0NS5pOHAoKSArIDUpID0gaW50OF90KDB4MSk7ICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc5OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fb3BQdXRCeVZhbFNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3B1dF9ieV92YWwodDAsIHQxKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
b3NyRXhpdFBvaW50X19vc3JSZXR1cm5Qb2ludCkKICAgIENSQVNIKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjYwNAoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChvcF9wdXRfYnlfdmFsX3JldHVybl9sb2NhdGlv
bikKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8dWludDMy
X3QqPih0Mi5pOHAoKSArIDIwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjk5OQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1
aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTAwMAogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIuaSgpIC0g
dDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTAxMQogICAgcGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1MQogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9w
dXRfYnlfdmFsX3dpZGUxNikKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0NwogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMjEwX2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18yMTBfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMTBfbG9hZF9fY29uc3Rh
bnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDEgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMTBfbG9hZF9fZG9uZSkKICAgIGlmICgo
dDEuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZh
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yMjNfZm5fX29wUHV0QnlWYWxTbG93
OwogICAgdDIgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzM0CiAgICB0NSA9ICpDQVNUPHVpbnQx
Nl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDgyKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTIKICAgIGlmICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X21ldGFkYXRhX18yMTBfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50
MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAyODQpOyAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fMjEwX21l
dGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQwID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDMKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAqIGludDMyX3QoMHhjKSk7ICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMy
X3QpKHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQwID0g
KkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjExNTcKICAgICpDQVNUPGludDMyX3QqPih0NS5pOHAoKSkgPSB0
MC5pMzIoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExNTgK
ICAgIHQyID0gKkNBU1Q8dWludDhfdCo+KHQyLmk4cCgpICsgNCk7ICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExNTkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8
aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgw
eDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIxMV9sb2FkX19jb25zdGFudDsKICAgIHQzID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50
MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIxMV9sb2FkX19kb25lOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18yMTFfbG9hZF9fY29uc3RhbnQpCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQog
ICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+
KHQzLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
cHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjExX2xv
YWRfX2RvbmUpCiAgICBpZiAodDMudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzMAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjIz
X2ZuX19vcFB1dEJ5VmFsU2xvdzsKICAgIHQzID0gdDMuaTMyKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTczOQog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjEKICAgIG51bWJlclRhZyA9IGludHB0cl90
KC01NjI5NDk5NTM0MjEzMTIpOyAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTc0MQogICAgaWYgKCh0Mi5pMzIoKSAmIGludDMyX3QoMHgxMCkpICE9IDApICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzQyCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18y
MjNfZm5fX29wUHV0QnlWYWxTbG93OwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICYgaW50
MzJfdCgweGUpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzQz
CiAgICBpZiAodDIuaTMyKCkgIT0gaW50MzJfdCgweDQpKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NDQKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzIyM19mbl9fb3BQ
dXRCeVZhbE5vdEludDMyOwogICAgaWYgKHQzLnUzMigpID49ICpDQVNUPHVpbnQzMl90Kj4odDAu
aThwKCkgLSA4KSkgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzE4CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fMjE0X2NvbnRpZ3VvdXNQdXRCeVZhbF9fb3V0T2ZCb3VuZHM7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX18yMTRfY29udGlndW91c1B1dEJ5VmFsX19zdG9yZVJlc3VsdCkKICAg
IHQyID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYg
KHQyLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlW
YWxfX3N0b3JlQ2FsbGJhY2tfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIxMl9s
b2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzIxMl9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNh
bGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMTJfbG9hZF9fY29uc3Rh
bnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDEgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQyLmko
KSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxs
YmFja19fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjEyX2xvYWRfX2RvbmUpCiAg
ICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzIyM19mbl9fb3BQdXRC
eVZhbFNsb3c7CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDMuaSgpIDw8IDMpKSA9
IHQxLmk2NCgpOyAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NDkKICAgIHQxID0gKGlu
dDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQxLmkoKSA+
PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3Jl
Q2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVD
ZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMTNfbG9hZF9fY29uc3RhbnQ7
CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9w
dXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1
dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjEzX2xv
YWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmll
ck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18yMTNfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ4MQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0g
KkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVy
YW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzIxM19sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNr
Lmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfXzIxNF93
cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lOwogICAgaWYgKHQwLmkoKSA9
PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3Jl
Q2FsbGJhY2tfXzIxNF93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lOwog
ICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBp
ZiAodDEuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0
QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRC
eVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVy
T25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjE0X2xvYWRf
X2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8
PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29m
ZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2Nv
bnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19f
d3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMjE0X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVy
T25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIxNF9sb2FkX19jb25zdGFudCkKICAgIHQyID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkg
KyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4Mgog
ICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRy
X3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFu
ZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18yMTRfbG9hZF9fZG9uZSkKICAgIGlmICgodDIuaTY0KCkgJiBub3RD
ZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNr
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzIxNF93cml0
ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lOwogICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2Mgog
ICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAoKSArIDcpID4gdWludDhfdCgweDApKQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVy
T25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRX
aXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX18yMTRfc2tpcElmSXNSZW1l
bWJlcmVkT3JJbkVkZW5fX2RvbmU7CiAgICBQVVNIKHBjQmFzZSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0Mgog
ICAgUFVTSChwYyk7CiAgICB0MSA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MwogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDQKICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI1
CiAgICBsbGludF93cml0ZV9iYXJyaWVyX3Nsb3codDAsIHQxKTsKICAgIFBPUChwYyk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTQ2CiAgICBQT1AocGNCYXNlKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVy
YW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVs
b2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX18yMTRfc2tpcElmSXNSZW1lbWJlcmVk
T3JJbkVkZW5fX2RvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1
dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0
QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmll
ck9uT3BlcmFuZF9fMjE0X3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFy
cmllckRvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxf
X3N0b3JlQ2FsbGJhY2tfXzIxNF93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJE
b25lKQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGMpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzIxNF9jb250aWd1b3VzUHV0QnlWYWxfX291dE9mQm91bmRzKQogICAgaWYg
KHQzLnUzMigpID49ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkgLSA0KSkgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRC
eVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yMjNfZm5fX29wUHV0QnlWYWxP
dXRPZkJvdW5kczsKICAgICpDQVNUPHVpbnQ4X3QqPih0NS5pOHAoKSArIDQpID0gaW50OF90KDB4
MSk7ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyNgogICAgdDIgPSAo
dWludDMyX3QpKGludDMyX3QoMHgxKSArIHQzLmkzMigpKTsgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI3CiAgICAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgLSA4
KSA9IHQyLmkzMigpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3
MjgKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzIxNF9jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlUmVzdWx0OyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE3MjkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjIzX2ZuX19v
cFB1dEJ5VmFsTm90SW50MzIpCiAgICBpZiAodDIuaTMyKCkgIT0gaW50MzJfdCgweDYpKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NTQKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fXzIyM19mbl9fb3BQdXRCeVZhbE5vdERvdWJsZTsKICAgIGlmICh0My51MzIoKSA+PSAq
Q0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTcxOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzIxN19jb250aWd1b3VzUHV0QnlWYWxfX291dE9m
Qm91bmRzOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjE3X2NvbnRpZ3VvdXNQdXRCeVZh
bF9fc3RvcmVSZXN1bHQpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDcKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18yMTVfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMTVfbG9hZF9fZG9uZTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3Vv
dXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMjE1X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAo
KSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEK
ICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MSA9ICpDQVNUPGludDY0X3Qq
Pih0MS5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3Vz
UHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzIxNV9sb2FkX19kb25lKQogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzU4CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX18yMTdfc3RvcmVDYWxsYmFja19fbm90SW50Owog
ICAgZDAgPSAoZG91YmxlKXQxLmkzMigpOyAvLyBjaTJkcyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzU5CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1
dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0
QnlWYWxfXzIxN19zdG9yZUNhbGxiYWNrX19yZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNzYwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfXzIx
N19zdG9yZUNhbGxiYWNrX19ub3RJbnQpCiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2
NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3
NjIKICAgIGQwID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc2MwogICAgaWYgKHN0ZDo6aXNuYW4o
ZDAuZCgpKSB8fCBzdGQ6OmlzbmFuKGQwLmQoKSkgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNzY0CiAgICAgICAgfHwgKGQwLmQoKSAhPSBkMC5kKCkpKQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
MjIzX2ZuX19vcFB1dEJ5VmFsU2xvdzsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRp
Z3VvdXNQdXRCeVZhbF9fMjE3X3N0b3JlQ2FsbGJhY2tfX3JlYWR5KQogICAgKkNBU1Q8ZG91Ymxl
Kj4odDAuaThwKCkgKyAodDMuaSgpIDw8IDMpKSA9IGQwLmQoKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNzY2CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDcKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMjE2X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIxNl9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRC
eVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5
VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjE2X2xvYWRf
X2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQwID0gKkNB
U1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSAr
ICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0
b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMTZfbG9hZF9fZG9uZSkK
ICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91
c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX18yMTdfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3Jp
dGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTcyCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX18yMTdfd3JpdGVCYXJyaWVy
T25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50
MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQw
KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRl
QmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25P
cGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzIxN19sb2FkX19jb25zdGFudDsKICAgIHQyID0gKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2Fs
bGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIxN19sb2FkX19kb25lOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGln
dW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18y
MTdfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAg
dDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQy
Lmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0
QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRC
eVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVy
T25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjE3X2xvYWRf
X2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2Nv
bnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19f
d3JpdGVCYXJyaWVyT25PcGVyYW5kX18yMTdfd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9h
ZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjEKICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDIu
aThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlW
YWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9u
T3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25D
ZWxsV2l0aFJlbG9hZF9fMjE3X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lOwogICAg
UFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAgdDEgPSB0Mi5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0CiAg
ICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVfYmFycmllcl9z
bG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgogICAgUE9QKHBj
QmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0
b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFu
ZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0
aFJlbG9hZF9fMjE3X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lKQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzIxN193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lKQoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX18yMTdfd3JpdGVC
YXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkKICAgIHBjID0gcGMuaSgpICsgaW50
cHRyX3QoMHhjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8
dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1
dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yMTdfY29udGlndW91
c1B1dEJ5VmFsX19vdXRPZkJvdW5kcykKICAgIGlmICh0My51MzIoKSA+PSAqQ0FTVDx1aW50MzJf
dCo+KHQwLmk4cCgpIC0gNCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcy
NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fMjIzX2ZuX19vcFB1dEJ5VmFsT3V0T2ZCb3VuZHM7CiAgICAqQ0FTVDx1aW50
OF90Kj4odDUuaThwKCkgKyA0KSA9IGludDhfdCgweDEpOyAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE3MjYKICAgIHQyID0gKHVpbnQzMl90KShpbnQzMl90KDB4MSkgKyB0
My5pMzIoKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyNwog
ICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkgPSB0Mi5pMzIoKTsgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI4CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1
dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yMTdfY29udGlndW91
c1B1dEJ5VmFsX19zdG9yZVJlc3VsdDsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI5Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzIyM19mbl9fb3BQdXRCeVZhbE5vdERvdWJsZSkKICAgIGlm
ICh0Mi5pMzIoKSAhPSBpbnQzMl90KDB4OCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc3MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0
QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjIzX2ZuX19vcFB1dEJ5VmFs
Tm90Q29udGlndW91czsKICAgIGlmICh0My51MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4
cCgpIC0gOCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcxOAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fXzIyMF9jb250aWd1b3VzUHV0QnlWYWxfX291dE9mQm91bmRzOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fMjIwX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVSZXN1bHQpCiAgICB0
MiA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0
Mi5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZh
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFs
X19zdG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMThfbG9h
ZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgp
IDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBf
b2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
Y29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18yMThfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxs
YmFja19fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjE4X2xvYWRfX2NvbnN0YW50
KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQxID0gKkNBU1Q8aW50cHRy
X3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDgyCiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0Mi5pKCkg
PDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJh
Y2tfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIxOF9sb2FkX19kb25lKQogICAg
KkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQzLmkoKSA8PCAzKSkgPSB0MS5pNjQoKTsgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzc1CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGlu
dDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0
MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjE5X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVD
YWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIxOV9sb2FkX19kb25lOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29u
dGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMjE5X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAo
KSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEK
ICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MCA9ICpDQVNUPGludDY0X3Qq
Pih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3Vz
UHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMTlf
bG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX18yMjBfd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX18yMjBf
d3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIHQxID0gKGludDY0
X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQxLmkoKSA+PSBp
bnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2Fs
bGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIyMF9sb2FkX19jb25zdGFudDsKICAg
IHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlW
YWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9u
T3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIyMF9sb2FkX19k
b25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhS
ZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18yMjBfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ4MQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQyID0gKkNBU1Q8
aW50NjRfdCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2Nv
bnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19f
d3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMjIwX2xvYWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkp
ICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVy
T25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18yMjBfd3JpdGVCYXJyaWVyT25PcGVy
YW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlmICgqQ0FTVDx1
aW50OF90Kj4odDIuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250
aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dy
aXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3Jp
dGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMjIwX3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVu
X19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwog
ICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3Jp
dGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0
NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3Vz
UHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFy
cmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJy
aWVyT25DZWxsV2l0aFJlbG9hZF9fMjIwX3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25l
KQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNh
bGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzIy
MF93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lKQoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNr
X18yMjBfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkKICAgIHBjID0g
cGMuaSgpICsgaW50cHRyX3QoMHhjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAg
ICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18y
MjBfY29udGlndW91c1B1dEJ5VmFsX19vdXRPZkJvdW5kcykKICAgIGlmICh0My51MzIoKSA+PSAq
Q0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpIC0gNCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTcyNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjIzX2ZuX19vcFB1dEJ5VmFsT3V0T2ZCb3VuZHM7CiAg
ICAqQ0FTVDx1aW50OF90Kj4odDUuaThwKCkgKyA0KSA9IGludDhfdCgweDEpOyAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjYKICAgIHQyID0gKHVpbnQzMl90KShpbnQz
Ml90KDB4MSkgKyB0My5pMzIoKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTcyNwogICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkgPSB0Mi5pMzIoKTsg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI4CiAgICBnb3RvIF9v
ZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18y
MjBfY29udGlndW91c1B1dEJ5VmFsX19zdG9yZVJlc3VsdDsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNzI5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzIyM19mbl9fb3BQdXRCeVZhbE5vdENv
bnRpZ3VvdXMpCiAgICBpZiAodDIuaTMyKCkgIT0gaW50MzJfdCgweGEpKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3ODAKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzIy
M19mbl9fb3BQdXRCeVZhbFNsb3c7CiAgICBpZiAodDMudTMyKCkgPj0gKkNBU1Q8dWludDMyX3Qq
Pih0MC5pOHAoKSAtIDQpKSAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3ODEK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzIyM19mbl9fb3BQdXRCeVZhbE91dE9mQm91bmRzOwogICAgaWYgKCpDQVNUPGlu
dDY0X3QqPih0MC5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSkgPT0gMCkg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzgyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9w
dXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yMjNfZm5fX29wUHV0QnlW
YWxBcnJheVN0b3JhZ2VFbXB0eTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjIzX2ZuX19vcFB1
dEJ5VmFsQXJyYXlTdG9yYWdlU3RvcmVSZXN1bHQpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGlu
dDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHg0
MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjIxX2xv
YWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmko
KSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8g
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIyMV9sb2FkX19kb25lOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjIxX2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAo
KSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgy
CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRw
dHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMjFfbG9hZF9f
ZG9uZSkKICAgICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRw
dHJfdCgweDEwKSkgPSB0MS5pNjQoKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzg2CiAg
ICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlm
ICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRC
eVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzIyMl9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjIyX2xvYWRf
X2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2Vs
bF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjIyX2xvYWRfX2NvbnN0YW50KQog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQwID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDgyCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwg
MykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjIyX2xv
YWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzIyM193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lOwogICAgaWYgKHQw
LmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yMjNfd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJh
bmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMjNfbG9hZF9fY29uc3Rh
bnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJh
bmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMjIzX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRz
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18yMjNfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
MQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQyID0gKkNBU1Q8aW50NjRf
dCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFy
cmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVy
YW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzIyM19sb2FkX19kb25lKQogICAgaWYgKCh0Mi5pNjQoKSAmIG5v
dENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRfXzIyM193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0
ZUJhcnJpZXJEb25lOwogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTI2MgogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAoKSAr
IDcpID4gdWludDhfdCgweDApKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNf
X3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9f
d3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMjIzX3NraXBJZklzUmVtZW1iZXJlZE9ySW5F
ZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMp
OwogICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAo
KSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRf
d3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3Bl
cmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzIyM19za2lwSWZJ
c1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMjIzX3dyaXRlQmFy
cmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmUpCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX18yMjNfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9u
ZSkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhjKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fXzIyM19mbl9fb3BQdXRCeVZhbEFycmF5U3RvcmFnZUVtcHR5KQogICAgKkNBU1Q8dWlu
dDhfdCo+KHQ1Lmk4cCgpICsgNCkgPSBpbnQ4X3QoMHgxKTsgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNzkxCiAgICAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAxMikg
PSAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAxMikgKyBpbnQzMl90KDB4MSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTc5MgogICAgaWYgKHQzLnUzMigpIDwgKkNBU1Q8dWludDMyX3Qq
Pih0MC5pOHAoKSAtIDgpKSAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzkz
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX18yMjNfZm5fX29wUHV0QnlWYWxBcnJheVN0b3JhZ2VTdG9yZVJlc3VsdDsKICAg
IHQxID0gKHVpbnQzMl90KShpbnQzMl90KDB4MSkgKyB0My5pMzIoKSk7ICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc5NAogICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4
cCgpIC0gOCkgPSB0MS5pMzIoKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNzk1CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fXzIyM19mbl9fb3BQdXRCeVZhbEFycmF5U3RvcmFnZVN0b3JlUmVzdWx0
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3OTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
MjIzX2ZuX19vcFB1dEJ5VmFsT3V0T2ZCb3VuZHMpCiAgICAqQ0FTVDx1aW50OF90Kj4odDUuaThw
KCkgKyA1KSA9IGludDhfdCgweDEpOyAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE3OTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjIzX2ZuX19vcFB1dEJ5VmFsU2xvdykK
ICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQ
b2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGlu
dF9zbG93X3BhdGhfcHV0X2J5X3ZhbCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1
bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAg
cGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHhjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yMjNfb3NyRXhpdFBvaW50X19v
c3JSZXR1cm5Qb2ludCkKICAgIENSQVNIKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYwNAoKT0ZGTElORV9B
U01fR0xVRV9MQUJFTChvcF9wdXRfYnlfdmFsX3JldHVybl9sb2NhdGlvbl93aWRlMTYpCiAgICB0
MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIu
aThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5
OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90
KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAg
IHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExNTEKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHhjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHV0X2J5X3Zh
bF93aWRlMzIpCiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAg
IGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9w
dXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIyNF9sb2Fk
X19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9v
ZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMjI0X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjI0X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSAr
IDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAg
ICB0MCA9IHQwLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMjRfbG9hZF9fZG9uZSkK
ICAgIGlmICgodDEuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yMzdfZm5fX29wUHV0
QnlWYWxTbG93OwogICAgdDIgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzM0CiAgICB0NSA9ICpD
QVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDgyKTsgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX21ldGFkYXRhX18yMjRfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAq
Q0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAyODQpOyAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0
YV9fMjI0X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxMikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxCiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgKiBpbnQzMl90
KDB4YykpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQ1
ID0gKHVpbnQzMl90KSh0NS5pMzIoKSArIHQwLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDUgPSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5
CiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTU3CiAgICAqQ0FTVDxpbnQzMl90Kj4odDUu
aThwKCkpID0gdDAuaTMyKCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMTU4CiAgICB0MiA9ICpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAoKSArIDQpOyAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTU5CiAgICB0MCA9ICpDQVNU
PGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3Qo
MHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMjVfbG9hZF9fY29uc3RhbnQ7CiAgICB0MyA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUlu
dDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMjVfbG9hZF9fZG9uZTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMjI1X2xvYWRfX2NvbnN0YW50KQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAo
KSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcK
ICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MCA9IHQwLmkoKSAtIGludHB0
cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4OQogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjI1X2xvYWRfX2RvbmUpCiAgICBpZiAodDMudTY0KCkgPCBu
dW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUzMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjM3X2ZuX19vcFB1dEJ5VmFsU2xvdzsKICAgIHQzID0g
dDMuaTMyKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTczOQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4
cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NjEKICAgIG51bWJlclRhZyA9IGludHB0cl90KC01NjI5NDk5NTM0MjEzMTIpOyAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc0MQogICAgaWYgKCh0Mi5pMzIoKSAm
IGludDMyX3QoMHgxMCkpICE9IDApICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNzQyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yMzdfZm5fX29wUHV0QnlWYWxTbG93OwogICAgdDIg
PSAodWludDMyX3QpKHQyLmkzMigpICYgaW50MzJfdCgweGUpKTsgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzQzCiAgICBpZiAodDIuaTMyKCkgIT0gaW50MzJfdCgw
eDQpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE3NDQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fXzIzN19mbl9fb3BQdXRCeVZhbE5vdEludDMyOwogICAgaWYgKHQzLnUz
MigpID49ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkgLSA4KSkgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNzE4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjI4X2NvbnRpZ3VvdXNQdXRCeVZh
bF9fb3V0T2ZCb3VuZHM7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1
dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yMjhfY29udGlndW91
c1B1dEJ5VmFsX19zdG9yZVJlc3VsdCkKICAgIHQyID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1NQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzIyNl9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIyNl9sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91
c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18yMjZfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4Nwog
ICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQyID0gdDIuaSgpIC0gaW50cHRy
X3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDg5CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0Mi5pKCkgPDwg
MykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMjZfbG9hZF9fZG9uZSkKICAgIGlmICh0MS51NjQo
KSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTc0OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjM3X2ZuX19vcFB1dEJ5VmFsU2xvdzsKICAg
ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0My5pKCkgPDwgMykpID0gdDEuaTY0KCk7ICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc0OQogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDAp
KSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVy
T25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzIyN19sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tf
X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMjdfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
cHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQ
dXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0
YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIyN19s
b2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MCA9
ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDEgPSB0MS5pKCkgLSBpbnRwdHJfdCgweDQw
MDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9u
T3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18yMjdfbG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxs
TWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX18y
Mjhfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5p
KCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19z
dG9yZUNhbGxiYWNrX18yMjhfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9u
ZTsKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQx
LmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxf
X3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3Bl
cmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIyOF9sb2FkX19jb25z
dGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1
b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRl
QmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIy
OF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3Bl
cmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18yMjhfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ4NwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQx
ID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5p
OHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9y
ZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRf
X3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVD
ZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMjhfbG9hZF9fZG9uZSkKICAg
IGlmICgodDIuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9w
dXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1
dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRfXzIyOF93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJh
cnJpZXJEb25lOwogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTI2MgogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAoKSArIDcp
ID4gdWludDhfdCgweDApKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVD
YWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVs
b2FkX18yMjhfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmU7CiAgICBQVVNIKHBjQmFz
ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjU0MgogICAgUFVTSChwYyk7CiAgICB0MSA9IHQyLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU0MwogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDQKICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTI1CiAgICBsbGludF93cml0ZV9iYXJyaWVyX3Nsb3codDAsIHQx
KTsKICAgIFBPUChwYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ2CiAgICBQT1AocGNCYXNlKTsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFj
a19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX18y
Mjhfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9u
T3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMjI4X3dyaXRlQmFycmllck9uT3BlcmFu
ZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfXzIyOF93cml0ZUJhcnJpZXJPbk9w
ZXJhbmRzX193cml0ZUJhcnJpZXJEb25lKQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDE2
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzIyOF9jb250aWd1b3VzUHV0QnlWYWxf
X291dE9mQm91bmRzKQogICAgaWYgKHQzLnUzMigpID49ICpDQVNUPHVpbnQzMl90Kj4odDAuaThw
KCkgLSA0KSkgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI1CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X18yMzdfZm5fX29wUHV0QnlWYWxPdXRPZkJvdW5kczsKICAgICpDQVNUPHVpbnQ4X3QqPih0NS5p
OHAoKSArIDQpID0gaW50OF90KDB4MSk7ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTcyNgogICAgdDIgPSAodWludDMyX3QpKGludDMyX3QoMHgxKSArIHQzLmkzMigpKTsg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI3CiAgICAqQ0FTVDxp
bnQzMl90Kj4odDAuaThwKCkgLSA4KSA9IHQyLmkzMigpOyAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE3MjgKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzIyOF9jb250aWd1b3VzUHV0QnlWYWxf
X3N0b3JlUmVzdWx0OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjkKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fMjM3X2ZuX19vcFB1dEJ5VmFsTm90SW50MzIpCiAgICBpZiAodDIuaTMyKCkg
IT0gaW50MzJfdCgweDYpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE3NTQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzIzN19mbl9fb3BQdXRCeVZhbE5vdERvdWJsZTsK
ICAgIGlmICh0My51MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkpICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcxOAogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzIzMV9jb250
aWd1b3VzUHV0QnlWYWxfX291dE9mQm91bmRzOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
MjMxX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVSZXN1bHQpCiAgICB0MiA9ICpDQVNUPGludDMy
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHg0MDAw
MDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMjlfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9y
ZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMjlfbG9hZF9fZG9u
ZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMjI5X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MiA9IHQy
LmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkg
KyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxs
YmFja19fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjI5X2xvYWRfX2RvbmUpCiAg
ICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NTgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3Vz
UHV0QnlWYWxfXzIzMV9zdG9yZUNhbGxiYWNrX19ub3RJbnQ7CiAgICBkMCA9IChkb3VibGUpdDEu
aTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE3NTkKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fMjMxX3N0b3JlQ2Fs
bGJhY2tfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NjAKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fMjMxX3N0b3JlQ2FsbGJhY2tfX25v
dEludCkKICAgIHQxID0gdDEuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc2MgogICAgZDAgPSB0MS5iaXRz
QXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNzYzCiAgICBpZiAoc3RkOjppc25hbihkMC5kKCkpIHx8IHN0ZDo6aXNu
YW4oZDAuZCgpKSAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NjQKICAg
ICAgICB8fCAoZDAuZCgpICE9IGQwLmQoKSkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRC
eVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yMzdfZm5fX29wUHV0QnlWYWxT
bG93OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX18yMzFf
c3RvcmVDYWxsYmFja19fcmVhZHkpCiAgICAqQ0FTVDxkb3VibGUqPih0MC5pOHAoKSArICh0My5p
KCkgPDwgMykpID0gZDAuZCgpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NjYK
ICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQxLmko
KSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0
b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMzBfbG9hZF9fY29uc3Rh
bnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91
c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjMw
X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFy
cmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18yMzBfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQx
ID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5p
OHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9y
ZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
Q2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjMwX2xvYWRfX2RvbmUpCiAg
ICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
cHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQ
dXRCeVZhbF9fc3RvcmVDYWxsYmFja19fMjMxX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRl
QmFycmllckRvbmU7CiAgICBpZiAodDAuaSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU3MgogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fMjMxX3dyaXRlQmFycmllck9u
T3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTUKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhS
ZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18yMzFfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9u
T3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX18yMzFfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZh
bF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25P
cGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjMxX2xvYWRfX2Nv
bnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQyID0gKkNBU1Q8
aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MSA9IHQxLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDAp
OyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAg
dDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5k
c19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2Fk
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fMjMxX2xvYWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0
KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18yMzFfd3JpdGVCYXJyaWVyT25P
cGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlmICgqQ0FT
VDx1aW50OF90Kj4odDIuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19j
b250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNf
X3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9f
d3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMjMxX3NraXBJZklzUmVtZW1iZXJlZE9ySW5F
ZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMp
OwogICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAo
KSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRf
d3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1
b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRl
QmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVC
YXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMjMxX3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19k
b25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9y
ZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRf
XzIzMV93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lKQoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxi
YWNrX18yMzFfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkKICAgIHBj
ID0gcGMuaSgpICsgaW50cHRyX3QoMHgxNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X18yMzFfY29udGlndW91c1B1dEJ5VmFsX19vdXRPZkJvdW5kcykKICAgIGlmICh0My51MzIoKSA+
PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpIC0gNCkpICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTcyNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjM3X2ZuX19vcFB1dEJ5VmFsT3V0T2ZCb3VuZHM7
CiAgICAqQ0FTVDx1aW50OF90Kj4odDUuaThwKCkgKyA0KSA9IGludDhfdCgweDEpOyAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjYKICAgIHQyID0gKHVpbnQzMl90KShp
bnQzMl90KDB4MSkgKyB0My5pMzIoKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTcyNwogICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkgPSB0Mi5pMzIo
KTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI4CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X18yMzFfY29udGlndW91c1B1dEJ5VmFsX19zdG9yZVJlc3VsdDsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNzI5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzIzN19mbl9fb3BQdXRCeVZhbE5v
dERvdWJsZSkKICAgIGlmICh0Mi5pMzIoKSAhPSBpbnQzMl90KDB4OCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc3MQogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjM3
X2ZuX19vcFB1dEJ5VmFsTm90Q29udGlndW91czsKICAgIGlmICh0My51MzIoKSA+PSAqQ0FTVDx1
aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTcxOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fXzIzNF9jb250aWd1b3VzUHV0QnlWYWxfX291dE9mQm91bmRz
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjM0X2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3Rv
cmVSZXN1bHQpCiAgICB0MiA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAg
IGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9w
dXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1
dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18y
MzJfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAg
Z290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18yMzJfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3Rv
cmVDYWxsYmFja19fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjMyX2xvYWRfX2Nv
bnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQxID0gKkNBU1Q8
aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MiA9IHQyLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDAp
OyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAg
dDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMjMyX2xvYWRfX2RvbmUpCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkg
KyAodDMuaSgpIDw8IDMpKSA9IHQxLmk2NCgpOyAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE3NzUKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYg
KHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlW
YWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMzNfbG9hZF9f
Y29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8
IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2Zm
bGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29u
dGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMjMzX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMzNfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgp
ICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgK
ICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3Qq
Pih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZh
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFs
X19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjMzX2xvYWRfX2Rv
bmUpCiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRp
Z3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fMjM0X3dyaXRlQmFycmllck9uT3BlcmFuZHNf
X3dyaXRlQmFycmllckRvbmU7CiAgICBpZiAodDAuaSgpID09IDApICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU3MgogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fMjM0X3dyaXRlQmFy
cmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICB0MSA9ICpDQVNUPGludDMyX3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAw
MCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFu
ZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18yMzRfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNr
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFy
cmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMzRfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
cHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQ
dXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJy
aWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjM0X2xv
YWRfX2NvbnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQyID0g
KkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MSA9IHQxLmkoKSAtIGludHB0cl90KDB4NDAw
MDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
OQogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRo
UmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMjM0X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1h
c2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18yMzRfd3JpdGVCYXJy
aWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlm
ICgqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3Bl
cmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJl
bG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMjM0X3NraXBJZklzUmVtZW1iZXJl
ZE9ySW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBV
U0gocGMpOwogICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIo
c3AudnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAg
bGxpbnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19j
b250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNf
X3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9f
d3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMjM0X3NraXBJZklzUmVtZW1iZXJlZE9ySW5F
ZGVuX19kb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZh
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFs
X19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRfXzIzNF93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJE
b25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9y
ZUNhbGxiYWNrX18yMzRfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxNik7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX18yMzRfY29udGlndW91c1B1dEJ5VmFsX19vdXRPZkJvdW5kcykKICAgIGlmICh0My51
MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpIC0gNCkpICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTcyNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjM3X2ZuX19vcFB1dEJ5VmFsT3V0T2ZC
b3VuZHM7CiAgICAqQ0FTVDx1aW50OF90Kj4odDUuaThwKCkgKyA0KSA9IGludDhfdCgweDEpOyAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjYKICAgIHQyID0gKHVpbnQz
Ml90KShpbnQzMl90KDB4MSkgKyB0My5pMzIoKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTcyNwogICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkgPSB0
Mi5pMzIoKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI4CiAg
ICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX18yMzRfY29udGlndW91c1B1dEJ5VmFsX19zdG9yZVJlc3VsdDsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNzI5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzIzN19mbl9fb3BQdXRC
eVZhbE5vdENvbnRpZ3VvdXMpCiAgICBpZiAodDIuaTMyKCkgIT0gaW50MzJfdCgweGEpKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3ODAKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fXzIzN19mbl9fb3BQdXRCeVZhbFNsb3c7CiAgICBpZiAodDMudTMyKCkgPj0gKkNBU1Q8
dWludDMyX3QqPih0MC5pOHAoKSAtIDQpKSAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE3ODEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fXzIzN19mbl9fb3BQdXRCeVZhbE91dE9mQm91bmRzOwogICAgaWYg
KCpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDEw
KSkgPT0gMCkgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzgyCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yMzdfZm5f
X29wUHV0QnlWYWxBcnJheVN0b3JhZ2VFbXB0eTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjM3
X2ZuX19vcFB1dEJ5VmFsQXJyYXlTdG9yYWdlU3RvcmVSZXN1bHQpCiAgICB0MiA9ICpDQVNUPGlu
dDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHg0
MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjM1X2xv
YWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmko
KSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8g
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIzNV9sb2FkX19kb25lOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjM1X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAo
KSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4
CiAgICB0MiA9IHQyLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90
Kj4odDEuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzIzNV9sb2FkX19kb25lKQogICAgKkNBU1Q8aW50NjRfdCo+KHQwLmk4
cCgpICsgKHQzLmkoKSA8PCAzKSArIGludHB0cl90KDB4MTApKSA9IHQxLmk2NCgpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE3ODYKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjM2X2xvYWRfX2NvbnN0YW50OwogICAgdDAg
PSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFu
ZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18yMzZfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMzZf
bG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0
MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIzNl9sb2FkX19kb25lKQogICAg
aWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1
dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yMzdfd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjM3X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRl
QmFycmllckRvbmU7CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUK
ICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJh
bmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMjM3X2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFy
cmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIzN19s
b2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5k
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
Q2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjM3X2xvYWRfX2NvbnN0YW50
KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQyID0gKkNBU1Q8aW50cHRy
X3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDg4CiAgICB0MSA9IHQxLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDIgPSAq
Q0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRl
QmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25P
cGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzIzN19sb2FkX19kb25lKQogICAgaWYgKCh0Mi5pNjQoKSAm
IG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRfXzIzN193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193
cml0ZUJhcnJpZXJEb25lOwogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MgogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAo
KSArIDcpID4gdWludDhfdCgweDApKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFu
ZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9h
ZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMjM3X3NraXBJZklzUmVtZW1iZXJlZE9y
SW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0go
cGMpOwogICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3Au
dnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxp
bnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9u
T3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzIzN19za2lw
SWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMjM3X3dyaXRl
QmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmUpCgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX18yMzdfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVy
RG9uZSkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxNik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzIzN19mbl9fb3BQdXRCeVZhbEFycmF5U3RvcmFnZUVtcHR5KQogICAgKkNBU1Q8
dWludDhfdCo+KHQ1Lmk4cCgpICsgNCkgPSBpbnQ4X3QoMHgxKTsgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNzkxCiAgICAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAx
MikgPSAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAxMikgKyBpbnQzMl90KDB4MSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTc5MgogICAgaWYgKHQzLnUzMigpIDwgKkNBU1Q8dWludDMy
X3QqPih0MC5pOHAoKSAtIDgpKSAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX18yMzdfZm5fX29wUHV0QnlWYWxBcnJheVN0b3JhZ2VTdG9yZVJlc3VsdDsK
ICAgIHQxID0gKHVpbnQzMl90KShpbnQzMl90KDB4MSkgKyB0My5pMzIoKSk7ICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc5NAogICAgKkNBU1Q8aW50MzJfdCo+KHQw
Lmk4cCgpIC0gOCkgPSB0MS5pMzIoKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNzk1CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fXzIzN19mbl9fb3BQdXRCeVZhbEFycmF5U3RvcmFnZVN0b3JlUmVz
dWx0OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3OTYKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fMjM3X2ZuX19vcFB1dEJ5VmFsT3V0T2ZCb3VuZHMpCiAgICAqQ0FTVDx1aW50OF90Kj4odDUu
aThwKCkgKyA1KSA9IGludDhfdCgweDEpOyAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE3OTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjM3X2ZuX19vcFB1dEJ5VmFsU2xv
dykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfcHV0X2J5X3ZhbCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChy
ZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAog
ICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHgxNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yMzdfb3NyRXhpdFBvaW50
X19vc3JSZXR1cm5Qb2ludCkKICAgIENSQVNIKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjYwNAoKT0ZGTElO
RV9BU01fR0xVRV9MQUJFTChvcF9wdXRfYnlfdmFsX3JldHVybl9sb2NhdGlvbl93aWRlMzIpCiAg
ICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4o
dDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0
cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAK
ICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExNTEKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHgxNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHV0X2J5
X3ZhbF9kaXJlY3QpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozOQogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMjM4X2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAK
ICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18yMzhfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxs
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMzhfbG9hZF9fY29uc3RhbnQpCiAg
ICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0NzYKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMzhfbG9hZF9fZG9uZSkKICAgIGlmICgodDEuaTY0
KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNTFfZm5fX29wUHV0QnlWYWxTbG93OwogICAg
dDIgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzM0CiAgICB0NSA9ICpDQVNUPHVpbnQxNl90Kj4o
bWV0YWRhdGFUYWJsZS5pOHAoKSArIDg0KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTIKICAgIGlmICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFk
YXRhX18yMzhfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+
KG1ldGFkYXRhVGFibGUuaThwKCkgKyAyODgpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fMjM4X21ldGFkYXRh
X19zZXRVcE9mZnNldCkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NQogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpICogaW50MzJfdCgweGMpKTsgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCkodDUu
aTMyKCkgKyB0MC5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTgKICAgIHQ1ID0gdDUuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDAgPSAqQ0FTVDx1
aW50MzJfdCo+KHQyLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTE1NwogICAgKkNBU1Q8aW50MzJfdCo+KHQ1Lmk4cCgpKSA9IHQwLmkzMigp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1OAogICAgdDIg
PSAqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyA0KTsgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTE1OQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18yMzlfbG9hZF9fY29uc3RhbnQ7CiAgICB0MyA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yMzlfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
cHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjM5X2xv
YWRfX2NvbnN0YW50KQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQzID0g
KkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MyA9ICpDQVNUPGludDY0X3QqPih0My5pOHAo
KSArICh0MC5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzIzOV9sb2FkX19kb25l
KQogICAgaWYgKHQzLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzAKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI1MV9mbl9fb3BQ
dXRCeVZhbFNsb3c7CiAgICB0MyA9IHQzLmkzMigpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MzkKICAgIHQwID0g
KkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDYxCiAgICBudW1iZXJUYWcgPSBpbnRwdHJfdCgtNTYyOTQ5
OTUzNDIxMzEyKTsgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3
NDEKICAgIGlmICgodDIuaTMyKCkgJiBpbnQzMl90KDB4MTApKSAhPSAwKSAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc0MgogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjUxX2ZuX19v
cFB1dEJ5VmFsU2xvdzsKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAmIGludDMyX3QoMHhl
KSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc0MwogICAgaWYg
KHQyLmkzMigpICE9IGludDMyX3QoMHg0KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzQ0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRC
eVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNTFfZm5fX29wUHV0QnlWYWxO
b3RJbnQzMjsKICAgIGlmICh0My51MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpIC0g
OCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcxOAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzI0Ml9jb250aWd1b3VzUHV0QnlWYWxfX291dE9mQm91bmRzOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fMjQyX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVSZXN1bHQpCiAgICB0MiA9IChp
bnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQyLmkoKSA+
PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3Jl
Q2FsbGJhY2tfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI0MF9sb2FkX19jb25z
dGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1
b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzI0MF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNDBfbG9hZF9fY29uc3RhbnQpCiAgICB0
MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NzYKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQyLmkoKSA8PCAzKSAr
IGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjQwX2xvYWRfX2RvbmUpCiAgICBpZiAodDEu
dTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE3NDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI1MV9mbl9fb3BQdXRCeVZhbFNsb3c7
CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDMuaSgpIDw8IDMpKSA9IHQxLmk2NCgp
OyAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NDkKICAgIHQxID0gKGludDY0X3QpKkNB
U1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4Mykp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDEuaSgpID49IGludHB0cl90
KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19f
d3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI0MV9sb2FkX19jb25zdGFudDsKICAgIHQwID0g
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0
b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNDFfbG9hZF9fZG9uZTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5k
c19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzI0MV9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDc1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAgPSAqQ0FTVDxpbnQ2
NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGln
dW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
MjQxX2xvYWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9
IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fMjQyX3dyaXRlQmFycmll
ck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICBpZiAodDAuaSgpID09IDApICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjU3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19f
MjQyX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICB0MSA9IChp
bnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQxLmkoKSA+
PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3Jl
Q2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9f
d3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI0Ml9sb2FkX19jb25zdGFudDsK
ICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1
dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0
QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmll
ck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI0Ml9sb2Fk
X19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdp
dGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18yNDJfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ3NQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQyID0gKkNB
U1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5k
c19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2Fk
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fMjQyX2xvYWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0
KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18yNDJfd3JpdGVCYXJyaWVyT25P
cGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlmICgqQ0FT
VDx1aW50OF90Kj4odDIuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19j
b250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNf
X3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9f
d3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMjQyX3NraXBJZklzUmVtZW1iZXJlZE9ySW5F
ZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMp
OwogICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAo
KSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRf
d3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1
b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRl
QmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVC
YXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMjQyX3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19k
b25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9y
ZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRf
XzI0Ml93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lKQoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxi
YWNrX18yNDJfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkKICAgIHBj
ID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X18yNDJfY29udGlndW91c1B1dEJ5VmFsX19vdXRPZkJvdW5kcykKICAgIGlmICh0My51MzIoKSA+
PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpIC0gNCkpICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTcyNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjUxX2ZuX19vcFB1dEJ5VmFsT3V0T2ZCb3VuZHM7
CiAgICAqQ0FTVDx1aW50OF90Kj4odDUuaThwKCkgKyA0KSA9IGludDhfdCgweDEpOyAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjYKICAgIHQyID0gKHVpbnQzMl90KShp
bnQzMl90KDB4MSkgKyB0My5pMzIoKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTcyNwogICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkgPSB0Mi5pMzIo
KTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI4CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X18yNDJfY29udGlndW91c1B1dEJ5VmFsX19zdG9yZVJlc3VsdDsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNzI5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI1MV9mbl9fb3BQdXRCeVZhbE5v
dEludDMyKQogICAgaWYgKHQyLmkzMigpICE9IGludDMyX3QoMHg2KSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzU0CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNTFf
Zm5fX29wUHV0QnlWYWxOb3REb3VibGU7CiAgICBpZiAodDMudTMyKCkgPj0gKkNBU1Q8dWludDMy
X3QqPih0MC5pOHAoKSAtIDgpKSAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3
MTgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX18yNDVfY29udGlndW91c1B1dEJ5VmFsX19vdXRPZkJvdW5kczsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI0NV9jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlUmVz
dWx0KQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkK
ICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91
c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18yNDNfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAog
ICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18yNDNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9f
c3RvcmVDYWxsYmFja19fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjQzX2xvYWRf
X2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQxID0gKkNB
U1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSAr
ICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0
b3JlQ2FsbGJhY2tfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI0M19sb2FkX19k
b25lKQogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzU4CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29u
dGlndW91c1B1dEJ5VmFsX18yNDVfc3RvcmVDYWxsYmFja19fbm90SW50OwogICAgZDAgPSAoZG91
YmxlKXQxLmkzMigpOyAvLyBjaTJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNzU5CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfXzI0NV9z
dG9yZUNhbGxiYWNrX19yZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzYwCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfXzI0NV9zdG9yZUNhbGxi
YWNrX19ub3RJbnQpCiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NjIKICAgIGQwID0g
dDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTc2MwogICAgaWYgKHN0ZDo6aXNuYW4oZDAuZCgpKSB8fCBz
dGQ6OmlzbmFuKGQwLmQoKSkgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NzY0CiAgICAgICAgfHwgKGQwLmQoKSAhPSBkMC5kKCkpKQogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjUxX2ZuX19vcFB1
dEJ5VmFsU2xvdzsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZh
bF9fMjQ1X3N0b3JlQ2FsbGJhY2tfX3JlYWR5KQogICAgKkNBU1Q8ZG91YmxlKj4odDAuaThwKCkg
KyAodDMuaSgpIDw8IDMpKSA9IGQwLmQoKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNzY2CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
OQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1
b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18y
NDRfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAg
Z290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMjQ0X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAx
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2Fs
bGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxs
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNDRfbG9hZF9fY29uc3RhbnQpCiAg
ICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0NzYKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAz
KSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19f
d3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI0NF9sb2FkX19kb25lKQogICAgaWYgKCh0MC5p
NjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0
b3JlQ2FsbGJhY2tfXzI0NV93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25l
OwogICAgaWYgKHQwLmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NzIKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1
b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfXzI0NV93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193
cml0ZUJhcnJpZXJEb25lOwogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzkKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJh
bmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxv
YWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18yNDVfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3Bl
cmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18yNDVfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9f
c3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVy
YW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjQ1X2xvYWRfX2NvbnN0
YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQyID0gKkNBU1Q8aW50
cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDc2CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0MS5p
KCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2Fs
bGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI0NV9sb2FkX19kb25lKQogICAgaWYg
KCh0Mi5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlW
YWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9u
T3BlcmFuZF9fMjQ1X3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmll
ckRvbmU7CiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjYxCiAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxMjYyCiAgICBpZiAoKkNBU1Q8dWludDhfdCo+KHQyLmk4cCgpICsgNykgPiB1
aW50OF90KDB4MCkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxi
YWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRl
QmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRf
XzI0NV9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZTsKICAgIFBVU0gocGNCYXNlKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTQyCiAgICBQVVNIKHBjKTsKICAgIHQxID0gdDIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTQzCiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NAogICAgY2xvb3BTdGFjay5z
ZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMjUKICAgIGxsaW50X3dyaXRlX2JhcnJpZXJfc2xvdyh0MCwgdDEpOwog
ICAgUE9QKHBjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDYKICAgIFBPUChwY0Jhc2UpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmll
ck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzI0NV9z
a2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVy
YW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18yNDVfd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0
aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2Nv
bnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fMjQ1X3dyaXRlQmFycmllck9uT3BlcmFu
ZHNfX3dyaXRlQmFycmllckRvbmUpCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjQ1X2NvbnRpZ3VvdXNQdXRCeVZhbF9fb3V0
T2ZCb3VuZHMpCiAgICBpZiAodDMudTMyKCkgPj0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSAt
IDQpKSAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjUKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI1
MV9mbl9fb3BQdXRCeVZhbE91dE9mQm91bmRzOwogICAgKkNBU1Q8dWludDhfdCo+KHQ1Lmk4cCgp
ICsgNCkgPSBpbnQ4X3QoMHgxKTsgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNzI2CiAgICB0MiA9ICh1aW50MzJfdCkoaW50MzJfdCgweDEpICsgdDMuaTMyKCkpOyAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjcKICAgICpDQVNUPGludDMy
X3QqPih0MC5pOHAoKSAtIDgpID0gdDIuaTMyKCk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTcyOAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjQ1X2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3Rv
cmVSZXN1bHQ7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyOQoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX18yNTFfZm5fX29wUHV0QnlWYWxOb3REb3VibGUpCiAgICBpZiAodDIuaTMyKCkgIT0g
aW50MzJfdCgweDgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE3NzEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI1MV9mbl9fb3BQdXRCeVZhbE5vdENvbnRpZ3VvdXM7
CiAgICBpZiAodDMudTMyKCkgPj0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSAtIDgpKSAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MTgKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yNDhfY29u
dGlndW91c1B1dEJ5VmFsX19vdXRPZkJvdW5kczsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzI0OF9jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlUmVzdWx0KQogICAgdDIgPSAoaW50NjRfdCkq
Q0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgz
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRy
X3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNr
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNDZfbG9hZF9fY29uc3RhbnQ7CiAg
ICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRC
eVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5
VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNDZf
bG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjQ2X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSAr
IDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAg
ICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJf
dCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzI0Nl9sb2FkX19kb25lKQogICAgKkNBU1Q8aW50NjRfdCo+
KHQwLmk4cCgpICsgKHQzLmkoKSA8PCAzKSkgPSB0MS5pNjQoKTsgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNzc1CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozOQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFu
ZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18yNDdfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjQ3X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxf
X3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNDdfbG9hZF9fY29u
c3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDAgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NzYKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQx
LmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVD
YWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI0N19sb2FkX19kb25lKQogICAg
aWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1
dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0
QnlWYWxfX3N0b3JlQ2FsbGJhY2tfXzI0OF93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJh
cnJpZXJEb25lOwogICAgaWYgKHQwLmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NzIKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfXzI0OF93cml0ZUJhcnJpZXJPbk9w
ZXJhbmRzX193cml0ZUJhcnJpZXJEb25lOwogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFu
ZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18yNDhfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNr
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFy
cmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNDhfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
cHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQ
dXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJy
aWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjQ4X2xv
YWRfX2NvbnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQyID0g
KkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAo
KSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxf
X3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3Bl
cmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI0OF9sb2FkX19kb25l
KQogICAgaWYgKCh0Mi5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1
b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRl
QmFycmllck9uT3BlcmFuZF9fMjQ4X3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dy
aXRlQmFycmllckRvbmU7CiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjYxCiAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxMjYyCiAgICBpZiAoKkNBU1Q8dWludDhfdCo+KHQyLmk4cCgp
ICsgNykgPiB1aW50OF90KDB4MCkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19z
dG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJh
bmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdp
dGhSZWxvYWRfXzI0OF9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZTsKICAgIFBVU0go
cGNCYXNlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTQyCiAgICBQVVNIKHBjKTsKICAgIHQxID0gdDIuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTQzCiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NAogICAgY2xv
b3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOyAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjUKICAgIGxsaW50X3dyaXRlX2JhcnJpZXJfc2xvdyh0
MCwgdDEpOwogICAgUE9QKHBjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDYKICAgIFBPUChwY0Jhc2Up
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNh
bGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dy
aXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxv
YWRfXzI0OF9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZSkKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18yNDhfd3JpdGVCYXJyaWVyT25P
cGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fMjQ4X3dyaXRlQmFycmll
ck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmUpCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZh
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjQ4X2NvbnRpZ3VvdXNQdXRC
eVZhbF9fb3V0T2ZCb3VuZHMpCiAgICBpZiAodDMudTMyKCkgPj0gKkNBU1Q8dWludDMyX3QqPih0
MC5pOHAoKSAtIDQpKSAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjUKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fXzI1MV9mbl9fb3BQdXRCeVZhbE91dE9mQm91bmRzOwogICAgKkNBU1Q8dWludDhfdCo+
KHQ1Lmk4cCgpICsgNCkgPSBpbnQ4X3QoMHgxKTsgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNzI2CiAgICB0MiA9ICh1aW50MzJfdCkoaW50MzJfdCgweDEpICsgdDMuaTMy
KCkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjcKICAgICpD
QVNUPGludDMyX3QqPih0MC5pOHAoKSAtIDgpID0gdDIuaTMyKCk7ICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyOAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZh
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjQ4X2NvbnRpZ3VvdXNQdXRC
eVZhbF9fc3RvcmVSZXN1bHQ7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyOQoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX18yNTFfZm5fX29wUHV0QnlWYWxOb3RDb250aWd1b3VzKQogICAgaWYg
KHQyLmkzMigpICE9IGludDMyX3QoMHhhKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzgwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRC
eVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNTFfZm5fX29wUHV0QnlWYWxT
bG93OwogICAgaWYgKHQzLnUzMigpID49ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkgLSA0KSkg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzgxCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNTFfZm5f
X29wUHV0QnlWYWxPdXRPZkJvdW5kczsKICAgIGlmICgqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkg
KyAodDMuaSgpIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpID09IDApIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTc4MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjUxX2ZuX19vcFB1dEJ5VmFsQXJyYXlTdG9yYWdlRW1w
dHk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI1MV9mbl9fb3BQdXRCeVZhbEFycmF5U3RvcmFn
ZVN0b3JlUmVzdWx0KQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzkKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjQ5X2xvYWRfX2NvbnN0YW50OwogICAg
dDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzI0OV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMjQ5X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NzUKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MSA9ICpDQVNUPGlu
dDY0X3QqPih0MS5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNDlfbG9hZF9fZG9uZSkKICAgICpDQVNUPGlu
dDY0X3QqPih0MC5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSkgPSB0MS5p
NjQoKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzg2CiAgICB0MSA9IChpbnQ2NF90KSpD
QVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJf
dCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjUwX2xv
YWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmko
KSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8g
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNTBfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
cHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmll
ck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18yNTBfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ3NQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQwID0g
KkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNTBfbG9hZF9fZG9uZSkKICAgIGlmICgo
dDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZh
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjUxX3dyaXRlQmFycmllck9u
T3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICBpZiAodDAuaSgpID09IDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzI1MV93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJp
ZXJEb25lOwogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzkKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVC
YXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjUxX2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRl
QmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI1
MV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVy
YW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjUxX2xvYWRfX2NvbnN0
YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQyID0gKkNBU1Q8aW50
cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDc2CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0MS5p
KCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18y
NTFfbG9hZF9fZG9uZSkKICAgIGlmICgodDIuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0g
MCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18yNTFf
d3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEy
NjIKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJh
bmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdp
dGhSZWxvYWRfXzI1MV9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZTsKICAgIFBVU0go
cGNCYXNlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTQyCiAgICBQVVNIKHBjKTsKICAgIHQxID0gdDIuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTQzCiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NAogICAgY2xv
b3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOyAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjUKICAgIGxsaW50X3dyaXRlX2JhcnJpZXJfc2xvdyh0
MCwgdDEpOwogICAgUE9QKHBjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDYKICAgIFBPUChwY0Jhc2Up
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0
ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX18yNTFfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5f
X2RvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRz
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzI1MV93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVs
b2FkX193cml0ZUJhcnJpZXJEb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjUxX3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmUpCiAgICBwYyA9IHBjLmkoKSAr
IGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNTFfZm5fX29wUHV0
QnlWYWxBcnJheVN0b3JhZ2VFbXB0eSkKICAgICpDQVNUPHVpbnQ4X3QqPih0NS5pOHAoKSArIDQp
ID0gaW50OF90KDB4MSk7ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc5
MQogICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMTIpID0gKkNBU1Q8aW50MzJfdCo+KHQw
Lmk4cCgpICsgMTIpICsgaW50MzJfdCgweDEpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3
OTIKICAgIGlmICh0My51MzIoKSA8ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkgLSA4KSkgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc5MwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjUxX2ZuX19v
cFB1dEJ5VmFsQXJyYXlTdG9yYWdlU3RvcmVSZXN1bHQ7CiAgICB0MSA9ICh1aW50MzJfdCkoaW50
MzJfdCgweDEpICsgdDMuaTMyKCkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE3OTQKICAgICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSAtIDgpID0gdDEuaTMyKCk7
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc5NQogICAgZ290byBf
b2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNTFf
Zm5fX29wUHV0QnlWYWxBcnJheVN0b3JhZ2VTdG9yZVJlc3VsdDsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNzk2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI1MV9mbl9fb3BQdXRCeVZhbE91
dE9mQm91bmRzKQogICAgKkNBU1Q8dWludDhfdCo+KHQ1Lmk4cCgpICsgNSkgPSBpbnQ4X3QoMHgx
KTsgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzk5CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzI1MV9mbl9fb3BQdXRCeVZhbFNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0g
cGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
NwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAg
ICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3B1dF9ieV92
YWxfZGlyZWN0KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsK
ICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAt
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXRfYnlfdmFsX2RpcmVjdF93aWRlMTYpCiAgICB0
MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0
MC5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZh
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI1Ml9sb2FkX19jb25z
dGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjUy
X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMjUyX2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODEKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MSA9
ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMjUyX2xvYWRfX2RvbmUpCiAgICBpZiAoKHQxLmk2NCgpICYgbm90Q2VsbE1hc2su
aTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUz
NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fMjY1X2ZuX19vcFB1dEJ5VmFsU2xvdzsKICAgIHQyID0gdDEuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTczNAogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThw
KCkgKyA4NCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDUu
aTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fMjUyX21ldGFkYXRh
X19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4
cCgpICsgMjg4KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzI1Ml9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAg
ICB0MCA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0MCA9ICh1aW50
MzJfdCkodDAuaTMyKCkgKiBpbnQzMl90KDB4YykpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5pMzIoKSArIHQwLmkzMigp
KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDUg
PSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThw
KCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTU3
CiAgICAqQ0FTVDxpbnQzMl90Kj4odDUuaThwKCkpID0gdDAuaTMyKCk7ICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTU4CiAgICB0MiA9ICpDQVNUPHVpbnQ4X3Qq
Pih0Mi5pOHAoKSArIDQpOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMTU5CiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDcKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18yNTNfbG9hZF9fY29uc3RhbnQ7CiAgICB0MyA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQog
ICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18yNTNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQz
Ml9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjUzX2xvYWRfX2NvbnN0YW50KQog
ICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQzID0gKkNBU1Q8aW50cHRyX3Qq
Pih0My5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDgyCiAgICB0MyA9ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArICh0MC5pKCkgPDwg
MykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI1M19sb2FkX19kb25lKQogICAgaWYgKHQzLnU2
NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MzAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI2NV9mbl9fb3BQdXRCeVZhbFNsb3c7CiAg
ICB0MyA9IHQzLmkzMigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MzkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDYxCiAgICBudW1iZXJUYWcgPSBpbnRwdHJfdCgtNTYyOTQ5OTUzNDIxMzEyKTsgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NDEKICAgIGlmICgodDIu
aTMyKCkgJiBpbnQzMl90KDB4MTApKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTc0MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjY1X2ZuX19vcFB1dEJ5VmFsU2xvdzsK
ICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAmIGludDMyX3QoMHhlKSk7ICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc0MwogICAgaWYgKHQyLmkzMigpICE9IGlu
dDMyX3QoMHg0KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNzQ0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNjVfZm5fX29wUHV0QnlWYWxOb3RJbnQzMjsKICAgIGlm
ICh0My51MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkpICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcxOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0
QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI1Nl9jb250aWd1b3Vz
UHV0QnlWYWxfX291dE9mQm91bmRzOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjU2X2Nv
bnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVSZXN1bHQpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGlu
dDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHg0
MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNTRfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19z
dG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNTRfbG9hZF9f
ZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMjU0X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODEKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MSA9
ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzI1NF9sb2FkX19kb25lKQogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVy
VGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNzQ4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX18yNjVfZm5fX29wUHV0QnlWYWxTbG93OwogICAgKkNBU1Q8aW50
NjRfdCo+KHQwLmk4cCgpICsgKHQzLmkoKSA8PCAzKSkgPSB0MS5pNjQoKTsgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNzQ5CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMjU1X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19f
d3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI1NV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9w
dXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1
dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjU1X2xv
YWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQwID0g
KkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAo
KSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxf
X3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNTVfbG9hZF9fZG9u
ZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGln
dW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX18yNTZfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19f
d3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTcyCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX18yNTZfd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8
aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgw
eDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVy
T25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI1Nl9sb2FkX19jb25zdGFudDsKICAgIHQyID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3Jl
Q2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9f
d3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI1Nl9sb2FkX19kb25lOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29u
dGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18yNTZfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQog
ICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+
KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
cHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQ
dXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJy
aWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjU2X2xv
YWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5k
c19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18yNTZfd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJl
bG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjEK
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4o
dDIuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1
dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0
QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmll
ck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVy
T25DZWxsV2l0aFJlbG9hZF9fMjU2X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lOwog
ICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAgdDEgPSB0
Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0
CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVfYmFycmll
cl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgogICAgUE9Q
KHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxf
X3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3Bl
cmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxs
V2l0aFJlbG9hZF9fMjU2X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lKQoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzI1Nl93cml0ZUJh
cnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lKQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX18yNTZfd3Jp
dGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHhjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yNTZfY29udGln
dW91c1B1dEJ5VmFsX19vdXRPZkJvdW5kcykKICAgIGlmICh0My51MzIoKSA+PSAqQ0FTVDx1aW50
MzJfdCo+KHQwLmk4cCgpIC0gNCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTcyNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fMjY1X2ZuX19vcFB1dEJ5VmFsT3V0T2ZCb3VuZHM7CiAgICAqQ0FTVDx1
aW50OF90Kj4odDUuaThwKCkgKyA0KSA9IGludDhfdCgweDEpOyAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE3MjYKICAgIHQyID0gKHVpbnQzMl90KShpbnQzMl90KDB4MSkg
KyB0My5pMzIoKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcy
NwogICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkgPSB0Mi5pMzIoKTsgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI4CiAgICBnb3RvIF9vZmZsaW5lYXNt
X3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yNTZfY29udGln
dW91c1B1dEJ5VmFsX19zdG9yZVJlc3VsdDsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI5
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI2NV9mbl9fb3BQdXRCeVZhbE5vdEludDMyKQogICAg
aWYgKHQyLmkzMigpICE9IGludDMyX3QoMHg2KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzU0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9w
dXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNjVfZm5fX29wUHV0QnlW
YWxOb3REb3VibGU7CiAgICBpZiAodDMudTMyKCkgPj0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAo
KSAtIDgpKSAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MTgKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX18yNTlfY29udGlndW91c1B1dEJ5VmFsX19vdXRPZkJvdW5kczsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzI1OV9jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlUmVzdWx0KQogICAgdDIg
PSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDIu
aSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9f
c3RvcmVDYWxsYmFja19fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjU3X2xvYWRf
X2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8
PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29m
ZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2Nv
bnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMjU3X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJh
Y2tfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI1N19sb2FkX19jb25zdGFudCkK
ICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MSA9ICpDQVNUPGludHB0cl90
Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4MgogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDIuaSgpIDw8
IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNr
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNTdfbG9hZF9fZG9uZSkKICAgIGlm
ICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc1OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0
QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRC
eVZhbF9fMjU5X3N0b3JlQ2FsbGJhY2tfX25vdEludDsKICAgIGQwID0gKGRvdWJsZSl0MS5pMzIo
KTsgLy8gY2kyZHMgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTc1OQogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX18yNTlfc3RvcmVDYWxsYmFj
a19fcmVhZHk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc2MAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX18yNTlfc3RvcmVDYWxsYmFja19fbm90SW50
KQogICAgdDEgPSB0MS5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzYyCiAgICBkMCA9IHQxLmJpdHNBc0Rv
dWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE3NjMKICAgIGlmIChzdGQ6OmlzbmFuKGQwLmQoKSkgfHwgc3RkOjppc25hbihk
MC5kKCkpICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc2NAogICAgICAg
IHx8IChkMC5kKCkgIT0gZDAuZCgpKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI2NV9mbl9fb3BQdXRCeVZhbFNsb3c7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfXzI1OV9zdG9y
ZUNhbGxiYWNrX19yZWFkeSkKICAgICpDQVNUPGRvdWJsZSo+KHQwLmk4cCgpICsgKHQzLmkoKSA8
PCAzKSkgPSBkMC5kKCk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc2NgogICAg
dDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAo
dDEuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZh
bF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JW
YXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI1OF9sb2FkX19j
b25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZs
aW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250
aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18yNThfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI1OF9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkg
KyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4Mgog
ICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRy
X3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMjU4X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCgpICYgbm90
Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFj
a19fMjU5X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICBpZiAo
dDAuaSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjU3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZh
bF9fc3RvcmVDYWxsYmFja19fMjU5X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmll
ckRvbmU7CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDcKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGln
dW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18y
NTlfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAg
Z290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhS
ZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18yNTlfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxs
YmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjU5X2xvYWRfX2NvbnN0YW50KQogICAg
dDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0
Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDgyCiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0MS5pKCkgPDwgMykg
KyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVy
T25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI1OV9sb2FkX19kb25lKQogICAgaWYgKCh0Mi5pNjQo
KSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3Jl
Q2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9f
MjU5X3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmU7CiAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjYxCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMjYyCiAgICBpZiAoKkNBU1Q8dWludDhfdCo+KHQyLmk4cCgpICsgNykgPiB1aW50OF90KDB4
MCkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9u
T3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzI1OV9za2lw
SWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZTsKICAgIFBVU0gocGNCYXNlKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTQyCiAgICBQVVNIKHBjKTsKICAgIHQxID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQzCiAg
ICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NAogICAgY2xvb3BTdGFjay5zZXRDdXJyZW50
U3RhY2tQb2ludGVyKHNwLnZwKCkpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMjUKICAgIGxsaW50X3dyaXRlX2JhcnJpZXJfc2xvdyh0MCwgdDEpOwogICAgUE9QKHBj
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDYKICAgIFBPUChwY0Jhc2UpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFu
ZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzI1OV9za2lwSWZJc1Jl
bWVtYmVyZWRPckluRWRlbl9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRp
Z3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kX18yNTlfd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9f
d3JpdGVCYXJyaWVyRG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
cHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQ
dXRCeVZhbF9fc3RvcmVDYWxsYmFja19fMjU5X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRl
QmFycmllckRvbmUpCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Yyk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fMjU5X2NvbnRpZ3VvdXNQdXRCeVZhbF9fb3V0T2ZCb3VuZHMp
CiAgICBpZiAodDMudTMyKCkgPj0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSAtIDQpKSAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjUKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI2NV9mbl9fb3BQ
dXRCeVZhbE91dE9mQm91bmRzOwogICAgKkNBU1Q8dWludDhfdCo+KHQ1Lmk4cCgpICsgNCkgPSBp
bnQ4X3QoMHgxKTsgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI2CiAg
ICB0MiA9ICh1aW50MzJfdCkoaW50MzJfdCgweDEpICsgdDMuaTMyKCkpOyAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjcKICAgICpDQVNUPGludDMyX3QqPih0MC5p
OHAoKSAtIDgpID0gdDIuaTMyKCk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTcyOAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fMjU5X2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVSZXN1bHQ7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18y
NjVfZm5fX29wUHV0QnlWYWxOb3REb3VibGUpCiAgICBpZiAodDIuaTMyKCkgIT0gaW50MzJfdCgw
eDgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE3NzEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fXzI2NV9mbl9fb3BQdXRCeVZhbE5vdENvbnRpZ3VvdXM7CiAgICBpZiAo
dDMudTMyKCkgPj0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSAtIDgpKSAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE3MTgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yNjJfY29udGlndW91c1B1
dEJ5VmFsX19vdXRPZkJvdW5kczsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI2Ml9jb250
aWd1b3VzUHV0QnlWYWxfX3N0b3JlUmVzdWx0KQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQx
Nl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDAp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjYwX2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3Rv
cmVDYWxsYmFja19fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjYwX2xvYWRfX2Rv
bmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzI2MF9sb2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDgxCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDEgPSAq
Q0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18yNjBfbG9hZF9fZG9uZSkKICAgICpDQVNUPGludDY0X3QqPih0MC5pOHAo
KSArICh0My5pKCkgPDwgMykpID0gdDEuaTY0KCk7ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTc3NQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ3CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRp
Z3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzI2MV9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAg
ICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9u
T3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18yNjFfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVD
YWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI2MV9sb2FkX19jb25zdGFudCkK
ICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90
Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8
IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNr
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjYxX2xvYWRfX2RvbmUpCiAgICBpZiAoKHQw
Lmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9f
c3RvcmVDYWxsYmFja19fMjYyX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRv
bmU7CiAgICBpZiAodDAuaSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU3MgogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRp
Z3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fMjYyX3dyaXRlQmFycmllck9uT3BlcmFuZHNf
X3dyaXRlQmFycmllckRvbmU7CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDcKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhS
ZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18yNjJfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9u
T3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX18yNjJfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZh
bF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25P
cGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjYyX2xvYWRfX2Nv
bnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQyID0gKkNBU1Q8
aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0
MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3Jl
Q2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9f
d3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI2Ml9sb2FkX19kb25lKQogICAg
aWYgKCh0Mi5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1
dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0
QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmll
ck9uT3BlcmFuZF9fMjYyX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFy
cmllckRvbmU7CiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjYxCiAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxMjYyCiAgICBpZiAoKkNBU1Q8dWludDhfdCo+KHQyLmk4cCgpICsgNykg
PiB1aW50OF90KDB4MCkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNh
bGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dy
aXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxv
YWRfXzI2Ml9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZTsKICAgIFBVU0gocGNCYXNl
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTQyCiAgICBQVVNIKHBjKTsKICAgIHQxID0gdDIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTQzCiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NAogICAgY2xvb3BTdGFj
ay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOyAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMjUKICAgIGxsaW50X3dyaXRlX2JhcnJpZXJfc2xvdyh0MCwgdDEp
OwogICAgUE9QKHBjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDYKICAgIFBPUChwY0Jhc2UpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNr
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFy
cmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzI2
Ml9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18yNjJfd3JpdGVCYXJyaWVyT25PcGVyYW5k
V2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fMjYyX3dyaXRlQmFycmllck9uT3Bl
cmFuZHNfX3dyaXRlQmFycmllckRvbmUpCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Yyk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjYyX2NvbnRpZ3VvdXNQdXRCeVZhbF9f
b3V0T2ZCb3VuZHMpCiAgICBpZiAodDMudTMyKCkgPj0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAo
KSAtIDQpKSAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjUKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
XzI2NV9mbl9fb3BQdXRCeVZhbE91dE9mQm91bmRzOwogICAgKkNBU1Q8dWludDhfdCo+KHQ1Lmk4
cCgpICsgNCkgPSBpbnQ4X3QoMHgxKTsgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNzI2CiAgICB0MiA9ICh1aW50MzJfdCkoaW50MzJfdCgweDEpICsgdDMuaTMyKCkpOyAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjcKICAgICpDQVNUPGlu
dDMyX3QqPih0MC5pOHAoKSAtIDgpID0gdDIuaTMyKCk7ICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTcyOAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjYyX2NvbnRpZ3VvdXNQdXRCeVZhbF9f
c3RvcmVSZXN1bHQ7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyOQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX18yNjVfZm5fX29wUHV0QnlWYWxOb3RDb250aWd1b3VzKQogICAgaWYgKHQyLmkz
MigpICE9IGludDMyX3QoMHhhKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNzgwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNjVfZm5fX29wUHV0QnlWYWxTbG93Owog
ICAgaWYgKHQzLnUzMigpID49ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkgLSA0KSkgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzgxCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNjVfZm5fX29wUHV0
QnlWYWxPdXRPZkJvdW5kczsKICAgIGlmICgqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDMu
aSgpIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpID09IDApIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTc4MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fMjY1X2ZuX19vcFB1dEJ5VmFsQXJyYXlTdG9yYWdlRW1wdHk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzI2NV9mbl9fb3BQdXRCeVZhbEFycmF5U3RvcmFnZVN0b3Jl
UmVzdWx0KQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ3CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI2M19sb2FkX19jb25zdGFudDsKICAgIHQxID0g
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18yNjNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzI2M19sb2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
KCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgx
CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDEgPSAqQ0FTVDxpbnQ2NF90
Kj4odDEuaThwKCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjYzX2xvYWRfX2RvbmUpCiAgICAqQ0FTVDxpbnQ2NF90
Kj4odDAuaThwKCkgKyAodDMuaSgpIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpID0gdDEuaTY0KCk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc4NgogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxp
bnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4
NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNjRfbG9hZF9f
Y29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8
IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2Zm
bGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI2NF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRC
eVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzI2NF9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FT
VDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
d3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI2NF9sb2FkX19kb25lKQogICAgaWYgKCh0MC5p
NjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yNjVfd3JpdGVCYXJyaWVyT25PcGVy
YW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTcy
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fMjY1X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRv
bmU7CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcK
ICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJh
bmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMjY1X2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFy
cmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI2NV9s
b2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5k
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
Q2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjY1X2xvYWRfX2NvbnN0YW50
KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQyID0gKkNBU1Q8aW50cHRy
X3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDgyCiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0MS5pKCkg
PDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNjVf
bG9hZF9fZG9uZSkKICAgIGlmICgodDIuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18yNjVfd3Jp
dGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIK
ICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRf
X3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhS
ZWxvYWRfXzI2NV9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZTsKICAgIFBVU0gocGNC
YXNlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTQyCiAgICBQVVNIKHBjKTsKICAgIHQxID0gdDIuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTQzCiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NAogICAgY2xvb3BT
dGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOyAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMjUKICAgIGxsaW50X3dyaXRlX2JhcnJpZXJfc2xvdyh0MCwg
dDEpOwogICAgUE9QKHBjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDYKICAgIFBPUChwY0Jhc2UpOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVC
YXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJh
cnJpZXJPbkNlbGxXaXRoUmVsb2FkX18yNjVfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2Rv
bmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzI2NV93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2Fk
X193cml0ZUJhcnJpZXJEb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjY1X3dyaXRl
QmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmUpCiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4Yyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9w
dXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNjVfZm5fX29wUHV0QnlW
YWxBcnJheVN0b3JhZ2VFbXB0eSkKICAgICpDQVNUPHVpbnQ4X3QqPih0NS5pOHAoKSArIDQpID0g
aW50OF90KDB4MSk7ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc5MQog
ICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMTIpID0gKkNBU1Q8aW50MzJfdCo+KHQwLmk4
cCgpICsgMTIpICsgaW50MzJfdCgweDEpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3OTIK
ICAgIGlmICh0My51MzIoKSA8ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkgLSA4KSkgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc5MwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjY1X2ZuX19vcFB1
dEJ5VmFsQXJyYXlTdG9yYWdlU3RvcmVSZXN1bHQ7CiAgICB0MSA9ICh1aW50MzJfdCkoaW50MzJf
dCgweDEpICsgdDMuaTMyKCkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE3OTQKICAgICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSAtIDgpID0gdDEuaTMyKCk7ICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc5NQogICAgZ290byBfb2Zm
bGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNjVfZm5f
X29wUHV0QnlWYWxBcnJheVN0b3JhZ2VTdG9yZVJlc3VsdDsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNzk2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI2NV9mbl9fb3BQdXRCeVZhbE91dE9m
Qm91bmRzKQogICAgKkNBU1Q8dWludDhfdCo+KHQ1Lmk4cCgpICsgNSkgPSBpbnQ4X3QoMHgxKTsg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzk5CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzI2NV9mbl9fb3BQdXRCeVZhbFNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwog
ICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAg
ICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3B1dF9ieV92YWxf
ZGlyZWN0KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAg
IH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGMpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJ
TkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXRfYnlfdmFsX2RpcmVjdF93aWRlMzIpCiAgICB0MCA9
ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MC5pKCkgPj0gaW50
cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI2Nl9sb2FkX19jb25zdGFudDsKICAgIHQx
ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjY2X2xvYWRfX2RvbmU7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fMjY2X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MCA9IHQwLmkoKSAtIGlu
dHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ4OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX18yNjZfbG9hZF9fZG9uZSkKICAgIGlmICgodDEuaTY0KCkg
JiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNzlfZm5fX29wUHV0QnlWYWxTbG93OwogICAgdDIg
PSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzM0CiAgICB0NSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0
YWRhdGFUYWJsZS5pOHAoKSArIDg0KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
OTIKICAgIGlmICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRh
X18yNjZfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1l
dGFkYXRhVGFibGUuaThwKCkgKyAyODgpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fMjY2X21ldGFkYXRhX19z
ZXRVcE9mZnNldCkKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
CiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgKiBpbnQzMl90KDB4YykpOyAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5p
MzIoKSArIHQwLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5OAogICAgdDUgPSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MCA9ICpDQVNUPHVp
bnQzMl90Kj4odDIuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxMTU3CiAgICAqQ0FTVDxpbnQzMl90Kj4odDUuaThwKCkpID0gdDAuaTMyKCk7
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTU4CiAgICB0MiA9
ICpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAoKSArIDQpOyAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxMTU5CiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTUKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18yNjdfbG9hZF9fY29uc3RhbnQ7CiAgICB0MyA9ICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18yNjdfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjY3X2xvYWRfX2NvbnN0
YW50KQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQzID0gKkNBU1Q8aW50
cHRyX3QqPih0My5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDg4CiAgICB0MCA9IHQwLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDMg
PSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMjY3X2xvYWRfX2RvbmUpCiAgICBpZiAodDMudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzMAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fMjc5X2ZuX19vcFB1dEJ5VmFsU2xvdzsKICAgIHQzID0gdDMuaTMyKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTczOQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgOCk7ICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjEKICAgIG51bWJlclRhZyA9
IGludHB0cl90KC01NjI5NDk5NTM0MjEzMTIpOyAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTc0MQogICAgaWYgKCh0Mi5pMzIoKSAmIGludDMyX3QoMHgxMCkpICE9
IDApICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzQyCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX18yNzlfZm5fX29wUHV0QnlWYWxTbG93OwogICAgdDIgPSAodWludDMyX3QpKHQyLmkz
MigpICYgaW50MzJfdCgweGUpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNzQzCiAgICBpZiAodDIuaTMyKCkgIT0gaW50MzJfdCgweDQpKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NDQKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI3
OV9mbl9fb3BQdXRCeVZhbE5vdEludDMyOwogICAgaWYgKHQzLnUzMigpID49ICpDQVNUPHVpbnQz
Ml90Kj4odDAuaThwKCkgLSA4KSkgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NzE4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fMjcwX2NvbnRpZ3VvdXNQdXRCeVZhbF9fb3V0T2ZCb3VuZHM7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yNzBfY29udGlndW91c1B1dEJ5VmFsX19zdG9yZVJl
c3VsdCkKICAgIHQyID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYg
KHQyLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlW
YWxfX3N0b3JlQ2FsbGJhY2tfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI2OF9s
b2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzI2OF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNh
bGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNjhfbG9hZF9fY29uc3Rh
bnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODgKICAgIHQyID0gdDIuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MSA9
ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29u
dGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18yNjhfbG9hZF9fZG9uZSkKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQo
KSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTc0
OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fMjc5X2ZuX19vcFB1dEJ5VmFsU2xvdzsKICAgICpDQVNUPGludDY0X3QqPih0
MC5pOHAoKSArICh0My5pKCkgPDwgMykpID0gdDEuaTY0KCk7ICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTc0OQogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1
CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3Vv
dXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI2
OV9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBn
b3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3Bl
cmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18yNjlfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxs
YmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI2OV9sb2FkX19jb25zdGFudCkKICAg
IHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4o
dDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ4OAogICAgdDEgPSB0MS5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8
aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3Vz
UHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNjlf
bG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX18yNzBfd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX18yNzBf
d3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIHQxID0gKkNBU1Q8
aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgw
eDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVy
T25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI3MF9sb2FkX19jb25zdGFudDsKICAgIHQyID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3Jl
Q2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9f
d3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI3MF9sb2FkX19kb25lOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29u
dGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18yNzBfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4Nwog
ICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRy
X3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDg5CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0MS5pKCkgPDwg
MykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3Bl
cmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18yNzBfbG9hZF9fZG9uZSkKICAgIGlmICgodDIuaTY0KCkgJiBu
b3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxi
YWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzI3MF93
cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lOwogICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2
MgogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAoKSArIDcpID4gdWludDhfdCgweDApKQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJh
bmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX18yNzBfc2tpcElmSXNS
ZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmU7CiAgICBQVVNIKHBjQmFzZSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0
MgogICAgUFVTSChwYyk7CiAgICB0MSA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MwogICAgdDAg
PSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDQKICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNr
UG9pbnRlcihzcC52cCgpKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTI1CiAgICBsbGludF93cml0ZV9iYXJyaWVyX3Nsb3codDAsIHQxKTsKICAgIFBPUChwYyk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTQ2CiAgICBQT1AocGNCYXNlKTsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRo
UmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX18yNzBfc2tpcElmSXNSZW1lbWJl
cmVkT3JJbkVkZW5fX2RvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3Vz
UHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFy
cmllck9uT3BlcmFuZF9fMjcwX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRl
QmFycmllckRvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlW
YWxfX3N0b3JlQ2FsbGJhY2tfXzI3MF93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJp
ZXJEb25lKQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDE2KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzI3MF9jb250aWd1b3VzUHV0QnlWYWxfX291dE9mQm91bmRzKQogICAg
aWYgKHQzLnUzMigpID49ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkgLSA0KSkgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9w
dXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNzlfZm5fX29wUHV0QnlW
YWxPdXRPZkJvdW5kczsKICAgICpDQVNUPHVpbnQ4X3QqPih0NS5pOHAoKSArIDQpID0gaW50OF90
KDB4MSk7ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyNgogICAgdDIg
PSAodWludDMyX3QpKGludDMyX3QoMHgxKSArIHQzLmkzMigpKTsgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI3CiAgICAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkg
LSA4KSA9IHQyLmkzMigpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE3MjgKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzI3MF9jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlUmVzdWx0OyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE3MjkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjc5X2Zu
X19vcFB1dEJ5VmFsTm90SW50MzIpCiAgICBpZiAodDIuaTMyKCkgIT0gaW50MzJfdCgweDYpKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NTQK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzI3OV9mbl9fb3BQdXRCeVZhbE5vdERvdWJsZTsKICAgIGlmICh0My51MzIoKSA+
PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkpICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTcxOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI3M19jb250aWd1b3VzUHV0QnlWYWxfX291
dE9mQm91bmRzOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZh
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjczX2NvbnRpZ3VvdXNQdXRC
eVZhbF9fc3RvcmVSZXN1bHQpCiAgICB0MiA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTUKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29u
dGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18yNzFfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNzFfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0
QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRC
eVZhbF9fc3RvcmVDYWxsYmFja19fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjcx
X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQx
ID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MiA9IHQyLmkoKSAtIGludHB0cl90KDB4
NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjcxX2xvYWRfX2RvbmUpCiAgICBpZiAodDEudTY0KCkgPCBu
dW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE3NTgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfXzI3M19zdG9y
ZUNhbGxiYWNrX19ub3RJbnQ7CiAgICBkMCA9IChkb3VibGUpdDEuaTMyKCk7IC8vIGNpMmRzICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NTkKICAg
IGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fMjczX3N0b3JlQ2FsbGJhY2tfX3JlYWR5OyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE3NjAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2Nv
bnRpZ3VvdXNQdXRCeVZhbF9fMjczX3N0b3JlQ2FsbGJhY2tfX25vdEludCkKICAgIHQxID0gdDEu
aTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTc2MgogICAgZDAgPSB0MS5iaXRzQXNEb3VibGUoKTsgLy8gZnEy
ZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzYz
CiAgICBpZiAoc3RkOjppc25hbihkMC5kKCkpIHx8IHN0ZDo6aXNuYW4oZDAuZCgpKSAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NjQKICAgICAgICB8fCAoZDAuZCgpICE9
IGQwLmQoKSkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX18yNzlfZm5fX29wUHV0QnlWYWxTbG93OwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX18yNzNfc3RvcmVDYWxsYmFja19fcmVh
ZHkpCiAgICAqQ0FTVDxkb3VibGUqPih0MC5pOHAoKSArICh0My5pKCkgPDwgMykpID0gZDAuZCgp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NjYKICAgIHQxID0gKkNBU1Q8aW50
MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQw
MDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRl
QmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX18yNzJfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNU
PGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNh
bGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2Vs
bF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjcyX2xvYWRfX2RvbmU7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250
aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18yNzJfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4Nwog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRy
X3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwg
MykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjcyX2xvYWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCgpICYg
bm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxs
YmFja19fMjczX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICBp
ZiAodDAuaSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0
QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRC
eVZhbF9fc3RvcmVDYWxsYmFja19fMjczX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFy
cmllckRvbmU7CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAg
IGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9w
dXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1
dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNzNfbG9h
ZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgp
IDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBf
b2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
Y29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRz
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18yNzNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19f
d3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjczX2xvYWRfX2NvbnN0YW50KQogICAgdDIgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAo
KSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4
CiAgICB0MSA9IHQxLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDIgPSAqQ0FTVDxpbnQ2NF90
Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZh
bF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25P
cGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjczX2xvYWRfX2Rv
bmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRp
Z3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kX18yNzNfd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9f
d3JpdGVCYXJyaWVyRG9uZTsKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjEKICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDIuaThw
KCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxf
X3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3Bl
cmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxs
V2l0aFJlbG9hZF9fMjczX3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lOwogICAgUFVT
SChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAgdDEgPSB0Mi5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBj
bG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVfYmFycmllcl9zbG93
KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgogICAgUE9QKHBjQmFz
ZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3Jl
Q2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9f
d3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJl
bG9hZF9fMjczX3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lKQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzI3M193cml0ZUJhcnJpZXJP
bk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lKQoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX18yNzNfd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHgxNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yNzNfY29udGlndW91c1B1
dEJ5VmFsX19vdXRPZkJvdW5kcykKICAgIGlmICh0My51MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+
KHQwLmk4cCgpIC0gNCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyNQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fMjc5X2ZuX19vcFB1dEJ5VmFsT3V0T2ZCb3VuZHM7CiAgICAqQ0FTVDx1aW50OF90
Kj4odDUuaThwKCkgKyA0KSA9IGludDhfdCgweDEpOyAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE3MjYKICAgIHQyID0gKHVpbnQzMl90KShpbnQzMl90KDB4MSkgKyB0My5p
MzIoKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcyNwogICAg
KkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkgPSB0Mi5pMzIoKTsgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI4CiAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yNzNfY29udGlndW91c1B1
dEJ5VmFsX19zdG9yZVJlc3VsdDsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI5CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fXzI3OV9mbl9fb3BQdXRCeVZhbE5vdERvdWJsZSkKICAgIGlmICh0
Mi5pMzIoKSAhPSBpbnQzMl90KDB4OCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTc3MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjc5X2ZuX19vcFB1dEJ5VmFsTm90
Q29udGlndW91czsKICAgIGlmICh0My51MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgp
IC0gOCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcxOAogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzI3Nl9jb250aWd1b3VzUHV0QnlWYWxfX291dE9mQm91bmRzOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fMjc2X2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVSZXN1bHQpCiAgICB0MiA9
ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0Mi5pKCkgPj0gaW50
cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxi
YWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNzRfbG9hZF9fY29uc3RhbnQ7
CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9w
dXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1
dEJ5VmFsX19zdG9yZUNhbGxiYWNrX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18y
NzRfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjc0X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAo
KSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4
CiAgICB0MiA9IHQyLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90
Kj4odDEuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZh
bF9fc3RvcmVDYWxsYmFja19fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjc0X2xv
YWRfX2RvbmUpCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDMuaSgpIDw8IDMpKSA9
IHQxLmk2NCgpOyAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3NzUKICAgIHQxID0gKkNB
U1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJf
dCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tf
X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNzVfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19z
dG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjc1X2xvYWRfX2RvbmU7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19jb250aWd1b3VzUHV0QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFu
ZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18yNzVfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0g
aW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5p
KCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjc1X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2
NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3Rv
cmVDYWxsYmFja19fMjc2X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7
CiAgICBpZiAodDAuaSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU3MgogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3Vv
dXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fMjc2X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dy
aXRlQmFycmllckRvbmU7CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTUKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGln
dW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18y
NzZfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAg
Z290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhS
ZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18yNzZfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxs
YmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjc2X2xvYWRfX2NvbnN0YW50KQogICAg
dDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0
Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDg4CiAgICB0MSA9IHQxLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDIgPSAqQ0FTVDxp
bnQ2NF90Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
cHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NvbnRpZ3VvdXNQ
dXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJy
aWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjc2X2xv
YWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2NvbnRpZ3VvdXNQdXRCeVZhbF9fc3RvcmVDYWxsYmFja19fd3JpdGVCYXJyaWVyT25PcGVyYW5k
c19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18yNzZfd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJl
bG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjEK
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4o
dDIuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1
dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0
QnlWYWxfX3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmll
ck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVy
T25DZWxsV2l0aFJlbG9hZF9fMjc2X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lOwog
ICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAgdDEgPSB0
Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0
CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVfYmFycmll
cl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgogICAgUE9Q
KHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jb250aWd1b3VzUHV0QnlWYWxf
X3N0b3JlQ2FsbGJhY2tfX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3Bl
cmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxs
V2l0aFJlbG9hZF9fMjc2X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lKQoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzI3Nl93cml0ZUJh
cnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lKQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY29udGlndW91c1B1dEJ5VmFsX19zdG9yZUNhbGxiYWNrX18yNzZfd3Jp
dGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHgxNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yNzZfY29udGln
dW91c1B1dEJ5VmFsX19vdXRPZkJvdW5kcykKICAgIGlmICh0My51MzIoKSA+PSAqQ0FTVDx1aW50
MzJfdCo+KHQwLmk4cCgpIC0gNCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTcyNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fMjc5X2ZuX19vcFB1dEJ5VmFsT3V0T2ZCb3VuZHM7CiAgICAqQ0FTVDx1
aW50OF90Kj4odDUuaThwKCkgKyA0KSA9IGludDhfdCgweDEpOyAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE3MjYKICAgIHQyID0gKHVpbnQzMl90KShpbnQzMl90KDB4MSkg
KyB0My5pMzIoKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTcy
NwogICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkgPSB0Mi5pMzIoKTsgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI4CiAgICBnb3RvIF9vZmZsaW5lYXNt
X3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yNzZfY29udGln
dW91c1B1dEJ5VmFsX19zdG9yZVJlc3VsdDsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzI5
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI3OV9mbl9fb3BQdXRCeVZhbE5vdENvbnRpZ3VvdXMp
CiAgICBpZiAodDIuaTMyKCkgIT0gaW50MzJfdCgweGEpKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3ODAKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI3OV9mbl9fb3BQ
dXRCeVZhbFNsb3c7CiAgICBpZiAodDMudTMyKCkgPj0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAo
KSAtIDQpKSAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3ODEKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
XzI3OV9mbl9fb3BQdXRCeVZhbE91dE9mQm91bmRzOwogICAgaWYgKCpDQVNUPGludDY0X3QqPih0
MC5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDEwKSkgPT0gMCkgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNzgyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNzlfZm5fX29wUHV0QnlWYWxBcnJheVN0
b3JhZ2VFbXB0eTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjc5X2ZuX19vcFB1dEJ5VmFsQXJy
YXlTdG9yYWdlU3RvcmVSZXN1bHQpCiAgICB0MiA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTUKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjc3X2xvYWRfX2NvbnN0YW50OwogICAg
dDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzI3N19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMjc3X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MiA9IHQyLmkoKSAt
IGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ4OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDIu
aSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI3
N19sb2FkX19kb25lKQogICAgKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQzLmkoKSA8PCAz
KSArIGludHB0cl90KDB4MTApKSA9IHQxLmk2NCgpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE3ODYKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYg
KHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5
VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMjc4X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNzhfbG9hZF9f
ZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxs
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yNzhfbG9hZF9fY29uc3RhbnQpCiAg
ICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNU
PGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzI3OF9sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5v
dENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yNzlfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3Jp
dGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTcyCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fMjc5X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICB0
MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MS5pKCkgPj0g
aW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
Mjc5X2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAg
IGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI3OV9sb2FkX19kb25lOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVC
YXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjc5X2xvYWRfX2NvbnN0YW50KQogICAgdDIgPSAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODcKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0
NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0
MSA9IHQxLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIu
aThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNf
X3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzI3OV9sb2FkX19kb25lKQogICAgaWYgKCh0Mi5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgp
KSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRf
XzI3OV93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lOwog
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTI2MgogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAoKSArIDcpID4gdWludDhfdCgw
eDApKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9u
T3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25D
ZWxsV2l0aFJlbG9hZF9fMjc5X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lOwogICAg
UFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAgdDEgPSB0Mi5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0CiAg
ICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVfYmFycmllcl9z
bG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgogICAgUE9QKHBj
QmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRz
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRf
X3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzI3OV9za2lwSWZJc1JlbWVtYmVyZWRPcklu
RWRlbl9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlW
YWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3Bl
cmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMjc5X3dyaXRlQmFycmllck9uT3BlcmFuZFdp
dGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18y
Nzlfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHgxNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzI3OV9mbl9f
b3BQdXRCeVZhbEFycmF5U3RvcmFnZUVtcHR5KQogICAgKkNBU1Q8dWludDhfdCo+KHQ1Lmk4cCgp
ICsgNCkgPSBpbnQ4X3QoMHgxKTsgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNzkxCiAgICAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAxMikgPSAqQ0FTVDxpbnQzMl90
Kj4odDAuaThwKCkgKyAxMikgKyBpbnQzMl90KDB4MSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTc5MgogICAgaWYgKHQzLnUzMigpIDwgKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSAtIDgp
KSAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzkzCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9wdXRCeVZhbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yNzlf
Zm5fX29wUHV0QnlWYWxBcnJheVN0b3JhZ2VTdG9yZVJlc3VsdDsKICAgIHQxID0gKHVpbnQzMl90
KShpbnQzMl90KDB4MSkgKyB0My5pMzIoKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTc5NAogICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpIC0gOCkgPSB0MS5p
MzIoKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNzk1CiAgICBn
b3RvIF9vZmZsaW5lYXNtX3B1dEJ5VmFsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
XzI3OV9mbl9fb3BQdXRCeVZhbEFycmF5U3RvcmFnZVN0b3JlUmVzdWx0OyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE3OTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
cHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMjc5X2ZuX19vcFB1dEJ5
VmFsT3V0T2ZCb3VuZHMpCiAgICAqQ0FTVDx1aW50OF90Kj4odDUuaThwKCkgKyA1KSA9IGludDhf
dCgweDEpOyAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE3OTkKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fcHV0QnlWYWxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fMjc5X2ZuX19vcFB1dEJ5VmFsU2xvdykKICAgIHBjID0gcGMuaSgp
ICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAg
dDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkp
OwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfcHV0
X2J5X3ZhbF9kaXJlY3QodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwg
dDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMu
aSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTYpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2plcV9udWxsKQogICAgdDAgPSAoaW50NjRf
dCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIHQwID0gKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTg0NgogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAw
KSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODQ3CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2ltbWVkaWF0ZTsKICAgIHQyID0gKkNB
U1Q8dWludDMyX3QqPih0MC5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjE3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwNgog
ICAgdDMgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MS5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjA4CiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgPj4gKGludHB0cl90KDB4Nykg
JiAweDFmKSk7ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwOQogICAgdDEgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMjI0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2MTAKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSAr
ICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjExCiAg
ICB0MiA9IHQyLmkoKSA8PCAoaW50cHRyX3QoMHgzMCkgJiAoKHNpemVvZih1aW50cHRyX3QpID09
IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTIKICAgIHQy
ID0gdDIuaSgpIF4gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEzCiAgICBpZiAoKCpDQVNUPGludDhfdCo+KHQwLmk4
cCgpICsgNikgJiBpbnQ4X3QoMHgxKSkgPT0gMCkgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE4NjQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsTnVsbEp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fY2VsbEhhbmRs
ZXJfX25vdE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQ7CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE4NjUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDgpOyAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTg2NgogICAgaWYgKCpDQVNU
PGludHB0cl90Kj4odDIuaThwKCkgKyAyNCkgPT0gdDAuaSgpKSAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxODY3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2ltcGxfX3RhcmdldDsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1
YWxOdWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19jZWxsSGFuZGxlcl9fbm90TWFzcXVlcmFkZXNBc1VuZGVmaW5lZCkKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2VxdWFsTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fdGFyZ2V0KQogICAgdDAgPSAoaW50NjRf
dCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MC5pMzIoKSA9PSAw
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjQwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1w
X18yNzlfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9l
cXVhbE51bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2ltcGxfX2p1bXBfXzI3OV9qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldCkK
ICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQ
b2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGlu
dF9zbG93X3BhdGhfb3V0X29mX2xpbmVfanVtcF90YXJnZXQodDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxOdWxsSnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19pbW1lZGlhdGUp
CiAgICB0MCA9IHQwLmk2NCgpICYgaW50NjRfdCgtOSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4NTYKICAgIGlmICh0MC5pNjQoKSA9PSBp
bnQ2NF90KDB4MikpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTg3MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX190
YXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX2plcV9udWxsX3dpZGUxNikKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8
aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxODQ2CiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4NDcKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2VxdWFsTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fMjgwX2ltcGxfX2ltbWVkaWF0ZTsKICAgIHQyID0gKkNBU1Q8
dWludDMyX3QqPih0MC5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NjE3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwNgogICAg
dDMgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0
MS5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjA4CiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgPj4gKGludHB0cl90KDB4NykgJiAw
eDFmKSk7ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwOQogICAgdDEgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQxLmk4cCgpICsgMjI0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2MTAKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArICh0
My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjExCiAgICB0
MiA9IHQyLmkoKSA8PCAoaW50cHRyX3QoMHgzMCkgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgp
ID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTIKICAgIHQyID0g
dDIuaSgpIF4gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjEzCiAgICBpZiAoKCpDQVNUPGludDhfdCo+KHQwLmk4cCgp
ICsgNikgJiBpbnQ4X3QoMHgxKSkgPT0gMCkgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4
NjQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fMjc5X2NlbGxIYW5k
bGVyX19ub3RNYXNxdWVyYWRlc0FzVW5kZWZpbmVkOwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxODY1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyA4KTsgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4NjYKICAgIGlmICgqQ0FT
VDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMjQpID09IHQwLmkoKSkgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTg2NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxs
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X18yODBfaW1wbF9fdGFyZ2V0OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9lcXVhbE51bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2ltcGxfXzI3OV9jZWxsSGFuZGxlcl9fbm90TWFzcXVlcmFkZXNBc1VuZGVm
aW5lZCkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjgwX2ltcGxfX3RhcmdldCkKICAg
IHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYg
KHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbE51
bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2ltcGxfX2p1bXBfXzI4MF9qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldDsKICAgIHBj
ID0gcGMuaSgpICsgdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2VxdWFsTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9fMjgwX2p1bXBJbXBsX19vdXRPZkxp
bmVKdW1wVGFyZ2V0KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNl
dEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9vdXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEp
OwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbE51bGxKdW1w
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI4
MF9pbXBsX19pbW1lZGlhdGUpCiAgICB0MCA9IHQwLmk2NCgpICYgaW50NjRfdCgtOSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4NTYKICAg
IGlmICh0MC5pNjQoKSA9PSBpbnQ2NF90KDB4MikpICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTg3MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
ZXF1YWxOdWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX18yODBfaW1wbF9fdGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgw
eDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qZXFfbnVsbF93aWRlMzIpCiAg
ICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQwID0gKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTg0NgogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgp
KSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODQ3CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI4MV9pbXBsX19pbW1lZGlhdGU7CiAg
ICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxNwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MDYKICAgIHQzID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA3CiAgICB0MSA9ICpDQVNU
PGludHB0cl90Kj4odDEuaThwKCkgKyA4MCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjYwOAogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpID4+IChpbnRw
dHJfdCgweDcpICYgMHgxZikpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDkKICAg
IHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDIyNCk7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEwCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4o
dDEuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjYxMQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MzApICYgKChzaXplb2YodWlu
dHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjEyCiAgICB0MiA9IHQyLmkoKSBeIHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMwogICAgaWYgKCgqQ0FTVDxpbnQ4
X3QqPih0MC5pOHAoKSArIDYpICYgaW50OF90KDB4MSkpID09IDApICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxODY0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxf
XzI4MF9jZWxsSGFuZGxlcl9fbm90TWFzcXVlcmFkZXNBc1VuZGVmaW5lZDsKICAgIHQwID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTg2NQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgp
ICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODY2
CiAgICBpZiAoKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDI0KSA9PSB0MC5pKCkpICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4NjcKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2VxdWFsTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fMjgxX2ltcGxfX3RhcmdldDsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fZXF1YWxOdWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX18yODBfY2VsbEhhbmRsZXJfX25vdE1hc3F1
ZXJhZGVzQXNVbmRlZmluZWQpCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQw
ID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVN
YXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbE51bGxKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI4MV9pbXBs
X190YXJnZXQpCiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAg
IGlmICh0MC5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1
YWxOdWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19qdW1wX18yODFfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAg
ICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9lcXVhbE51bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBfXzI4MV9qdW1wSW1wbF9fb3V0
T2ZMaW5lSnVtcFRhcmdldCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0
MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFj
ay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJu
VHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfb3V0X29mX2xpbmVfanVtcF90YXJnZXQodDAs
IHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMg
PSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxOdWxs
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X18yODFfaW1wbF9faW1tZWRpYXRlKQogICAgdDAgPSB0MC5pNjQoKSAmIGludDY0X3QoLTkpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODU2
CiAgICBpZiAodDAuaTY0KCkgPT0gaW50NjRfdCgweDIpKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4NzAKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2VxdWFsTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fMjgxX2ltcGxfX3RhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bfam5lcV9udWxsKQogICAg
dDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIHQwID0g
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTg0NgogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNr
Lmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
ODQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI4Ml9pbXBsX19pbW1lZGlh
dGU7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxNwogICAgdDEgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MDYKICAgIHQzID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA3CiAgICB0MSA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyA4MCk7ICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYwOAogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpID4+
IChpbnRwdHJfdCgweDcpICYgMHgxZikpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MDkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDIyNCk7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEwCiAgICB0MyA9ICpDQVNUPGludHB0
cl90Kj4odDEuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjYxMQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MzApICYgKChzaXpl
b2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjEyCiAgICB0MiA9IHQyLmkoKSBeIHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMwogICAgaWYgKCgqQ0FT
VDxpbnQ4X3QqPih0MC5pOHAoKSArIDYpICYgaW50OF90KDB4MSkpID09IDApICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxODc1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzI4Ml9pbXBsX190YXJnZXQ7CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4NzYKICAg
IHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTg3NwogICAgaWYgKCpDQVNUPGludHB0cl90Kj4o
dDIuaThwKCkgKyAyNCkgIT0gdDAuaSgpKSAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxODc4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI4Ml9pbXBsX190
YXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbE51bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI4Ml9pbXBsX190YXJnZXQpCiAg
ICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYg
KHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbE51
bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2ltcGxfX2p1bXBfXzI4Ml9qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldDsKICAgIHBj
ID0gcGMuaSgpICsgdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2VxdWFsTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9fMjgyX2p1bXBJbXBsX19vdXRPZkxp
bmVKdW1wVGFyZ2V0KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNl
dEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9vdXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEp
OwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbE51bGxKdW1w
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI4
Ml9pbXBsX19pbW1lZGlhdGUpCiAgICB0MCA9IHQwLmk2NCgpICYgaW50NjRfdCgtOSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4NTYKICAg
IGlmICh0MC5pNjQoKSAhPSBpbnQ2NF90KDB4MikpICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTg4MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
ZXF1YWxOdWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX18yODJfaW1wbF9fdGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgw
eDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbmVxX251bGxfd2lkZTE2KQog
ICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICB0
MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4NDYKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxs
TWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTg0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsSnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yODNfaW1wbF9faW1t
ZWRpYXRlOwogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTcKICAgIHQxID0gKkNBU1Q8
aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NjA2CiAgICB0MyA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwNwogICAg
dDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgODApOyAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDgKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIo
KSA+PiAoaW50cHRyX3QoMHg3KSAmIDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjA5CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAyMjQpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMAogICAgdDMgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQxLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2MTEKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMwKSAmICgo
c2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjYxMgogICAgdDIgPSB0Mi5pKCkgXiB0My5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTMKICAgIGlmICgo
KkNBU1Q8aW50OF90Kj4odDAuaThwKCkgKyA2KSAmIGludDhfdCgweDEpKSA9PSAwKSAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTg3NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxO
dWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX18yODNfaW1wbF9fdGFyZ2V0OwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAo
KSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODc2
CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4NzcKICAgIGlmICgqQ0FTVDxpbnRwdHJf
dCo+KHQyLmk4cCgpICsgMjQpICE9IHQwLmkoKSkgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTg3OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yODNfaW1w
bF9fdGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxOdWxsSnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yODNfaW1wbF9fdGFyZ2V0
KQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAg
ICBpZiAodDAuaTMyKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo0MDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Vx
dWFsTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9faW1wbF9fanVtcF9fMjgzX2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0Owog
ICAgcGMgPSBwYy5pKCkgKyB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fZXF1YWxOdWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX18yODNfanVtcEltcGxfX291
dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQw
LCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBj
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsTnVs
bEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fMjgzX2ltcGxfX2ltbWVkaWF0ZSkKICAgIHQwID0gdDAuaTY0KCkgJiBpbnQ2NF90KC05KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTg1
NgogICAgaWYgKHQwLmk2NCgpICE9IGludDY0X3QoMHgyKSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODgwCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9lcXVhbE51bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzI4M19pbXBsX190YXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2puZXFfbnVsbF93aWRl
MzIpCiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQwID0g
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTg0NgogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNr
Lmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
ODQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI4NF9pbXBsX19pbW1lZGlh
dGU7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxNwogICAgdDEgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MDYKICAgIHQzID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA3CiAgICB0MSA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyA4MCk7ICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYwOAogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpID4+
IChpbnRwdHJfdCgweDcpICYgMHgxZikpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MDkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDIyNCk7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEwCiAgICB0MyA9ICpDQVNUPGludHB0
cl90Kj4odDEuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjYxMQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MzApICYgKChzaXpl
b2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjEyCiAgICB0MiA9IHQyLmkoKSBeIHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMwogICAgaWYgKCgqQ0FT
VDxpbnQ4X3QqPih0MC5pOHAoKSArIDYpICYgaW50OF90KDB4MSkpID09IDApICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxODc1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzI4NF9pbXBsX190YXJnZXQ7CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4NzYKICAg
IHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTg3NwogICAgaWYgKCpDQVNUPGludHB0cl90Kj4o
dDIuaThwKCkgKyAyNCkgIT0gdDAuaSgpKSAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxODc4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbE51bGxKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI4NF9pbXBsX190
YXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbE51bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI4NF9pbXBsX190YXJnZXQpCiAg
ICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MC5pMzIo
KSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjQwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxOdWxsSnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBs
X19qdW1wX18yODRfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmko
KSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEg
PSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9lcXVhbE51bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBfXzI4NF9qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRh
cmdldCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50
U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQg
PSBsbGludF9zbG93X3BhdGhfb3V0X29mX2xpbmVfanVtcF90YXJnZXQodDAsIHQxKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxOdWxsSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yODRfaW1wbF9f
aW1tZWRpYXRlKQogICAgdDAgPSB0MC5pNjQoKSAmIGludDY0X3QoLTkpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODU2CiAgICBpZiAodDAu
aTY0KCkgIT0gaW50NjRfdCgweDIpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE4ODAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsTnVs
bEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fMjg0X2ltcGxfX3RhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfanVuZGVmaW5lZF9vcl9udWxsKQogICAgdDEg
PSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MS5p
KCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV91bmRlZmluZWRP
ck51bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI4NF9sb2FkX19j
b25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZs
aW5lYXNtX3VuZGVmaW5lZE9yTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fMjg0X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3VuZGVmaW5lZE9yTnVsbEp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjg0X2xvYWRfX2NvbnN0YW50KQogICAg
dDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0
MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykg
KyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3VuZGVmaW5lZE9yTnVsbEp1bXBPcF9fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjg0X2xvYWRfX2RvbmUpCiAgICB0MCA9IHQw
Lmk2NCgpICYgaW50NjRfdCgtOSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE4ODYKICAgIGlmICh0MC5pNjQoKSA9PSBpbnQ2NF90KDB4Mikp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTg5
NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fdW5kZWZpbmVkT3JOdWxsSnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yODVfaW1wbF9fdGFy
Z2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fdW5kZWZpbmVkT3JOdWxsSnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yODVfaW1wbF9fdGFyZ2V0
KQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAg
IGlmICh0MC5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fdW5k
ZWZpbmVkT3JOdWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX18yODVfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJn
ZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV91bmRlZmluZWRPck51bGxKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBfXzI4NV9q
dW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAg
ICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNs
b3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfb3V0X29mX2xpbmVfanVt
cF90YXJnZXQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwog
ICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0g
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qdW5kZWZp
bmVkX29yX251bGxfd2lkZTE2KQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fdW5kZWZpbmVkT3JOdWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18yODVfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV91bmRlZmluZWRPck51bGxKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI4NV9sb2FkX19kb25lOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV91bmRlZmluZWRPck51bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzI4NV9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
KCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgx
CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90
Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV91bmRlZmluZWRPck51bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzI4NV9sb2FkX19kb25lKQogICAgdDAgPSB0MC5pNjQoKSAmIGludDY0X3QoLTkpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODg2CiAgICBp
ZiAodDAuaTY0KCkgPT0gaW50NjRfdCgweDIpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4OTYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3Vu
ZGVmaW5lZE9yTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fMjg2X2ltcGxfX3RhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3VuZGVm
aW5lZE9yTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fMjg2X2ltcGxfX3RhcmdldCkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50
MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAz
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV91bmRlZmluZWRPck51bGxKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBfXzI4
Nl9qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3VuZGVm
aW5lZE9yTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9faW1wbF9fanVtcF9fMjg2X2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0
KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFj
a1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxs
aW50X3Nsb3dfcGF0aF9vdXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAgIGRl
Y29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX2p1bmRlZmluZWRfb3JfbnVsbF93aWRlMzIpCiAgICB0MSA9
ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MS5pKCkgPj0gaW50
cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV91bmRlZmluZWRPck51bGxKdW1w
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2lt
cGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI4Nl9sb2FkX19jb25zdGFudDsK
ICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX3Vu
ZGVmaW5lZE9yTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjg2
X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3VuZGVmaW5lZE9yTnVsbEp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjg2X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSAr
IDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAg
ICB0MSA9IHQxLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4o
dDAuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fdW5kZWZpbmVk
T3JOdWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yODZfbG9hZF9f
ZG9uZSkKICAgIHQwID0gdDAuaTY0KCkgJiBpbnQ2NF90KC05KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTg4NgogICAgaWYgKHQwLmk2NCgp
ID09IGludDY0X3QoMHgyKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxODk2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV91bmRlZmluZWRPck51
bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzI4N19pbXBsX190YXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV91bmRlZmluZWRPck51bGxK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzI4N19pbXBsX190YXJnZXQpCiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTUKICAgIGlmICh0MC5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQwMwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fdW5kZWZpbmVkT3JOdWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX18yODdfanVtcEltcGxfX291dE9mTGlu
ZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV91bmRlZmluZWRPck51bGxKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1
bXBfXzI4N19qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldCkKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfb3V0X29m
X2xpbmVfanVtcF90YXJnZXQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0
MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0g
cGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF9qbnVuZGVmaW5lZF9vcl9udWxsKQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV91bmRlZmluZWRPck51bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzI4N19sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX3VuZGVmaW5lZE9yTnVsbEp1bXBP
cF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1w
bF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjg3X2xvYWRfX2RvbmU7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX3VuZGVmaW5lZE9yTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fMjg3X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0
X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX3VuZGVmaW5lZE9yTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMjg3X2xvYWRfX2RvbmUpCiAgICB0MCA9IHQwLmk2NCgpICYgaW50NjRfdCgtOSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4ODYKICAg
IGlmICh0MC5pNjQoKSAhPSBpbnQ2NF90KDB4MikpICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTg5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
dW5kZWZpbmVkT3JOdWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX18yODhfaW1wbF9fdGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fdW5k
ZWZpbmVkT3JOdWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX18yODhfaW1wbF9fdGFyZ2V0KQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MC5pMzIoKSA9PSAwKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQw
MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fdW5kZWZpbmVkT3JOdWxsSnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX18y
ODhfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV91bmRl
ZmluZWRPck51bGxKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBfXzI4OF9qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdl
dCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfb3V0X29mX2xpbmVfanVtcF90YXJnZXQodDAsIHQxKTsKICAgICAgICBk
ZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJ
TkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbnVuZGVmaW5lZF9vcl9udWxsX3dpZGUxNikKICAgIHQx
ID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQx
LmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3VuZGVmaW5l
ZE9yTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjg4X2xvYWRf
X2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8
PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29m
ZmxpbmVhc21fdW5kZWZpbmVkT3JOdWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18yODhfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fdW5kZWZpbmVkT3JOdWxsSnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBs
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yODhfbG9hZF9fY29uc3RhbnQpCiAg
ICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAz
KSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fdW5kZWZpbmVkT3JOdWxsSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yODhfbG9hZF9fZG9uZSkKICAgIHQwID0g
dDAuaTY0KCkgJiBpbnQ2NF90KC05KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTg4NgogICAgaWYgKHQwLmk2NCgpICE9IGludDY0X3QoMHgy
KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
ODk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV91bmRlZmluZWRPck51bGxKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI4OV9pbXBsX190
YXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV91bmRlZmluZWRPck51bGxKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI4OV9pbXBsX190YXJn
ZXQpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcK
ICAgIGlmICh0MC5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
dW5kZWZpbmVkT3JOdWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX18yODlfanVtcEltcGxfX291dE9mTGluZUp1bXBU
YXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV91bmRlZmluZWRPck51bGxKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBfXzI4
OV9qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAg
ICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAg
IFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfb3V0X29mX2xpbmVf
anVtcF90YXJnZXQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEp
OwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgp
IC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbnVu
ZGVmaW5lZF9vcl9udWxsX3dpZGUzMikKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX3VuZGVmaW5lZE9yTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMjg5X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fdW5kZWZpbmVkT3JOdWxsSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yODlfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
dW5kZWZpbmVkT3JOdWxsSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18y
ODlfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAg
dDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3Qo
MHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykp
OyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV91bmRlZmluZWRPck51bGxKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzI4OV9sb2FkX19kb25lKQogICAgdDAgPSB0MC5pNjQoKSAm
IGludDY0X3QoLTkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxODg2CiAgICBpZiAodDAuaTY0KCkgIT0gaW50NjRfdCgweDIpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4OTkKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX3VuZGVmaW5lZE9yTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjkwX2ltcGxfX3RhcmdldDsKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX3VuZGVmaW5lZE9yTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjkwX2ltcGxfX3RhcmdldCkKICAgIHQw
ID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQwLmkzMigpID09
IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV91bmRlZmluZWRPck51bGxKdW1w
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2lt
cGxfX2p1bXBfXzI5MF9qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldDsKICAgIHBjID0gcGMu
aSgpICsgdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX3VuZGVmaW5lZE9yTnVsbEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9fMjkwX2p1bXBJbXBsX19vdXRPZkxp
bmVKdW1wVGFyZ2V0KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNl
dEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9vdXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEp
OwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2puZXFfcHRyKQogICAgdDAgPSAoaW50
NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIHQxID0gKGludDY0X3Qp
KkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4
MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MiA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ3NQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQyID0gKkNB
U1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKICAgIGlmICh0Mi5pKCkgIT0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKSkgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxOTA1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fb3BKbmVxUHRyVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgw
eDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wSm5lcVB0clRhcmdldCkKICAgIHQ1ID0gKkNBU1Q8
dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgODYpOyAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRh
dGFfXzI5MF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0NSA9ICpDQVNUPHVpbnQzMl90Kj4o
bWV0YWRhdGFUYWJsZS5pOHAoKSArIDI5Mik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18yOTBfbWV0YWRhdGFfX3NldFVwT2Zmc2V0
KQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0MCA9ICh1
aW50MzJfdCkodDAuaTMyKCkgKiBpbnQzMl90KDB4MSkpOyAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5pMzIoKSArIHQwLmkz
MigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAg
dDUgPSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDx1aW50OF90Kj4odDUuaThwKCkp
ID0gaW50OF90KDB4MSk7ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE5MTAKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5
CiAgICBpZiAodDAuaTMyKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo0MDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yOTFfanVtcEltcGxfX291dE9mTGlu
ZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fMjkxX2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0KQogICAgcGMgPSBwYy5p
KCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAg
ICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAo
KSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9v
dXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1
bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAg
cGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xB
QkVMKG9wX2puZXFfcHRyX3dpZGUxNikKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0NwogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDIg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4
cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODMKICAgIGlmICh0Mi5pKCkgIT0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkg
KyAodDAuaSgpIDw8IDMpKSkgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTA1CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yOTJfZm5fX29w
Sm5lcVB0clRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAq
Q0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fXzI5Ml9mbl9fb3BKbmVxUHRyVGFyZ2V0KQogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+
KG1ldGFkYXRhVGFibGUuaThwKCkgKyA4Nik7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzkyCiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fMjkxX21l
dGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRh
YmxlLmk4cCgpICsgMjkyKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbWV0YWRhdGFfXzI5MV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MCA9
ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4OCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0MCA9ICh1aW50MzJfdCko
dDAuaTMyKCkgKiBpbnQzMl90KDB4MSkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5pMzIoKSArIHQwLmkzMigpKTsgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDUgPSB0NS5p
KCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDx1aW50OF90Kj4odDUuaThwKCkpID0gaW50OF90
KDB4MSk7ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MTAKICAg
IHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYg
KHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjkyX2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFy
Z2V0OwogICAgcGMgPSBwYy5pKCkgKyB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzI5Ml9qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldCkKICAgIHBjID0gcGMuaSgpICsgcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBw
Yy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3
CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAg
ICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfb3V0X29mX2xp
bmVfanVtcF90YXJnZXQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwg
dDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMu
aSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9q
bmVxX3B0cl93aWRlMzIpCiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTUKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDIgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAo
KSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4
CiAgICB0MSA9IHQxLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDIgPSAqQ0FTVDxpbnQ2NF90
Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0OTAKICAgIGlmICh0Mi5pKCkgIT0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkg
KyAodDAuaSgpIDw8IDMpKSkgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTA1CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18yOTNfZm5fX29w
Sm5lcVB0clRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxMik7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAq
Q0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fXzI5M19mbl9fb3BKbmVxUHRyVGFyZ2V0KQogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+
KG1ldGFkYXRhVGFibGUuaThwKCkgKyA4Nik7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzkyCiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fMjkyX21l
dGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRh
YmxlLmk4cCgpICsgMjkyKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbWV0YWRhdGFfXzI5Ml9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MCA9
ICpDQVNUPHVpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4ZSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0MCA9ICh1aW50MzJfdCko
dDAuaTMyKCkgKiBpbnQzMl90KDB4MSkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5pMzIoKSArIHQwLmkzMigpKTsgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDUgPSB0NS5p
KCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDx1aW50OF90Kj4odDUuaThwKCkpID0gaW50OF90
KDB4MSk7ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MTAKICAg
IHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQwLmkzMigp
ID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fMjkzX2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0OwogICAg
cGMgPSBwYy5pKCkgKyB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI5M19qdW1w
SW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAg
Y2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfb3V0X29mX2xpbmVfanVtcF90
YXJnZXQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAg
fQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9zd2l0Y2hfaW1t
KQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAg
IHQzID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNQogICAgaWYgKHQyLmkoKSA+
PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzI5M19sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzI5M19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18yOTNfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ3NQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQxID0g
KkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjkzX2xvYWRf
X2RvbmUpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwMTEKICAgIHQyID0gKkNBU1Q8
aW50cHRyX3QqPih0Mi5pOHAoKSArIDI1Nik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjAxMgogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICogaW50MzJf
dCgweDE4KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDEzCiAg
ICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwMTQKICAgIHQyID0gdDIuaSgpICsgdDMuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjAxNQogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDE2CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19vcFN3aXRjaEltbU5vdEludDsKICAgIHQxID0gKHVpbnQzMl90KSh0MS5p
MzIoKSAtICpDQVNUPGludDMyX3QqPih0Mi5pOHAoKSArIDE2KSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjAxNwogICAgaWYgKHQxLnUzMigpID49ICpDQVNUPHVpbnQzMl90Kj4odDIuaThw
KCkgKyAxMikpICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDE4CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbXBsX19vcFN3aXRjaEltbUZhbGxUaHJvdWdoOwogICAgdDMgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQyLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyMDE5CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPih0My5pOHAoKSArICh0
MS5pKCkgPDwgMikpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwMjAKICAg
IGlmICh0MS5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjAyMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9f
b3BTd2l0Y2hJbW1GYWxsVGhyb3VnaDsKICAgIHBjID0gcGMuaSgpICsgdDEuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAog
ICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29w
Y29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX29wU3dpdGNoSW1tTm90
SW50KQogICAgaWYgKCh0MS5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgIT0gMCkgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDI1CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19pbXBsX19vcFN3aXRjaEltbVNsb3c7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2ltcGxfX29wU3dpdGNoSW1tRmFsbFRocm91Z2gpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAz
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX18yOTRfanVtcEltcGxfX291dE9mTGluZUp1
bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX18yOTRfanVtcEltcGxfX291dE9mTGlu
ZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQog
ICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29w
Y29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX29wU3dpdGNoSW1tU2xv
dykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfc3dpdGNoX2ltbSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChy
ZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAog
ICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX3N3aXRjaF9pbW1fd2lkZTE2KQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQx
Nl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICB0MyA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQzCiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjk0X2xvYWRf
X2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8
PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjk0X2xvYWRfX2RvbmU7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI5NF9sb2FkX19j
b25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MSA9ICpDQVNU
PGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAo
dDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18yOTRfbG9hZF9fZG9uZSkKICAgIHQyID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjAxMQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMjU2KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDEyCiAgICB0MyA9
ICh1aW50MzJfdCkodDMuaTMyKCkgKiBpbnQzMl90KDB4MTgpKTsgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIwMTMKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5p
OHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjAxNAogICAgdDIgPSB0Mi5pKCkgKyB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDE1CiAgICBpZiAodDEudTY0KCkg
PCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIwMTYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI5NV9pbXBsX19vcFN3aXRjaElt
bU5vdEludDsKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSAtICpDQVNUPGludDMyX3QqPih0
Mi5pOHAoKSArIDE2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjAxNwogICAgaWYgKHQx
LnUzMigpID49ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAxMikpICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyMDE4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yOTVfaW1wbF9fb3BT
d2l0Y2hJbW1GYWxsVGhyb3VnaDsKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSk7
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjAxOQog
ICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDIpKTsgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDIwCiAgICBpZiAodDEuaTMyKCkgPT0gMCkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIwMjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI5NV9pbXBsX19vcFN3aXRjaEltbUZhbGxU
aHJvdWdoOwogICAgcGMgPSBwYy5pKCkgKyB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fMjk1X2ltcGxfX29wU3dpdGNoSW1tTm90SW50KQogICAgaWYg
KCh0MS5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDI1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yOTVfaW1wbF9f
b3BTd2l0Y2hJbW1TbG93OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yOTVfaW1w
bF9fb3BTd2l0Y2hJbW1GYWxsVGhyb3VnaCkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX18yOTVfanVtcEltcGxfX291dE9mTGluZUp1bXBU
YXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX18yOTVfanVtcEltcGxfX291dE9mTGluZUp1
bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3Vy
cmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7CiAg
ICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI5NV9pbXBsX19vcFN3aXRjaEltbVNs
b3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0
YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0g
bGxpbnRfc2xvd19wYXRoX3N3aXRjaF9pbW0odDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgK
ICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF9zd2l0Y2hfaW1tX3dpZGUzMikKICAgIHQyID0gKkNBU1Q8aW50MzJfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NQogICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI5NV9sb2FkX19jb25zdGFu
dDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI5NV9sb2FkX19kb25lOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yOTVfbG9hZF9fY29uc3RhbnQp
CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODgKICAgIHQyID0gdDIuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MSA9ICpD
QVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yOTVfbG9hZF9fZG9uZSkKICAg
IHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjAxMQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQyLmk4cCgpICsgMjU2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToyMDEyCiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgKiBpbnQzMl90KDB4MTgpKTsg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwMTMKICAgIHQyID0gKkNB
U1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjAxNAogICAgdDIgPSB0Mi5pKCkgKyB0My5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDE1
CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwMTYKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI5
Nl9pbXBsX19vcFN3aXRjaEltbU5vdEludDsKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSAt
ICpDQVNUPGludDMyX3QqPih0Mi5pOHAoKSArIDE2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjAxNwogICAgaWYgKHQxLnUzMigpID49ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAx
MikpICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDE4CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX18yOTZfaW1wbF9fb3BTd2l0Y2hJbW1GYWxsVGhyb3VnaDsKICAgIHQzID0gKkNBU1Q8aW50
cHRyX3QqPih0Mi5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjAxOQogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4odDMuaThwKCkgKyAodDEu
aSgpIDw8IDIpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDIwCiAgICBp
ZiAodDEuaTMyKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwMjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI5Nl9pbXBs
X19vcFN3aXRjaEltbUZhbGxUaHJvdWdoOwogICAgcGMgPSBwYy5pKCkgKyB0MS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjk2X2ltcGxfX29wU3dpdGNo
SW1tTm90SW50KQogICAgaWYgKCh0MS5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgIT0gMCkgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDI1CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX18yOTZfaW1wbF9fb3BTd2l0Y2hJbW1TbG93OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX18yOTZfaW1wbF9fb3BTd2l0Y2hJbW1GYWxsVGhyb3VnaCkKICAgIHQwID0gKkNB
U1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQwLmkzMigpID09IDApICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX18yOTZfanVtcEltcGxfX291dE9m
TGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX18yOTZfanVtcEltcGxfX291
dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQw
LCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBj
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI5Nl9pbXBsX19vcFN3
aXRjaEltbVNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3N3aXRjaF9pbW0odDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF9zd2l0Y2hfY2hhcikKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MykpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MyA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzUKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yOTZfbG9h
ZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgp
IDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yOTZfbG9hZF9fZG9u
ZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMjk2X2xvYWRf
X2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQxID0gKkNB
U1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSAr
ICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzI5Nl9sb2FkX19kb25lKQogICAgdDIgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyMDM5CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAyNTYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNDAKICAgIHQz
ID0gKHVpbnQzMl90KSh0My5pMzIoKSAqIGludDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA0MQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQy
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyMDQyCiAgICB0MiA9IHQyLmkoKSArIHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNDMKICAgIGlmICgodDEuaTY0
KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjA0NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fb3BTd2l0Y2hDaGFy
RmFsbFRocm91Z2g7CiAgICBpZiAoKkNBU1Q8aW50OF90Kj4odDEuaThwKCkgKyA1KSAhPSBpbnQ4
X3QoMHgxKSkgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNDUKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2ltcGxfX29wU3dpdGNoQ2hhckZhbGxUaHJvdWdoOwogICAgdDAgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQxLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyMDQ2CiAgICBpZiAoKHQwLmkoKSAmIGludHB0cl90KDB4MSkpICE9IDAp
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNDcKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2ltcGxfX29wU3dpdGNoT25Sb3BlOwogICAgaWYgKCpDQVNUPGludDMy
X3QqPih0MC5pOHAoKSArIDQpICE9IGludDMyX3QoMHgxKSkgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyMDQ4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19vcFN3aXRjaENoYXJGYWxs
VGhyb3VnaDsKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDgpOyAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA0OQogICAgaWYgKCgqQ0FT
VDxpbnQzMl90Kj4odDAuaThwKCkgKyAxNikgJiBpbnQzMl90KDB4NCkpICE9IDApIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjA1MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fb3BTd2l0Y2hD
aGFyOEJpdDsKICAgIHQwID0gKkNBU1Q8dWludDE2X3QqPih0MS5pOHAoKSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA1MQogICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19pbXBsX19vcFN3aXRjaENoYXJSZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDUy
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX29wU3dpdGNoQ2hhcjhCaXQp
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPih0MS5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNTQKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9faW1wbF9fb3BTd2l0Y2hDaGFyUmVhZHkpCiAgICB0MCA9ICh1aW50MzJfdCko
dDAuaTMyKCkgLSAqQ0FTVDxpbnQzMl90Kj4odDIuaThwKCkgKyAxNikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIwNTYKICAgIGlmICh0MC51MzIoKSA+PSAqQ0FTVDx1aW50MzJfdCo+KHQy
Lmk4cCgpICsgMTIpKSAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA1NwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9faW1wbF9fb3BTd2l0Y2hDaGFyRmFsbFRocm91Z2g7CiAgICB0MiA9ICpD
QVNUPGludHB0cl90Kj4odDIuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjIwNTgKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHQyLmk4cCgp
ICsgKHQwLmkoKSA8PCAyKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA1
OQogICAgaWYgKHQxLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDYwCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19vcFN3aXRjaENoYXJGYWxsVGhyb3VnaDsKICAgIHBjID0gcGMuaSgpICsgdDEuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX29wU3dpdGNo
Q2hhckZhbGxUaHJvdWdoKQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzkKICAgIGlmICh0MC5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQwMwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9faW1wbF9fanVtcF9fMjk3X2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0OwogICAg
cGMgPSBwYy5pKCkgKyB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9faW1wbF9fanVtcF9fMjk3X2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0KQog
ICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1Bv
aW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50
X3Nsb3dfcGF0aF9vdXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19vcFN3aXRjaE9uUm9wZSkKICAgIGlmICgqQ0FT
VDxpbnQzMl90Kj4odDEuaThwKCkgKyAxNikgIT0gaW50MzJfdCgweDEpKSAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjA2NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fb3BTd2l0Y2hD
aGFyRmFsbFRocm91Z2g7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX29w
U3dpdGNoT25Sb3BlQ2hhcikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0
MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFj
ay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJu
VHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfc3dpdGNoX2NoYXIodDAsIHQxKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9zd2l0Y2hfY2hhcl93aWRlMTYpCiAgICB0MiA9IChp
bnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQzID0gKkNBU1Q8
dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3Qo
MHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18yOTdfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18yOTdfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fMjk3X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODEKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MSA9ICpDQVNUPGludDY0
X3QqPih0MS5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2lt
cGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzI5N19sb2FkX19kb25lKQogICAg
dDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDM5CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4o
dDIuaThwKCkgKyAyNTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjIwNDAKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAqIGludDMyX3QoMHgxOCkpOyAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA0MQogICAgdDIgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMDQyCiAgICB0MiA9IHQyLmkoKSArIHQzLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNDMK
ICAgIGlmICgodDEuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA0NAogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjk4
X2ltcGxfX29wU3dpdGNoQ2hhckZhbGxUaHJvdWdoOwogICAgaWYgKCpDQVNUPGludDhfdCo+KHQx
Lmk4cCgpICsgNSkgIT0gaW50OF90KDB4MSkpICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToyMDQ1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yOThfaW1wbF9fb3BTd2l0Y2hDaGFyRmFsbFRo
cm91Z2g7CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyA4KTsgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNDYKICAgIGlmICgodDAuaSgp
ICYgaW50cHRyX3QoMHgxKSkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjA0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjk4X2ltcGxfX29wU3dpdGNo
T25Sb3BlOwogICAgaWYgKCpDQVNUPGludDMyX3QqPih0MC5pOHAoKSArIDQpICE9IGludDMyX3Qo
MHgxKSkgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDQ4CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX18yOThfaW1wbF9fb3BTd2l0Y2hDaGFyRmFsbFRocm91Z2g7CiAgICB0MSA9ICpDQVNUPGlu
dHB0cl90Kj4odDAuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIwNDkKICAgIGlmICgoKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMTYp
ICYgaW50MzJfdCgweDQpKSAhPSAwKSAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNTAKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzI5OF9pbXBsX19vcFN3aXRjaENoYXI4Qml0OwogICAgdDAgPSAqQ0FT
VDx1aW50MTZfdCo+KHQxLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMDUxCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI5OF9pbXBsX19vcFN3aXRjaENo
YXJSZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDUyCgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzI5OF9pbXBsX19vcFN3aXRjaENoYXI4Qml0KQogICAgdDAgPSAqQ0FT
VDx1aW50OF90Kj4odDEuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMDU0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI5
OF9pbXBsX19vcFN3aXRjaENoYXJSZWFkeSkKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAt
ICpDQVNUPGludDMyX3QqPih0Mi5pOHAoKSArIDE2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjA1NgogICAgaWYgKHQwLnUzMigpID49ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAx
MikpICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDU3CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX18yOThfaW1wbF9fb3BTd2l0Y2hDaGFyRmFsbFRocm91Z2g7CiAgICB0MiA9ICpDQVNUPGlu
dHB0cl90Kj4odDIuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIwNTgKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHQyLmk4cCgpICsgKHQw
LmkoKSA8PCAyKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA1OQogICAg
aWYgKHQxLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDYwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yOThfaW1w
bF9fb3BTd2l0Y2hDaGFyRmFsbFRocm91Z2g7CiAgICBwYyA9IHBjLmkoKSArIHQxLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkp
OyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigm
Z19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yOThfaW1wbF9fb3BTd2l0
Y2hDaGFyRmFsbFRocm91Z2gpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDcKICAgIGlmICh0MC5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQwMwogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9faW1wbF9fanVtcF9fMjk4X2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0Owog
ICAgcGMgPSBwYy5pKCkgKyB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9faW1wbF9fanVtcF9fMjk4X2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0
KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFj
a1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxs
aW50X3Nsb3dfcGF0aF9vdXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAgIGRl
Y29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yOThfaW1wbF9fb3BTd2l0Y2hPblJvcGUpCiAgICBp
ZiAoKkNBU1Q8aW50MzJfdCo+KHQxLmk4cCgpICsgMTYpICE9IGludDMyX3QoMHgxKSkgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNjcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI5OF9pbXBs
X19vcFN3aXRjaENoYXJGYWxsVGhyb3VnaDsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fMjk4X2ltcGxfX29wU3dpdGNoT25Sb3BlQ2hhcikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAg
ICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAg
IFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfc3dpdGNoX2NoYXIo
dDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAg
cGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9zd2l0Y2hfY2hhcl93aWRl
MzIpCiAgICB0MiA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQzID0g
KkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIGlmICh0Mi5pKCkgPj0gaW50
cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18yOThfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18yOThfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMjk4X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MiA9IHQyLmko
KSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAo
dDIuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMjk4X2xvYWRfX2RvbmUpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjIwMzkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDI1Nik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA0MAogICAgdDMgPSAodWludDMy
X3QpKHQzLmkzMigpICogaW50MzJfdCgweDE4KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyMDQxCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAx
Nik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNDIKICAg
IHQyID0gdDIuaSgpICsgdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA0MwogICAgaWYgKCh0MS5pNjQoKSAmIG5vdENl
bGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToyMDQ0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yOTlfaW1wbF9fb3BTd2l0Y2hDaGFyRmFsbFRo
cm91Z2g7CiAgICBpZiAoKkNBU1Q8aW50OF90Kj4odDEuaThwKCkgKyA1KSAhPSBpbnQ4X3QoMHgx
KSkgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNDUKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzI5OV9pbXBsX19vcFN3aXRjaENoYXJGYWxsVGhyb3VnaDsKICAgIHQwID0gKkNBU1Q8aW50
cHRyX3QqPih0MS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjA0NgogICAgaWYgKCh0MC5pKCkgJiBpbnRwdHJfdCgweDEpKSAhPSAwKSAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDQ3CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX18yOTlfaW1wbF9fb3BTd2l0Y2hPblJvcGU7CiAgICBpZiAoKkNBU1Q8aW50
MzJfdCo+KHQwLmk4cCgpICsgNCkgIT0gaW50MzJfdCgweDEpKSAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIwNDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI5OV9pbXBsX19vcFN3aXRjaENo
YXJGYWxsVGhyb3VnaDsKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDgpOyAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA0OQogICAgaWYg
KCgqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAxNikgJiBpbnQzMl90KDB4NCkpICE9IDApIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA1MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjk5X2ltcGxf
X29wU3dpdGNoQ2hhcjhCaXQ7CiAgICB0MCA9ICpDQVNUPHVpbnQxNl90Kj4odDEuaThwKCkpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNTEKICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fMjk5X2ltcGxfX29wU3dpdGNoQ2hhclJlYWR5OyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjIwNTIKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjk5X2ltcGxf
X29wU3dpdGNoQ2hhcjhCaXQpCiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPih0MS5pOHAoKSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNTQKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMjk5X2ltcGxfX29wU3dpdGNoQ2hhclJlYWR5
KQogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpIC0gKkNBU1Q8aW50MzJfdCo+KHQyLmk4cCgp
ICsgMTYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDU2CiAgICBpZiAodDAudTMyKCkg
Pj0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDEyKSkgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIwNTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI5OV9pbXBsX19vcFN3aXRjaENo
YXJGYWxsVGhyb3VnaDsKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA1OAogICAgdDEg
PSAqQ0FTVDxpbnQzMl90Kj4odDIuaThwKCkgKyAodDAuaSgpIDw8IDIpKTsgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDU5CiAgICBpZiAodDEuaTMyKCkgPT0gMCkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjIwNjAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI5OV9pbXBsX19vcFN3aXRjaENoYXJGYWxsVGhyb3Vn
aDsKICAgIHBjID0gcGMuaSgpICsgdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzI5OV9pbXBsX19vcFN3aXRjaENoYXJGYWxsVGhyb3VnaCkKICAgIHQw
ID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQwLmkzMigpID09
IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX18yOTlfanVtcEltcGxf
X291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX18yOTlfanVtcElt
cGxfX291dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNs
b29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFy
Z2V0KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0K
ICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8
dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzI5OV9pbXBs
X19vcFN3aXRjaE9uUm9wZSkKICAgIGlmICgqQ0FTVDxpbnQzMl90Kj4odDEuaThwKCkgKyAxNikg
IT0gaW50MzJfdCgweDEpKSAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA2NwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fMjk5X2ltcGxfX29wU3dpdGNoQ2hhckZhbGxUaHJvdWdoOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18yOTlfaW1wbF9fb3BTd2l0Y2hPblJvcGVDaGFyKQog
ICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1Bv
aW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50
X3Nsb3dfcGF0aF9zd2l0Y2hfY2hhcih0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1
bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAg
cGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xB
QkVMKG9wX3JldCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNzIKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEyNzMKICAgICAgICBpbnQzMl90IHRlbXAgPSAqQ0FTVDxpbnQzMl90
Kj4odDAuaThwKCkgKyAyMDApICsgaW50MzJfdCgweGEpOwogICAgICAgICpDQVNUPGludDMyX3Qq
Pih0MC5pOHAoKSArIDIwMCkgPSB0ZW1wOwogICAgICAgIGlmICh0ZW1wIDwgMCkKICAgICAgICAg
ICAgZ290byAgX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fY2hlY2tTd2l0
Y2hUb0pJVEZvckVwaWxvZ3VlX19jaGVja1N3aXRjaFRvSklUX19jb250aW51ZTsKICAgIH0KICAg
IHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2lu
dGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9y
ZXBsYWNlKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAg
IH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19jaGVja1N3aXRjaFRvSklURm9yRXBpbG9ndWVfX2NoZWNr
U3dpdGNoVG9KSVRfX2NvbnRpbnVlKQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX18yOTlfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNU
PGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18yOTlfbG9hZF9fZG9u
ZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMjk5X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9
ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzI5OV9sb2FkX19kb25lKQogICAgbWV0YWRhdGFUYWJsZSA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpIC0gOCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206ODM2CiAgICBzcCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo3ODcKICAgIFBPUChjZnIpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjc4OQogICAgUE9QKGxyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NzkwCiAgICBvcGNv
ZGUgPSBsci5vcGNvZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxNDg5CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF9yZXRfd2lkZTE2KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTI3MgogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI3MwogICAgICAgIGludDMyX3Qg
dGVtcCA9ICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSArIDIwMCkgKyBpbnQzMl90KDB4YSk7CiAg
ICAgICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMjAwKSA9IHRlbXA7CiAgICAgICAgaWYg
KHRlbXAgPCAwKQogICAgICAgICAgICBnb3RvICBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19jaGVja1N3aXRjaFRvSklURm9yRXBpbG9ndWVfXzI5OV9jaGVja1N3aXRjaFRv
SklUX19jb250aW51ZTsKICAgIH0KICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAg
ICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BT
dGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0
dXJuVHlwZSByZXN1bHQgPSBsbGludF9yZXBsYWNlKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19jaGVja1N3aXRj
aFRvSklURm9yRXBpbG9ndWVfXzI5OV9jaGVja1N3aXRjaFRvSklUX19jb250aW51ZSkKICAgIHQy
ID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQy
LmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMwMF9s
b2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzMwMF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMDBfbG9hZF9f
Y29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsg
KHQyLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzAwX2xvYWRf
X2RvbmUpCiAgICBtZXRhZGF0YVRhYmxlID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgLSA4
KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MzYKICAgIHNwID0gY2ZyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjc4NwogICAgUE9QKGNmcik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Nzg5CiAgICBQT1AobHIp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo3OTAKICAgIG9wY29kZSA9IGxyLm9wY29kZSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE0ODkKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3JldF93aWRl
MzIpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjcyCiAgICB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMjczCiAgICAgICAgaW50MzJfdCB0ZW1wID0gKkNBU1Q8aW50MzJfdCo+KHQwLmk4
cCgpICsgMjAwKSArIGludDMyX3QoMHhhKTsKICAgICAgICAqQ0FTVDxpbnQzMl90Kj4odDAuaThw
KCkgKyAyMDApID0gdGVtcDsKICAgICAgICBpZiAodGVtcCA8IDApCiAgICAgICAgICAgIGdvdG8g
IF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2NoZWNrU3dpdGNoVG9KSVRG
b3JFcGlsb2d1ZV9fMzAwX2NoZWNrU3dpdGNoVG9KSVRfX2NvbnRpbnVlOwogICAgfQogICAgcGMg
PSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIo
c3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3JlcGxh
Y2UodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQog
ICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX2NoZWNrU3dpdGNoVG9KSVRGb3JFcGlsb2d1ZV9fMzAwX2NoZWNr
U3dpdGNoVG9KSVRfX2NvbnRpbnVlKQogICAgdDIgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU1CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMzAxX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzAxX2xvYWRfX2RvbmU7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzMwMV9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDIgPSB0Mi5pKCkg
LSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQy
LmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMwMV9sb2FkX19kb25lKQogICAg
bWV0YWRhdGFUYWJsZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpIC0gOCk7ICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206ODM2CiAgICBzcCA9IGNmci5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo3
ODcKICAgIFBPUChjZnIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjc4OQogICAgUE9QKGxyKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206NzkwCiAgICBvcGNvZGUgPSBsci5vcGNvZGUoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxNDg5CiAgICBESVNQQVRDSF9P
UENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF90b19wcmltaXRpdmUpCiAgICB0
MiA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQy
LmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMwMl9sb2FkX19jb25zdGFudDsKICAg
IHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMwMl9sb2FkX19kb25lOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMDJfbG9h
ZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDAgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgp
ICsgKHQyLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzAyX2xvYWRfX2RvbmUpCiAgICBpZiAo
KHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIxNDUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX29wVG9QcmltaXRpdmVJc0ltbTsKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDAuaThwKCkg
KyA1KSA+PSB1aW50OF90KDB4MTYpKSAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjE0
NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fb3BUb1ByaW1pdGl2ZVNsb3dDYXNl
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19vcFRvUHJp
bWl0aXZlSXNJbW0pCiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChp
bnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fb3BUb1ByaW1pdGl2
ZVNsb3dDYXNlKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2Zy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1
cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IHNsb3dfcGF0aF90b19wcmltaXRpdmUodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3RvX3ByaW1pdGl2
ZV93aWRlMTYpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDcKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMDNfbG9h
ZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgp
IDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMDNf
bG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMzAzX2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODEKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MCA9ICpDQVNUPGlu
dDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMwM19sb2Fk
X19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTQ1CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fXzMwM19mbl9fb3BUb1ByaW1pdGl2ZUlzSW1tOwogICAgaWYgKCpDQVNU
PHVpbnQ4X3QqPih0MC5pOHAoKSArIDUpID49IHVpbnQ4X3QoMHgxNikpICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMTQ2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzMwM19m
bl9fb3BUb1ByaW1pdGl2ZVNsb3dDYXNlOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fXzMwM19mbl9fb3BUb1ByaW1pdGl2ZUlzSW1tKQogICAgdDIgPSB0MC5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAz
KSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fXzMwM19mbl9fb3BUb1ByaW1pdGl2ZVNsb3dDYXNlKQogICAgcGMgPSBwYy5p
KCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAg
ICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAo
KSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF90b19wcmlt
aXRpdmUodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAg
fQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX3RvX3ByaW1pdGl2ZV93aWRlMzIpCiAgICB0MiA9ICpDQVNU
PGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3Qo
MHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18zMDRfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18zMDRfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzA0X2xvYWRfX2NvbnN0YW50KQogICAg
dDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0
MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDg4CiAgICB0MiA9IHQyLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDAgPSAqQ0FTVDxp
bnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzA0X2xvYWRfX2RvbmUp
CiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxNDUKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fMzA0X2ZuX19vcFRvUHJpbWl0aXZlSXNJbW07CiAgICBpZiAoKkNBU1Q8dWludDhf
dCo+KHQwLmk4cCgpICsgNSkgPj0gdWludDhfdCgweDE2KSkgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjIxNDYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMzA0X2ZuX19vcFRv
UHJpbWl0aXZlU2xvd0Nhc2U7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fMzA0X2ZuX19vcFRvUHJpbWl0aXZlSXNJbW0pCiAgICB0MiA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjYwCiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAg
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMzA0
X2ZuX19vcFRvUHJpbWl0aXZlU2xvd0Nhc2UpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAg
IGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93
UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3RvX3ByaW1pdGl2ZSh0MCwgdDEpOwog
ICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFC
RUwob3BfdG9fcHJvcGVydHlfa2V5KQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18zMDVfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
MAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18zMDVfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzA1X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0
NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0
MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgt
MTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzMwNV9sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgp
KSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTYwCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19vcFRvUHJvcGVydHlLZXlTbG93OwogICAg
aWYgKCpDQVNUPGludDhfdCo+KHQwLmk4cCgpICsgNSkgPT0gaW50OF90KDB4MykpICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTYxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fXzMwNV9mbl9fZG9uZTsKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0MC5pOHAoKSArIDUpICE9
IGludDhfdCgweDEpKSAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjE2MgogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fb3BUb1Byb3BlcnR5S2V5U2xvdzsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX18zMDVfZm5fX2RvbmUpCiAgICB0
MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2Mgog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fb3BUb1Byb3BlcnR5S2V5U2xvdykKICAgIHBjID0g
cGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNw
LnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfdG9f
cHJvcGVydHlfa2V5KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQx
KTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmko
KSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDMpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0
MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2Rl
TWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsK
Ck9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF90b19wcm9wZXJ0eV9rZXlfd2lkZTE2KQogICAg
dDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAo
dDIuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzA2X2xvYWRfX2NvbnN0YW50Owog
ICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzA2X2xvYWRfX2RvbmU7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMwNl9s
b2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MCA9
ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThw
KCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMDZfbG9hZF9fZG9uZSkKICAgIGlm
ICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjE2MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X18zMDZfZm5fX29wVG9Qcm9wZXJ0eUtleVNsb3c7CiAgICBpZiAoKkNBU1Q8aW50OF90Kj4odDAu
aThwKCkgKyA1KSA9PSBpbnQ4X3QoMHgzKSkgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjIxNjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMzA2X2ZuX19kb25lOwogICAg
aWYgKCpDQVNUPGludDhfdCo+KHQwLmk4cCgpICsgNSkgIT0gaW50OF90KDB4MSkpICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTYyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fXzMwNl9mbl9fb3BUb1Byb3BlcnR5S2V5U2xvdzsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX18zMDZfZm5fX2RvbmUpCiAgICB0MiA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQy
Lmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fMzA2X2ZuX19vcFRvUHJvcGVydHlLZXlTbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBj
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcK
ICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF90b19wcm9wZXJ0eV9rZXko
dDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAg
cGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX3RvX3Byb3BlcnR5X2tleV93aWRlMzIpCiAgICB0MiA9ICpDQVNUPGlu
dDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHg0
MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18zMDdfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18zMDdfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzA3X2xvYWRfX2NvbnN0YW50KQogICAgdDAg
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5p
OHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDg4CiAgICB0MiA9IHQyLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDAgPSAqQ0FTVDxpbnQ2
NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzA3X2xvYWRfX2RvbmUpCiAg
ICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxNjAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fMzA3X2ZuX19vcFRvUHJvcGVydHlLZXlTbG93OwogICAgaWYgKCpDQVNUPGludDhfdCo+
KHQwLmk4cCgpICsgNSkgPT0gaW50OF90KDB4MykpICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyMTYxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzMwN19mbl9fZG9uZTsK
ICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0MC5pOHAoKSArIDUpICE9IGludDhfdCgweDEpKSAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjE2MgogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX18zMDdfZm5fX29wVG9Qcm9wZXJ0eUtleVNsb3c7CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fMzA3X2ZuX19kb25lKQogICAgdDIgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MAogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1
CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQo
KTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
XzMwN19mbl9fb3BUb1Byb3BlcnR5S2V5U2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAg
ICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNs
b3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfdG9fcHJvcGVydHlfa2V5KHQwLCB0
MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0g
dDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF9jYXRjaCkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAy
NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjE3OQogICAg
aWYgKCh0My5pKCkgJiBpbnRwdHJfdCgweDgpKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTMzMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29t
bW9uT3BfX2ZuX18zMDdfY29udmVydENhbGxlZVRvVk1fX3ByZWNpc2VBbGxvY2F0aW9uOwogICAg
dDMgPSB0My5pKCkgJiBpbnRwdHJfdCgtNjU1MzYpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTMzNAogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQz
Lmk4cCgpICsgNjQ0NzIpOyAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTMzNQogICAgZ290byBfb2ZmbGluZWFzbV9jb21tb25PcF9fZm5fXzMwN19jb252ZXJ0Q2FsbGVl
VG9WTV9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTMzNgoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21tb25PcF9fZm5fXzMwN19jb252ZXJ0Q2FsbGVlVG9W
TV9fcHJlY2lzZUFsbG9jYXRpb24pCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkg
LSAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzM4Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbW1vbk9wX19mbl9fMzA3X2Nv
bnZlcnRDYWxsZWVUb1ZNX19kb25lKQogICAgY2ZyID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAo
KSArIDExOTYyNCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTgy
CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTE5NjI0KSA9IGludHB0cl90KDB4MCk7
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxODMKICAgIHQyID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDIwKTsgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQogICAgdDIgPSB0Mi5p
KCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6
IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDIgPSB0Mi5pKCkgKyBp
bnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIuaSgpIC0gdDIuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAxMQogICAgcGNCYXNl
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyMTg2CiAgICBtZXRhZGF0YVRhYmxlID0gKkNBU1Q8aW50cHRy
X3QqPihwY0Jhc2UuaThwKCkgKyAyMzIpOyAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIx
ODcKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjE4OAogICAgcGMgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQzLmk4cCgpICsgMTE5NjQwKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyMTg5CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxOTAKICAgIHBj
ID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVy
KHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93
X3BhdGhfY2hlY2tfaWZfZXhjZXB0aW9uX2lzX3VuY2F0Y2hhYmxlX2FuZF9ub3RpZnlfcHJvZmls
ZXIodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQog
ICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ5CiAgICBpZiAodDEuaSgpID09IGludHB0cl90KDB4MCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxOTMKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2NvbW1vbk9wX19mbl9faXNDYXRjaGFibGVFeGNlcHRpb247CiAgICBnb3Rv
IGxsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmU7ICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIxOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fY29tbW9uT3BfX2ZuX19pc0NhdGNoYWJsZUV4Y2VwdGlvbikKICAgIHQzID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjE5NwogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgp
ICsgODApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTk4
CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyAxMjAxMzYpOyAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIyMDAKICAgICpDQVNUPGludHB0cl90Kj4o
dDMuaThwKCkgKyAxMjAxMzYpID0gaW50cHRyX3QoMHgwKTsgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjIwMQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKSA9
IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjIwMwogICAgdDMgPSAqQ0FT
VDxpbnQ2NF90Kj4odDAuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMjA1CiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkg
PDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjA3CiAgICBw
YyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRl
cihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xv
d19wYXRoX3Byb2ZpbGVfY2F0Y2godDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0
LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBj
ID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4
NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkp
OyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigm
Z19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NhdGNoX3dpZGUxNikKICAgIHQz
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAyNCk7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjE3OQogICAgaWYgKCh0My5pKCkgJiBpbnRwdHJfdCgw
eDgpKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTMzMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tbW9uT3BfX2ZuX18zMDhfY29udmVydENh
bGxlZVRvVk1fX3ByZWNpc2VBbGxvY2F0aW9uOwogICAgdDMgPSB0My5pKCkgJiBpbnRwdHJfdCgt
NjU1MzYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTMzNAogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgNjQ0NzIpOyAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTMzNQogICAgZ290byBfb2ZmbGluZWFz
bV9jb21tb25PcF9fZm5fXzMwOF9jb252ZXJ0Q2FsbGVlVG9WTV9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTMzNgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9j
b21tb25PcF9fZm5fXzMwOF9jb252ZXJ0Q2FsbGVlVG9WTV9fcHJlY2lzZUFsbG9jYXRpb24pCiAg
ICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgLSAxNik7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzM4CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2NvbW1vbk9wX19mbl9fMzA4X2NvbnZlcnRDYWxsZWVUb1ZNX19kb25lKQog
ICAgY2ZyID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDExOTYyNCk7ICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTgyCiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQz
Lmk4cCgpICsgMTE5NjI0KSA9IGludHB0cl90KDB4MCk7ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIxODMKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNB
U1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDIwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjk5OQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MykgJiAo
KHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTAwMAogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMQogICAgc3AgPSBj
ZnIuaSgpIC0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTAxMQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTg2
CiAgICBtZXRhZGF0YVRhYmxlID0gKkNBU1Q8aW50cHRyX3QqPihwY0Jhc2UuaThwKCkgKyAyMzIp
OyAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxODcKICAgIHBjQmFzZSA9ICpDQVNUPGlu
dHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjE4OAogICAgcGMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTE5NjQw
KTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTg5CiAgICBwYyA9
IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIxOTAKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAg
Y2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfY2hlY2tfaWZfZXhjZXB0aW9u
X2lzX3VuY2F0Y2hhYmxlX2FuZF9ub3RpZnlfcHJvZmlsZXIodDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBpZiAodDEuaSgp
ID09IGludHB0cl90KDB4MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjIxOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbW1vbk9wX18z
MDhfZm5fX2lzQ2F0Y2hhYmxlRXhjZXB0aW9uOwogICAgZ290byBsbGludF90aHJvd19mcm9tX3Ns
b3dfcGF0aF90cmFtcG9saW5lOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyMTk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbW1vbk9wX18z
MDhfZm5fX2lzQ2F0Y2hhYmxlRXhjZXB0aW9uKQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyMTk3CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA4MCk7ICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxOTgKICAgIHQwID0gKkNBU1Q8
aW50cHRyX3QqPih0My5pOHAoKSArIDEyMDEzNik7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjIwMAogICAgKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDEyMDEz
NikgPSBpbnRwdHJfdCgweDApOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjAxCiAg
ICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjIwMwogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4odDAu
aThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyMjA1CiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKSA9IHQzLmk2
NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjIwNwogICAgcGMgPSBwYy5pKCkgKyBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9
IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9wcm9maWxl
X2NhdGNoKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAg
IH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJ
TkVfQVNNX09QQ09ERV9MQUJFTChvcF9jYXRjaF93aWRlMzIpCiAgICB0MyA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMjQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjIxNzkKICAgIGlmICgodDMuaSgpICYgaW50cHRyX3QoMHg4KSkgIT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzMzMKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2NvbW1vbk9wX19mbl9fMzA5X2NvbnZlcnRDYWxsZWVUb1ZNX19wcmVj
aXNlQWxsb2NhdGlvbjsKICAgIHQzID0gdDMuaSgpICYgaW50cHRyX3QoLTY1NTM2KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzMzQKICAgIHQzID0g
KkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDY0NDcyKTsgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjEzMzUKICAgIGdvdG8gX29mZmxpbmVhc21fY29tbW9uT3BfX2Zu
X18zMDlfY29udmVydENhbGxlZVRvVk1fX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEz
MzYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tbW9uT3BfX2ZuX18z
MDlfY29udmVydENhbGxlZVRvVk1fX3ByZWNpc2VBbGxvY2F0aW9uKQogICAgdDMgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQzLmk4cCgpIC0gMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTMzOAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9j
b21tb25PcF9fZm5fXzMwOV9jb252ZXJ0Q2FsbGVlVG9WTV9fZG9uZSkKICAgIGNmciA9ICpDQVNU
PGludHB0cl90Kj4odDMuaThwKCkgKyAxMTk2MjQpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjE4MgogICAgKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDExOTYy
NCkgPSBpbnRwdHJfdCgweDApOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTgzCiAg
ICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4o
dDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0
cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAK
ICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEwMTEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjE4NgogICAgbWV0YWRhdGFU
YWJsZSA9ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgMjMyKTsgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMTg3CiAgICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJfdCo+KHBjQmFz
ZS5pOHAoKSArIDg4KTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxODgK
ICAgIHBjID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDExOTY0MCk7ICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjE4OQogICAgcGMgPSBwYy5pKCkgLSBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyMTkwCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2NoZWNrX2lmX2V4Y2VwdGlvbl9pc191bmNhdGNoYWJs
ZV9hbmRfbm90aWZ5X3Byb2ZpbGVyKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBw
YyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgaWYgKHQxLmkoKSA9PSBpbnRwdHJfdCgw
eDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyMTkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21tb25PcF9fMzA5X2ZuX19pc0NhdGNo
YWJsZUV4Y2VwdGlvbjsKICAgIGdvdG8gbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBv
bGluZTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjE5NAoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21tb25PcF9fMzA5X2ZuX19pc0NhdGNo
YWJsZUV4Y2VwdGlvbikKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjE5NwogICAgdDMg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgODApOyAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTk4CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDMu
aThwKCkgKyAxMjAxMzYpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjIyMDAKICAgICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyAxMjAxMzYpID0gaW50cHRyX3Qo
MHgwKTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjIwMQogICAgdDIgPSAqQ0FTVDxp
bnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQyLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjIyMDMKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgOCk7ICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjIwNQogICAgdDIgPSAqQ0FTVDxp
bnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQyLmkoKSA8PCAzKSkgPSB0My5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjIyMDcKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50
U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQg
PSBsbGludF9zbG93X3BhdGhfcHJvZmlsZV9jYXRjaCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJl
c3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZW5kKQogICAg
dDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI3MgogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTI3MwogICAgICAgIGludDMyX3QgdGVtcCA9ICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSArIDIw
MCkgKyBpbnQzMl90KDB4YSk7CiAgICAgICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMjAw
KSA9IHRlbXA7CiAgICAgICAgaWYgKHRlbXAgPCAwKQogICAgICAgICAgICBnb3RvICBfb2ZmbGlu
ZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19jaGVja1N3aXRjaFRvSklURm9yRXBpbG9n
dWVfXzMwOV9jaGVja1N3aXRjaFRvSklUX19jb250aW51ZTsKICAgIH0KICAgIHBjID0gcGMuaSgp
ICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAg
dDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkp
OwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9yZXBsYWNlKHQwLCB0
MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0g
dDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19jaGVja1N3aXRjaFRvSklURm9yRXBpbG9ndWVfXzMwOV9jaGVja1N3aXRjaFRv
SklUX19jb250aW51ZSkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIyMjEKICAgIG1ldGFkYXRh
VGFibGUgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAtIDgpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjgzNgogICAgc3AgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Nzg3CiAgICBQ
T1AoY2ZyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo3ODkKICAgIFBPUChscik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjc5
MAogICAgb3Bjb2RlID0gbHIub3Bjb2RlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTQ4OQogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZW5kX3dpZGUxNikKICAgIHQwID0gKkNBU1Q8
aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEyNzIKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNzMKICAgICAg
ICBpbnQzMl90IHRlbXAgPSAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAyMDApICsgaW50MzJf
dCgweGEpOwogICAgICAgICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSArIDIwMCkgPSB0ZW1wOwog
ICAgICAgIGlmICh0ZW1wIDwgMCkKICAgICAgICAgICAgZ290byAgX29mZmxpbmVhc21fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fY2hlY2tTd2l0Y2hUb0pJVEZvckVwaWxvZ3VlX18zMTBfY2hl
Y2tTd2l0Y2hUb0pJVF9fY29udGludWU7CiAgICB9CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAg
ICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBT
bG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfcmVwbGFjZSh0MCwgdDEpOwogICAgICAg
IGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
Y2hlY2tTd2l0Y2hUb0pJVEZvckVwaWxvZ3VlX18zMTBfY2hlY2tTd2l0Y2hUb0pJVF9fY29udGlu
dWUpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcK
ICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjIyMQogICAgbWV0YWRhdGFUYWJsZSA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpIC0gOCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206ODM2CiAgICBzcCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo3ODcKICAgIFBPUChjZnIpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjc4OQogICAgUE9QKGxyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NzkwCiAgICBvcGNv
ZGUgPSBsci5vcGNvZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxNDg5CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF9lbmRfd2lkZTMyKQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTI3MgogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI3MwogICAgICAgIGludDMyX3Qg
dGVtcCA9ICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSArIDIwMCkgKyBpbnQzMl90KDB4YSk7CiAg
ICAgICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMjAwKSA9IHRlbXA7CiAgICAgICAgaWYg
KHRlbXAgPCAwKQogICAgICAgICAgICBnb3RvICBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19jaGVja1N3aXRjaFRvSklURm9yRXBpbG9ndWVfXzMxMV9jaGVja1N3aXRjaFRv
SklUX19jb250aW51ZTsKICAgIH0KICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAg
ICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BT
dGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0
dXJuVHlwZSByZXN1bHQgPSBsbGludF9yZXBsYWNlKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19jaGVja1N3aXRj
aFRvSklURm9yRXBpbG9ndWVfXzMxMV9jaGVja1N3aXRjaFRvSklUX19jb250aW51ZSkKICAgIHQw
ID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDAgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyMjIxCiAgICBtZXRhZGF0YVRhYmxlID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgLSA4KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MzYKICAgIHNwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjc4NwogICAgUE9QKGNmcik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Nzg5CiAg
ICBQT1AobHIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo3OTAKICAgIG9wY29kZSA9IGxyLm9wY29kZSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjE0ODkKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGlu
dF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lKQogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAoKSArIDI0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyMjI3CiAgICBpZiAoKHQxLmkoKSAmIGludHB0cl90KDB4OCkpICE9IDApICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzMzCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fXzMxMV9jb252ZXJ0
Q2FsbGVlVG9WTV9fcHJlY2lzZUFsbG9jYXRpb247CiAgICB0MSA9IHQxLmkoKSAmIGludHB0cl90
KC02NTUzNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMzM0CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyA2NDQ3Mik7ICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzM1CiAgICBnb3RvIF9vZmZsaW5l
YXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fMzExX2NvbnZlcnRDYWxsZWVUb1ZN
X19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMzM2CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fMzExX2Nv
bnZlcnRDYWxsZWVUb1ZNX19wcmVjaXNlQWxsb2NhdGlvbikKICAgIHQxID0gKkNBU1Q8aW50cHRy
X3QqPih0MS5pOHAoKSAtIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEzMzgKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BfX2Nv
bW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX18zMTFfY29udmVydENhbGxlZVRvVk1fX2RvbmUpCiAg
ICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRf
c2xvd19wYXRoX2hhbmRsZV9leGNlcHRpb24odDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgK
ICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MSA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgMjQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIyMzYKICAgIGlmICgodDEuaSgpICYgaW50cHRyX3QoMHg4KSkgIT0gMCkgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzMzMKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fMzEyX2NvbnZlcnRD
YWxsZWVUb1ZNX19wcmVjaXNlQWxsb2NhdGlvbjsKICAgIHQxID0gdDEuaSgpICYgaW50cHRyX3Qo
LTY1NTM2KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEzMzQKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDY0NDcyKTsgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzMzUKICAgIGdvdG8gX29mZmxpbmVh
c21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX18zMTJfY29udmVydENhbGxlZVRvVk1f
X2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEzMzYKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX18zMTJfY29u
dmVydENhbGxlZVRvVk1fX3ByZWNpc2VBbGxvY2F0aW9uKQogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQxLmk4cCgpIC0gMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTMzOAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcF9fY29t
bW9uT3BfX2ZuX19zaXplX19rX19nZW5fXzMxMl9jb252ZXJ0Q2FsbGVlVG9WTV9fZG9uZSkKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgMTE5NjMyKTsgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjIzOAogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xp
bmVfd2lkZTE2KQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF90aHJvd19mcm9tX3Nsb3df
cGF0aF90cmFtcG9saW5lX3dpZGUzMikKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfdGhy
b3dfZHVyaW5nX2NhbGxfdHJhbXBvbGluZSkKICAgIHQyID0gbHIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk2
MgogICAgZ290byBsbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lOyAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjQ0CgpPRkZMSU5FX0FTTV9HTFVFX0xB
QkVMKGxsaW50X3Rocm93X2R1cmluZ19jYWxsX3RyYW1wb2xpbmVfd2lkZTE2KQoKT0ZGTElORV9B
U01fR0xVRV9MQUJFTChsbGludF90aHJvd19kdXJpbmdfY2FsbF90cmFtcG9saW5lX3dpZGUzMikK
Ck9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9yZXNvbHZlX3Njb3BlKQogICAgdDUgPSAqQ0FT
VDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA5OCk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRh
ZGF0YV9fMzEyX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWludDMyX3Qq
PihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMzE2KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzMxMl9tZXRhZGF0YV9fc2V0VXBPZmZz
ZXQpCiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzUKICAgIHQwID0g
KHVpbnQzMl90KSh0MC5pMzIoKSAqIGludDMyX3QoMHgxMCkpOyAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3QpKHQ1LmkzMigpICsgdDAu
aTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAg
ICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPih0
NS5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjM2NwogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHgwKSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzcwCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fckdsb2JhbFZhcjsK
ICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzOQogICAgdDIgPSAqQ0FTVDx1aW50MzJf
dCo+KHQ1Lmk4cCgpICsgNCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyMzQ4CiAgICBpZiAoKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMTkxNikgIT0g
dDIuaTMyKCkpICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzNDkKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19yRHluYW1p
YzsKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNB
U1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4
cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nyk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fckdsb2JhbFZhcikKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4MSkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjM3NgogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3JHbG9i
YWxMZXhpY2FsVmFyOwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgOCk7ICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzM5CiAgICB0MiA9
IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5p
KCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAg
cGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDcpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3JHbG9iYWxM
ZXhpY2FsVmFyKQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHgyKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzgwCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fckNsb3N1cmVW
YXI7CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyA4KTsgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzkKICAgIHQyID0gdDAuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkg
PSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmko
KSArIGludHB0cl90KDB4Nyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEg
PSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fckNsb3N1cmVWYXIpCiAgICBp
ZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDMpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzODQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19yTW9kdWxlVmFyOwogICAgdDIgPSAqQ0FT
VDx1aW50MzJfdCo+KHQ1Lmk4cCgpICsgNCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMzUzCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozOQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzU1CiAgICBp
ZiAodDIuaTMyKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzNTYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19yZXNvbHZlU2NvcGVfX3Jlc29sdmVTY29w
ZUxvb3BFbmQ7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19yZXNvbHZlU2NvcGVfX3Jlc29sdmVTY29wZUxvb3Ap
CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzNTkKICAgIHQyID0gKHVpbnQzMl90KSh0
Mi5pMzIoKSAtIGludDMyX3QoMHgxKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjM2MAogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzYxCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcmVzb2x2
ZVNjb3BlX19yZXNvbHZlU2NvcGVMb29wOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcmVzb2x2ZVNjb3BlX19y
ZXNvbHZlU2NvcGVMb29wRW5kKQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAg
dDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpDQVNU
PGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg3KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAog
ICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29w
Y29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19yTW9kdWxlVmFyKQogICAgaWYgKHQwLmkzMigpICE9IGludDMy
X3QoMHg1KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToyMzg4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fckdsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNrczsKICAgIHQw
ID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzOQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkK
ICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgp
OyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHg3KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19yR2xvYmFsUHJvcGVydHlXaXRoVmFySW5qZWN0
aW9uQ2hlY2tzKQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHg2KSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzkyCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fckdsb2JhbFZh
cldpdGhWYXJJbmplY3Rpb25DaGVja3M7CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIz
MjkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDgpOyAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzMAogICAgdDIgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQyLmk4cCgpICsgMTU5Mik7ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyMzMxCiAgICBpZiAoKkNBU1Q8aW50OF90Kj4odDIuaThwKCkgKyA0KSA9PSBp
bnQ4X3QoMHgyKSkgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzIKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19yRHlu
YW1pYzsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDgpOyAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzOQogICAgdDIgPSAqQ0FTVDx1
aW50MzJfdCo+KHQ1Lmk4cCgpICsgNCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyMzQ4CiAgICBpZiAoKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMTkx
NikgIT0gdDIuaTMyKCkpICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzNDkKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19y
RHluYW1pYzsKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0
X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nyk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fckdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MpCiAgICBpZiAodDAuaTMy
KCkgIT0gaW50MzJfdCgweDcpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjIzOTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19yR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25D
aGVja3M7CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMjkKICAgIHQyID0gKkNBU1Q8
aW50cHRyX3QqPih0Mi5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjMzMAogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsg
MTU5Mik7ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMxCiAg
ICBpZiAoKkNBU1Q8aW50OF90Kj4odDIuaThwKCkgKyA0KSA9PSBpbnQ4X3QoMHgyKSkgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19yRHluYW1pYzsKICAgIHQwID0gKkNB
U1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjMzOQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAog
ICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg3
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19yR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25D
aGVja3MpCiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDgpKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0MDQKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19yQ2xvc3VyZVZhcldp
dGhWYXJJbmplY3Rpb25DaGVja3M7CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMjkK
ICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzMAogICAgdDIgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQyLmk4cCgpICsgMTU5Mik7ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyMzMxCiAgICBpZiAoKkNBU1Q8aW50OF90Kj4odDIuaThwKCkgKyA0KSA9PSBpbnQ4
X3QoMHgyKSkgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzIKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19yRHluYW1p
YzsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDgpOyAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzOQogICAgdDIgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9
IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHg3KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19yQ2xvc3VyZVZhcldpdGhWYXJJ
bmplY3Rpb25DaGVja3MpCiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDkpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0MDkKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19yRHlu
YW1pYzsKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMyOQogICAgdDIgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQyLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyMzMwCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAx
NTkyKTsgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzEKICAg
IGlmICgqQ0FTVDxpbnQ4X3QqPih0Mi5pOHAoKSArIDQpID09IGludDhfdCgweDIpKSAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3JEeW5hbWljOwogICAgdDIgPSAqQ0FT
VDx1aW50MzJfdCo+KHQ1Lmk4cCgpICsgNCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMzUzCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozOQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzU1CiAgICBp
ZiAodDIuaTMyKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzNTYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zMTJfcmVzb2x2ZVNjb3BlX19yZXNvbHZl
U2NvcGVMb29wRW5kOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzEyX3Jlc29sdmVTY29wZV9fcmVzb2x2ZVNj
b3BlTG9vcCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjM1OQogICAgdDIgPSAodWlu
dDMyX3QpKHQyLmkzMigpIC0gaW50MzJfdCgweDEpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMzYwCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzNjEK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X18zMTJfcmVzb2x2ZVNjb3BlX19yZXNvbHZlU2NvcGVMb29wOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzEy
X3Jlc29sdmVTY29wZV9fcmVzb2x2ZVNjb3BlTG9vcEVuZCkKICAgIHQyID0gdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0
Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSAr
IGludHB0cl90KDB4Nyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fckR5bmFtaWMpCiAgICBwYyA9IHBj
LmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQK
ICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52
cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3Jlc29s
dmVfc2NvcGUodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwog
ICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0g
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3Jlc29sdmVfc2NvcGVfd2lkZTE2KQogICAgdDUgPSAq
Q0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA5OCk7ICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19t
ZXRhZGF0YV9fMzEzX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWludDMy
X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMzE2KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzMxM19tZXRhZGF0YV9fc2V0VXBP
ZmZzZXQpCiAgICB0MCA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4YykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0
MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgKiBpbnQzMl90KDB4MTApKTsgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5pMzIoKSAr
IHQwLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
OAogICAgdDUgPSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MCA9ICpDQVNUPHVpbnQzMl90
Kj4odDUuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIzNjcKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4MCkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjM3MAogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzE0X2ZuX19yR2xv
YmFsVmFyOwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgOCk7ICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzM5CiAgICB0MiA9ICpDQVNU
PHVpbnQzMl90Kj4odDUuaThwKCkgKyA0KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjIzNDgKICAgIGlmICgqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAx
OTE2KSAhPSB0Mi5pMzIoKSkgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjM0OQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzE0
X2ZuX19yRHluYW1pYzsKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0g
KGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0
MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2Rl
TWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fMzE0X2ZuX19yR2xvYmFsVmFyKQogICAgaWYgKHQwLmkzMigpICE9IGludDMy
X3QoMHgxKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToyMzc2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX18zMTRfZm5fX3JHbG9iYWxMZXhpY2FsVmFyOwogICAgdDAgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQ1Lmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyMzM5CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChp
bnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzMxNF9mbl9fckdsb2JhbExleGljYWxWYXIpCiAgICBpZiAodDAuaTMyKCkgIT0g
aW50MzJfdCgweDIpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjIzODAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzMxNF9mbl9fckNsb3N1cmVWYXI7CiAgICB0MCA9ICpDQVNUPGludHB0cl90
Kj4odDUuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIzMzkKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGlu
dDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fMzE0X2ZuX19yQ2xvc3VyZVZhcikKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90
KDB4MykpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjM4NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fMzE0X2ZuX19yTW9kdWxlVmFyOwogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQ1Lmk4
cCgpICsgNCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
MzUzCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcK
ICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjM1NQogICAgaWYgKHQyLmkzMigpID09IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyMzU2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fMzEzX3Jlc29sdmVTY29wZV9fcmVzb2x2ZVNjb3BlTG9vcEVuZDsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzMxM19yZXNvbHZlU2NvcGVfX3Jlc29sdmVTY29wZUxvb3ApCiAgICB0MCA9
ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIzNTkKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAt
IGludDMyX3QoMHgxKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjM2MAogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzYxCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzEzX3Jlc29sdmVTY29w
ZV9fcmVzb2x2ZVNjb3BlTG9vcDsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzMxM19yZXNvbHZlU2NvcGVfX3Jl
c29sdmVTY29wZUxvb3BFbmQpCiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0
MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNU
PGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAog
ICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29w
Y29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fXzMxNF9mbl9fck1vZHVsZVZhcikKICAgIGlmICh0MC5pMzIoKSAhPSBp
bnQzMl90KDB4NSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjM4OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fMzE0X2ZuX19yR2xvYmFsUHJvcGVydHlXaXRoVmFySW5qZWN0aW9uQ2hlY2tz
OwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgOCk7ICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzM5CiAgICB0MiA9IHQwLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9
IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzMxNF9mbl9fckdsb2JhbFByb3BlcnR5
V2l0aFZhckluamVjdGlvbkNoZWNrcykKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4Nikp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjM5
MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
MzE0X2ZuX19yR2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrczsKICAgIHQyID0gKkNBU1Q8
aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjMyOQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsg
OCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMwCiAg
ICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNTkyKTsgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzEKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0
Mi5pOHAoKSArIDQpID09IGludDhfdCgweDIpKSAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjMzMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fMzE0X2ZuX19yRHluYW1pYzsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0NS5p
OHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjMzOQogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQ1Lmk4cCgpICsgNCk7ICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzQ4CiAgICBpZiAoKkNBU1Q8aW50
MzJfdCo+KHQwLmk4cCgpICsgMTkxNikgIT0gdDIuaTMyKCkpICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIzNDkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fXzMxNF9mbl9fckR5bmFtaWM7CiAgICB0MiA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQy
Lmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzMxNF9mbl9fckdsb2JhbFZhcldpdGhWYXJJ
bmplY3Rpb25DaGVja3MpCiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDcpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzOTkKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzMxNF9mbl9f
ckdsb2JhbExleGljYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOwogICAgdDIgPSAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyMzI5CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyA4
KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzAKICAg
IHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE1OTIpOyAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzMQogICAgaWYgKCpDQVNUPGludDhfdCo+KHQy
Lmk4cCgpICsgNCkgPT0gaW50OF90KDB4MikpICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToyMzMyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX18zMTRfZm5fX3JEeW5hbWljOwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4
cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
MzM5CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpD
QVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
XzMxNF9mbl9fckdsb2JhbExleGljYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzKQogICAgaWYg
KHQwLmkzMigpICE9IGludDMyX3QoMHg4KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDA0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMTRfZm5fX3JDbG9zdXJlVmFyV2l0aFZhckluamVj
dGlvbkNoZWNrczsKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMyOQogICAgdDIgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMwCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThw
KCkgKyAxNTkyKTsgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIz
MzEKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0Mi5pOHAoKSArIDQpID09IGludDhfdCgweDIpKSAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzMgogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzE0X2ZuX19yRHluYW1pYzsKICAg
IHQwID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzOQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5p
NjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMTRfZm5fX3JDbG9zdXJlVmFyV2l0aFZhcklu
amVjdGlvbkNoZWNrcykKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4OSkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQwOQogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzE0X2ZuX19y
RHluYW1pYzsKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMyOQogICAgdDIgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMzMwCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkg
KyAxNTkyKTsgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzEK
ICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0Mi5pOHAoKSArIDQpID09IGludDhfdCgweDIpKSAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzMgogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzE0X2ZuX19yRHluYW1pYzsKICAgIHQy
ID0gKkNBU1Q8dWludDMyX3QqPih0NS5pOHAoKSArIDQpOyAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjM1MwogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQx
Nl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIz
NTUKICAgIGlmICh0Mi5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjM1NgogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzMxNF9yZXNvbHZlU2NvcGVf
X3Jlc29sdmVTY29wZUxvb3BFbmQ7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zMTRfcmVzb2x2ZVNjb3BlX19y
ZXNvbHZlU2NvcGVMb29wKQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzU5CiAgICB0
MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgLSBpbnQzMl90KDB4MSkpOyAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzNjAKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjM2MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fXzMxNF9yZXNvbHZlU2NvcGVfX3Jlc29sdmVTY29wZUxvb3A7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX18zMTRfcmVzb2x2ZVNjb3BlX19yZXNvbHZlU2NvcGVMb29wRW5kKQogICAgdDIgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8
PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMTRfZm5fX3JEeW5hbWlj
KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFj
a1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNs
b3dfcGF0aF9yZXNvbHZlX3Njb3BlKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBw
YyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgw
eGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9yZXNvbHZlX3Njb3BlX3dpZGUz
MikKICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgOTgpOyAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbWV0YWRhdGFfXzMxNF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0NSA9
ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDMxNik7ICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18zMTRfbWV0
YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDE2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTEKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAqIGludDMyX3QoMHgxMCkpOyAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMy
X3QpKHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQwID0g
KkNBU1Q8dWludDMyX3QqPih0NS5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjM2NwogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHgw
KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
MzcwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X18zMTZfZm5fX3JHbG9iYWxWYXI7CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkg
KyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzkK
ICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0NS5pOHAoKSArIDQpOyAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjM0OAogICAgaWYgKCpDQVNUPGludDMyX3Qq
Pih0MC5pOHAoKSArIDE5MTYpICE9IHQyLmkzMigpKSAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyMzQ5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX18zMTZfZm5fX3JEeW5hbWljOwogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2MAogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MWEp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX18zMTZfZm5fX3JHbG9iYWxWYXIpCiAgICBpZiAodDAuaTMyKCkgIT0g
aW50MzJfdCgweDEpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjIzNzYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzMxNl9mbl9fckdsb2JhbExleGljYWxWYXI7CiAgICB0MCA9ICpDQVNUPGlu
dHB0cl90Kj4odDUuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIzMzkKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQx
ID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDFhKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fMzE2X2ZuX19yR2xvYmFsTGV4aWNhbFZhcikKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQz
Ml90KDB4MikpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjM4MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fMzE2X2ZuX19yQ2xvc3VyZVZhcjsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0
NS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjMzOQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAqQ0FTVDxp
bnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MWEpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMTZf
Zm5fX3JDbG9zdXJlVmFyKQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHgzKSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzg0CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMTZfZm5f
X3JNb2R1bGVWYXI7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDUuaThwKCkgKyA0KTsgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzNTMKICAgIHQwID0g
KkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyMzU1CiAgICBpZiAodDIuaTMyKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzNTYKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zMTVfcmVz
b2x2ZVNjb3BlX19yZXNvbHZlU2NvcGVMb29wRW5kOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzE1X3Jlc29s
dmVTY29wZV9fcmVzb2x2ZVNjb3BlTG9vcCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5p
OHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjM1OQogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpIC0gaW50MzJfdCgweDEpKTsgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzYwCiAgICBpZiAodDIuaTMyKCkg
IT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIzNjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX18zMTVfcmVzb2x2ZVNjb3BlX19yZXNvbHZlU2NvcGVMb29wOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fMzE1X3Jlc29sdmVTY29wZV9fcmVzb2x2ZVNjb3BlTG9vcEVuZCkKICAg
IHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkg
PDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweDFhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzE2X2ZuX19yTW9kdWxl
VmFyKQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHg1KSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzg4CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMTZfZm5fX3JHbG9iYWxQcm9w
ZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3M7CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDUu
aThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjIzMzkKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50
MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDFhKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzE2X2Zu
X19yR2xvYmFsUHJvcGVydHlXaXRoVmFySW5qZWN0aW9uQ2hlY2tzKQogICAgaWYgKHQwLmkzMigp
ICE9IGludDMyX3QoMHg2KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyMzkyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX18zMTZfZm5fX3JHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tz
OwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzI5CiAgICB0MiA9ICpDQVNUPGludHB0
cl90Kj4odDIuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjIzMzAKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE1OTIp
OyAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzMQogICAgaWYg
KCpDQVNUPGludDhfdCo+KHQyLmk4cCgpICsgNCkgPT0gaW50OF90KDB4MikpICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMTZfZm5fX3JEeW5hbWljOwogICAgdDAgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMzM5CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDUuaThwKCkg
KyA0KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzNDgK
ICAgIGlmICgqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAxOTE2KSAhPSB0Mi5pMzIoKSkgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjM0OQogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzE2X2ZuX19yRHluYW1pYzsKICAgIHQy
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweDFhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzE2X2ZuX19yR2xvYmFsVmFy
V2l0aFZhckluamVjdGlvbkNoZWNrcykKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4Nykp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjM5
OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
MzE2X2ZuX19yR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M7CiAgICB0MiA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIzMjkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5p
OHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjMzMAogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTU5Mik7ICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMxCiAgICBpZiAoKkNBU1Q8aW50
OF90Kj4odDIuaThwKCkgKyA0KSA9PSBpbnQ4X3QoMHgyKSkgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIzMzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fXzMxNl9mbl9fckR5bmFtaWM7CiAgICB0MCA9ICpDQVNUPGludHB0cl90
Kj4odDUuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIzMzkKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNB
U1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDFhKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
MzE2X2ZuX19yR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MpCiAgICBpZiAo
dDAuaTMyKCkgIT0gaW50MzJfdCgweDgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjI0MDQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzMxNl9mbl9fckNsb3N1cmVWYXJXaXRoVmFySW5qZWN0
aW9uQ2hlY2tzOwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzI5CiAgICB0MiA9ICpD
QVNUPGludHB0cl90Kj4odDIuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjIzMzAKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAo
KSArIDE1OTIpOyAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMz
MQogICAgaWYgKCpDQVNUPGludDhfdCo+KHQyLmk4cCgpICsgNCkgPT0gaW50OF90KDB4MikpICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMyCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMTZfZm5fX3JEeW5hbWljOwogICAg
dDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzM5CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjYwCiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgx
YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fXzMxNl9mbl9fckNsb3N1cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hl
Y2tzKQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHg5KSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDA5CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMTZfZm5fX3JEeW5hbWljOwog
ICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzI5CiAgICB0MiA9ICpDQVNUPGludHB0cl90
Kj4odDIuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIzMzAKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE1OTIpOyAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzMQogICAgaWYgKCpD
QVNUPGludDhfdCo+KHQyLmk4cCgpICsgNCkgPT0gaW50OF90KDB4MikpICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMTZfZm5fX3JEeW5hbWljOwogICAgdDIgPSAqQ0FTVDx1
aW50MzJfdCo+KHQ1Lmk4cCgpICsgNCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyMzUzCiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTUKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjM1NQogICAgaWYgKHQyLmkzMigp
ID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyMzU2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fMzE2X3Jlc29sdmVTY29wZV9fcmVzb2x2ZVNjb3BlTG9vcEVu
ZDsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzMxNl9yZXNvbHZlU2NvcGVfX3Jlc29sdmVTY29wZUxvb3ApCiAg
ICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzNTkKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5p
MzIoKSAtIGludDMyX3QoMHgxKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjM2MAogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzYxCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzE2X3Jlc29s
dmVTY29wZV9fcmVzb2x2ZVNjb3BlTG9vcDsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzMxNl9yZXNvbHZlU2Nv
cGVfX3Jlc29sdmVTY29wZUxvb3BFbmQpCiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYw
CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxYSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzMxNl9mbl9fckR5bmFtaWMpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAg
ICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBT
bG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3Jlc29sdmVfc2NvcGUodDAsIHQx
KTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0
MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5
CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MWEpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX2dldF9mcm9tX3Njb3BlKQogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFk
YXRhVGFibGUuaThwKCkgKyAxMDApOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzky
CiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fMzE2X21ldGFkYXRh
X19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4
cCgpICsgMzIwKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fbWV0YWRhdGFfXzMxNl9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg3KSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzUKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIo
KSAqIGludDMyX3QoMHgzMCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5NwogICAgdDUgPSAodWludDMyX3QpKHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1l
dGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTkKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPih0NS5pOHAoKSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQ1MgogICAgdDAgPSAo
dWludDMyX3QpKHQwLmkzMigpICYgaW50MzJfdCgweDNmZikpOyAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNDUzCiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDAp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0
NTYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19nR2xvYmFsVmFyOwogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQyMQogICAgdDIgPSAq
Q0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
KCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA2
CiAgICB0MyA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwNwogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQxLmk4cCgpICsgODApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo2MDgKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSA+PiAoaW50cHRyX3QoMHg3
KSAmIDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA5CiAgICB0MSA9ICpD
QVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAyMjQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYxMAogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgp
ICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTEK
ICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMwKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkg
PT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMgogICAg
dDIgPSB0Mi5pKCkgXiB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTMKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0
NS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjQyMwogICAgaWYgKHQyLmkoKSAhPSB0MS5pKCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDI0CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ0R5bmFtaWM7CiAg
ICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0MzEKICAgIGlmICh0MS5pMzIoKSA8IGludDMy
X3QoMHg2NCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTM5MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2dldFByb3BlcnR5X18zMTZfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNl
dF9faXNJbmxpbmU7CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyA4KTsgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTEKICAgIHQxID0g
KHVpbnQzMl90KSgtdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MgogICAgdDEgPSB0MS5pMzIoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MzkzCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19nZXRQcm9wZXJ0eV9fMzE2X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5OyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dldFByb3BlcnR5
X18zMTZfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MCA9IHQw
LmkoKSArIGludHB0cl90KC03NjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEzOTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dldFByb3BlcnR5X18zMTZf
bG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHkpCiAgICB0MiA9ICpDQVNUPGludDY0
X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDMxMCkpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEzOTgKICAgICpDQVNUPGludDY0X3QqPih0NS5pOHAoKSArIDI0
KSA9IHQyLmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkK
ICAgIHQyID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
Z0dsb2JhbFZhcikKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4MSkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQ2MQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dHbG9iYWxM
ZXhpY2FsVmFyOwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgMTYpOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDM4CiAgICB0MCA9ICpD
QVNUPGludDY0X3QqPih0MC5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI0MzkKICAgICpDQVNUPGludDY0X3QqPih0NS5pOHAoKSArIDI0
KSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkK
ICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
Z0dsb2JhbExleGljYWxWYXIpCiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDIpKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0NjUKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19n
Q2xvc3VyZVZhcjsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQzOAogICAgdDAgPSAq
Q0FTVDxpbnQ2NF90Kj4odDAuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNDM5CiAgICBpZiAodDAuaTY0KCkgPT0gaW50NjRfdCgweDAp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0
NjgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19nRHluYW1pYzsKICAgICpDQVNUPGludDY0X3QqPih0NS5pOHAoKSArIDI0KSA9IHQwLmk2
NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQyID0g
dDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmko
KSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ0Nsb3N1cmVW
YXIpCiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDMpKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0NzIKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nR2xvYmFsUHJvcGVydHlX
aXRoVmFySW5qZWN0aW9uQ2hlY2tzOwogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5CiAgICB0
MSA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0NDYKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQw
Lmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MjApKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyNDQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDUuaThwKCkgKyAyNCkgPSB0MC5p
NjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MiA9
IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5p
KCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAg
cGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dHbG9iYWxQ
cm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3MpCiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJf
dCgweDYpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI0NzcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19nR2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrczsKICAgIHQwID0gKGlu
dDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MCA9ICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjI0MjEKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjE3CiAgICB0
MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwNgogICAgdDMgPSB0Mi5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2MDcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDgwKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA4CiAgICB0MyA9ICh1aW50MzJf
dCkodDMuaTMyKCkgPj4gKGludHB0cl90KDB4NykgJiAweDFmKSk7ICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjYwOQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMjI0
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTAKICAgIHQz
ID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjExCiAgICB0MiA9IHQyLmkoKSA8PCAoaW50cHRyX3Qo
MHgzMCkgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTIKICAgIHQyID0gdDIuaSgpIF4gdDMuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEz
CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0MjMKICAgIGlmICh0Mi5pKCkgIT0gdDEu
aSgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjQyNAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2dEeW5hbWljOwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
NDMxCiAgICBpZiAodDEuaTMyKCkgPCBpbnQzMl90KDB4NjQpKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTAKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nZXRQcm9wZXJ0eV9fMzE3
X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lOwogICAgdDAgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQwLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMzkxCiAgICB0MSA9ICh1aW50MzJfdCkoLXQxLmkzMigpKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTIKICAg
IHQxID0gdDEuaTMyKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MwogICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ2V0UHJvcGVydHlfXzMxN19sb2FkUHJvcGVy
dHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk0
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19nZXRQcm9wZXJ0eV9fMzE3X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVP
ZmZzZXRfX2lzSW5saW5lKQogICAgdDAgPSB0MC5pKCkgKyBpbnRwdHJfdCgtNzY4KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk2CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19nZXRQcm9wZXJ0eV9fMzE3X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRf
X3JlYWR5KQogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMp
ICsgaW50cHRyX3QoMHgzMTApKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk4CiAgICAq
Q0FTVDxpbnQ2NF90Kj4odDUuaThwKCkgKyAyNCkgPSB0Mi5pNjQoKTsgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MiA9IHQyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQog
ICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hl
Y2tzKQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHg3KSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDgyCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ0dsb2JhbExleGljYWxW
YXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
MzI5CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyA4KTsgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzAKICAgIHQyID0gKkNBU1Q8aW50
cHRyX3QqPih0Mi5pOHAoKSArIDE1OTIpOyAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjMzMQogICAgaWYgKCpDQVNUPGludDhfdCo+KHQyLmk4cCgpICsgNCkgPT0g
aW50OF90KDB4MikpICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMyCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ0R5
bmFtaWM7CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0MzgKICAgIHQwID0gKkNBU1Q8
aW50NjRfdCo+KHQwLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjQzOQogICAgKkNBU1Q8aW50NjRfdCo+KHQ1Lmk4cCgpICsgMjQpID0g
dDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAg
dDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nR2xv
YmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MpCiAgICBpZiAodDAuaTMyKCkgIT0g
aW50MzJfdCgweDgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjI0ODcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19nQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M7CiAgICB0
MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMjkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0
Mi5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjMzMAogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTU5Mik7ICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMxCiAgICBpZiAoKkNBU1Q8
aW50OF90Kj4odDIuaThwKCkgKyA0KSA9PSBpbnQ4X3QoMHgyKSkgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjIzMzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nRHluYW1pYzsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3Qq
Pih0NS5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjQzOAogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDM5CiAgICBpZiAodDAu
aTY0KCkgPT0gaW50NjRfdCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI0OTEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nRHluYW1pYzsKICAgICpDQVNUPGludDY0X3QqPih0
NS5pOHAoKSArIDI0KSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NzkKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGlu
dDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fZ0Nsb3N1cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzKQogICAgaWYgKHQw
LmkzMigpICE9IGludDMyX3QoMHg5KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNDk1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ0R5bmFtaWM7CiAgICB0MiA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjIzMjkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDgpOyAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzMAogICAgdDIg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTU5Mik7ICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMxCiAgICBpZiAoKkNBU1Q8aW50OF90Kj4odDIuaThw
KCkgKyA0KSA9PSBpbnQ4X3QoMHgyKSkgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjIzMzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19nRHluYW1pYzsKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2OQogICAgdDEgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNDQ2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAo
KSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjQ0NwogICAgKkNBU1Q8aW50NjRfdCo+KHQ1Lmk4cCgpICsgMjQpID0gdDAuaTY0KCk7
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDIgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8
IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0g
cGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAg
ICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nRHluYW1pYykKICAg
IHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2lu
dGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9z
bG93X3BhdGhfZ2V0X2Zyb21fc2NvcGUodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVz
dWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAg
IHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9mcm9tX3Njb3BlX3dp
ZGUxNikKICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTAw
KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9
IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzMxN19tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0
NSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDMyMCk7ICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18zMTdf
bWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDAgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGUpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0MwogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpICogaW50MzJfdCgweDMwKSk7
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0NSA9ICh1aW50
MzJfdCkodDUuaTMyKCkgKyB0MC5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTgKICAgIHQ1ID0gdDUuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDAg
PSAqQ0FTVDx1aW50MzJfdCo+KHQ1Lmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDUyCiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkg
JiBpbnQzMl90KDB4M2ZmKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjI0NTMKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4MCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQ1NgogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzE5X2ZuX19nR2xvYmFsVmFy
OwogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAg
ICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0MjEKICAgIHQyID0gKkNBU1Q8dWludDMyX3Qq
Pih0MC5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NjE3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwNgogICAgdDMgPSB0Mi5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2MDcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSAr
IDgwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA4CiAg
ICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgPj4gKGludHB0cl90KDB4NykgJiAweDFmKSk7ICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwOQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQxLmk4cCgpICsgMjI0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MTAKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwg
MykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjExCiAgICB0MiA9IHQyLmko
KSA8PCAoaW50cHRyX3QoMHgzMCkgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6
IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTIKICAgIHQyID0gdDIuaSgpIF4g
dDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjEzCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyA4KTsg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0MjMKICAgIGlm
ICh0Mi5pKCkgIT0gdDEuaSgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQyNAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzE5X2ZuX19nRHluYW1pYzsKICAgIHQxID0gKkNB
U1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjQzMQogICAgaWYgKHQxLmkzMigpIDwgaW50MzJfdCgweDY0KSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkw
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fZ2V0UHJvcGVydHlfXzMxOF9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGlu
ZTsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDgpOyAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MQogICAgdDEgPSAodWludDMyX3Qp
KC10MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMzkyCiAgICB0MSA9IHQxLmkzMigpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTMKICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dldFByb3Bl
cnR5X18zMThfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ2V0UHJvcGVydHlfXzMxOF9sb2Fk
UHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZSkKICAgIHQwID0gdDAuaSgpICsgaW50
cHRyX3QoLTc2OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTM5NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ2V0UHJvcGVydHlfXzMxOF9sb2FkUHJvcGVy
dHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeSkKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4
cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MzEwKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTM5OAogICAgKkNBU1Q8aW50NjRfdCo+KHQ1Lmk4cCgpICsgMjQpID0gdDIuaTY0
KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDIgPSB0
Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmko
KSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4MTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMTlfZm5fX2dHbG9i
YWxWYXIpCiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDEpKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0NjEKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzMxOV9mbl9fZ0dsb2JhbExl
eGljYWxWYXI7CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0MzgKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KHQwLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjQzOQogICAgKkNBU1Q8aW50NjRfdCo+KHQ1Lmk4cCgpICsgMjQp
ID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQog
ICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxp
bnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMTlf
Zm5fX2dHbG9iYWxMZXhpY2FsVmFyKQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHgyKSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDY1
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18z
MTlfZm5fX2dDbG9zdXJlVmFyOwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDM4CiAg
ICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0MzkKICAgIGlmICh0MC5pNjQoKSA9PSBpbnQ2
NF90KDB4MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjQ2OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fMzE5X2ZuX19nRHluYW1pYzsKICAgICpDQVNUPGludDY0X3QqPih0NS5pOHAoKSAr
IDI0KSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NzkKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNB
U1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
MzE5X2ZuX19nQ2xvc3VyZVZhcikKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4MykpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQ3Mgog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzE5
X2ZuX19nR2xvYmFsUHJvcGVydHlXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOwogICAgdDAgPSAoaW50
NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICB0MCA9ICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ2OQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDQ2CiAgICB0
MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgw
eDIwKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQ0NwogICAgKkNBU1Q8aW50NjRfdCo+
KHQ1Lmk4cCgpICsgMjQpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo3OQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAo
aW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQw
ID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVN
YXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX18zMTlfZm5fX2dHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3Mp
CiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDYpKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0NzcKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzMxOV9mbl9fZ0dsb2JhbFZhcldpdGhW
YXJJbmplY3Rpb25DaGVja3M7CiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDcKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQyMQogICAgdDIg
PSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjA2CiAgICB0MyA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwNwogICAgdDEgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQxLmk4cCgpICsgODApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MDgKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSA+PiAoaW50cHRyX3Qo
MHg3KSAmIDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA5CiAgICB0MSA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAyMjQpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYxMAogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4
cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MTEKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMwKSAmICgoc2l6ZW9mKHVpbnRwdHJf
dCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMgog
ICAgdDIgPSB0Mi5pKCkgXiB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTMKICAgIHQxID0gKkNBU1Q8aW50cHRyX3Qq
Pih0NS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjQyMwogICAgaWYgKHQyLmkoKSAhPSB0MS5pKCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDI0CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMTlfZm5fX2dEeW5h
bWljOwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgMTYpOyAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDMxCiAgICBpZiAodDEuaTMyKCkg
PCBpbnQzMl90KDB4NjQpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEzOTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19nZXRQcm9wZXJ0eV9fMzE5X2xvYWRQcm9wZXJ0eUF0VmFyaWFi
bGVPZmZzZXRfX2lzSW5saW5lOwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsg
OCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkxCiAg
ICB0MSA9ICh1aW50MzJfdCkoLXQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTIKICAgIHQxID0gdDEuaTMyKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTM5MwogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fZ2V0UHJvcGVydHlfXzMxOV9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19y
ZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nZXRQ
cm9wZXJ0eV9fMzE5X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lKQogICAg
dDAgPSB0MC5pKCkgKyBpbnRwdHJfdCgtNzY4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nZXRQcm9wZXJ0
eV9fMzE5X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5KQogICAgdDIgPSAqQ0FT
VDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoMHgzMTApKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk4CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDUuaThw
KCkgKyAyNCkgPSB0Mi5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjc5CiAgICB0MiA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90
KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxMCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fXzMxOV9mbl9fZ0dsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MpCiAgICBpZiAodDAu
aTMyKCkgIT0gaW50MzJfdCgweDcpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI0ODIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzMxOV9mbl9fZ0dsb2JhbExleGljYWxWYXJXaXRoVmFySW5q
ZWN0aW9uQ2hlY2tzOwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzI5CiAgICB0MiA9
ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzAKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5p
OHAoKSArIDE1OTIpOyAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjMzMQogICAgaWYgKCpDQVNUPGludDhfdCo+KHQyLmk4cCgpICsgNCkgPT0gaW50OF90KDB4Mikp
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMyCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMTlfZm5fX2dEeW5hbWljOwog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDM4CiAgICB0MCA9ICpDQVNUPGludDY0X3Qq
Pih0MC5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI0MzkKICAgICpDQVNUPGludDY0X3QqPih0NS5pOHAoKSArIDI0KSA9IHQwLmk2NCgp
OyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQyID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkg
PDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzE5X2ZuX19nR2xvYmFs
TGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MpCiAgICBpZiAodDAuaTMyKCkgIT0gaW50
MzJfdCgweDgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI0ODcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzMxOV9mbl9fZ0Nsb3N1cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOwogICAg
dDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzI5CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4o
dDIuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjIzMzAKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE1OTIpOyAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzMQogICAgaWYgKCpDQVNU
PGludDhfdCo+KHQyLmk4cCgpICsgNCkgPT0gaW50OF90KDB4MikpICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMzMyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX18zMTlfZm5fX2dEeW5hbWljOwogICAgdDAgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQ1Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyNDM4CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0MzkKICAgIGlm
ICh0MC5pNjQoKSA9PSBpbnQ2NF90KDB4MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQ5MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzE5X2ZuX19nRHluYW1pYzsKICAgICpDQVNUPGlu
dDY0X3QqPih0NS5pOHAoKSArIDI0KSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAg
IHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fMzE5X2ZuX19nQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVj
a3MpCiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDkpKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0OTUKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzMxOV9mbl9fZ0R5bmFtaWM7CiAg
ICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMjkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3Qq
Pih0Mi5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjMzMAogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTU5Mik7ICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMxCiAgICBpZiAoKkNB
U1Q8aW50OF90Kj4odDIuaThwKCkgKyA0KSA9PSBpbnQ4X3QoMHgyKSkgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjIzMzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzMxOV9mbl9fZ0R5bmFtaWM7CiAgICB0MCA9IChpbnQ2NF90
KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQwID0gKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDY5CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0NDYKICAgIHQwID0g
KkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MjAp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDUu
aThwKCkgKyAyNCkgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjc5CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2
NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3Qq
PihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxMCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAq
Q0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fXzMxOV9mbl9fZ0R5bmFtaWMpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNs
b29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2dldF9mcm9tX3Njb3BlKHQwLCB0
MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0g
dDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF9nZXRfZnJvbV9zY29wZV93aWRlMzIpCiAgICB0NSA9ICpDQVNUPHVpbnQxNl90
Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDEwMCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTIKICAgIGlmICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18zMTlf
bWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRh
VGFibGUuaThwKCkgKyAzMjApOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fMzE5X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQw
ID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHgxYSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0MCA9ICh1aW50MzJf
dCkodDAuaTMyKCkgKiBpbnQzMl90KDB4MzApKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5pMzIoKSArIHQwLmkzMigpKTsg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDUgPSB0
NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDUuaThwKCkp
OyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0NTIK
ICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAmIGludDMyX3QoMHgzZmYpKTsgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQ1MwogICAgaWYgKHQwLmkzMigpICE9IGlu
dDMyX3QoMHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNDU2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX18zMjFfZm5fX2dHbG9iYWxWYXI7CiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQyMQogICAg
dDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjA2CiAgICB0MyA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwNwogICAgdDEgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQxLmk4cCgpICsgODApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2MDgKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSA+PiAoaW50cHRy
X3QoMHg3KSAmIDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA5CiAgICB0
MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAyMjQpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMAogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo2MTEKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMwKSAmICgoc2l6ZW9mKHVpbnRw
dHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYx
MgogICAgdDIgPSB0Mi5pKCkgXiB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTMKICAgIHQxID0gKkNBU1Q8aW50cHRy
X3QqPih0NS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjQyMwogICAgaWYgKHQyLmkoKSAhPSB0MS5pKCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDI0CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMjFfZm5fX2dE
eW5hbWljOwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDMxCiAgICBpZiAodDEuaTMy
KCkgPCBpbnQzMl90KDB4NjQpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEzOTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nZXRQcm9wZXJ0eV9fMzIwX2xvYWRQcm9wZXJ0eUF0VmFy
aWFibGVPZmZzZXRfX2lzSW5saW5lOwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgp
ICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkx
CiAgICB0MSA9ICh1aW50MzJfdCkoLXQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTIKICAgIHQxID0gdDEuaTMyKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTM5MwogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fZ2V0UHJvcGVydHlfXzMyMF9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0
X19yZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk0CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19n
ZXRQcm9wZXJ0eV9fMzIwX2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lKQog
ICAgdDAgPSB0MC5pKCkgKyBpbnRwdHJfdCgtNzY4KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nZXRQcm9w
ZXJ0eV9fMzIwX2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5KQogICAgdDIgPSAq
Q0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoMHgzMTAp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk4CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDUu
aThwKCkgKyAyNCkgPSB0Mi5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjc5CiAgICB0MiA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9ICpDQVNU
PGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxZSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzMy
MV9mbl9fZ0dsb2JhbFZhcikKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4MSkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQ2MQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzIxX2Zu
X19nR2xvYmFsTGV4aWNhbFZhcjsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSAr
IDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQzOAog
ICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDUu
aThwKCkgKyAyNCkgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjc5CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9ICpDQVNU
PGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxZSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzMy
MV9mbl9fZ0dsb2JhbExleGljYWxWYXIpCiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDIp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0
NjUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
XzMyMV9mbl9fZ0Nsb3N1cmVWYXI7CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkg
KyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0MzgK
ICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQzOQogICAgaWYgKHQwLmk2NCgpID09IGlu
dDY0X3QoMHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNDY4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX18zMjFfZm5fX2dEeW5hbWljOwogICAgKkNBU1Q8aW50NjRfdCo+KHQ1Lmk4cCgp
ICsgMjQpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo3OQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAqQ0FTVDxpbnQz
Ml90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYy
CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MWUpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMjFfZm5f
X2dDbG9zdXJlVmFyKQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHgzKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDcyCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMjFfZm5fX2dH
bG9iYWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3M7CiAgICB0MCA9ICpDQVNUPGludDMy
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5
CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0NDYKICAgIHQwID0gKkNBU1Q8aW50NjRf
dCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MjApKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyNDQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDUuaThwKCkgKyAyNCkg
PSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAg
ICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgp
IDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBj
ID0gcGMuaSgpICsgaW50cHRyX3QoMHgxZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzMyMV9mbl9fZ0dsb2Jh
bFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNrcykKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQz
Ml90KDB4NikpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjQ3NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fMzIxX2ZuX19nR2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrczsKICAgIHQw
ID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDAgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyNDIxCiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxNwogICAgdDEg
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDYKICAgIHQzID0gdDIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjA3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyA4MCk7ICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwOAogICAgdDMgPSAodWludDMyX3Qp
KHQzLmkzMigpID4+IChpbnRwdHJfdCgweDcpICYgMHgxZikpOyAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MDkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDIyNCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEwCiAgICB0MyA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjYxMQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4
MzApICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjEyCiAgICB0MiA9IHQyLmkoKSBeIHQzLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMwog
ICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDIzCiAgICBpZiAodDIuaSgpICE9IHQxLmko
KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI0MjQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzMyMV9mbl9fZ0R5bmFtaWM7CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDUu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjI0MzEKICAgIGlmICh0MS5pMzIoKSA8IGludDMyX3QoMHg2NCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MAogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dldFByb3BlcnR5X18z
MjFfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmU7CiAgICB0MCA9ICpDQVNU
PGludHB0cl90Kj4odDAuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEzOTEKICAgIHQxID0gKHVpbnQzMl90KSgtdDEuaTMyKCkpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5Mgog
ICAgdDEgPSB0MS5pMzIoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkzCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nZXRQcm9wZXJ0eV9fMzIxX2xvYWRQcm9w
ZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEz
OTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2dldFByb3BlcnR5X18zMjFfbG9hZFByb3BlcnR5QXRWYXJpYWJs
ZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MCA9IHQwLmkoKSArIGludHB0cl90KC03NjgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTYKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2dldFByb3BlcnR5X18zMjFfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNl
dF9fcmVhZHkpCiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwg
MykgKyBpbnRwdHJfdCgweDMxMCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTgKICAg
ICpDQVNUPGludDY0X3QqPih0NS5pOHAoKSArIDI0KSA9IHQyLmk2NCgpOyAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQyID0gdDIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDFl
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fMzIxX2ZuX19nR2xvYmFsVmFyV2l0aFZhckluamVjdGlvbkNoZWNr
cykKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4NykpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQ4MgogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzIxX2ZuX19nR2xvYmFsTGV4aWNh
bFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M7CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjIzMjkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDgpOyAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzMAogICAgdDIgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQyLmk4cCgpICsgMTU5Mik7ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyMzMxCiAgICBpZiAoKkNBU1Q8aW50OF90Kj4odDIuaThwKCkgKyA0KSA9
PSBpbnQ4X3QoMHgyKSkgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzIKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzMyMV9m
bl9fZ0R5bmFtaWM7CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0MzgKICAgIHQwID0g
KkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjQzOQogICAgKkNBU1Q8aW50NjRfdCo+KHQ1Lmk4cCgpICsg
MjQpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3
OQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAqQ0FTVDxpbnQzMl90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQx
LmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAg
ICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMjFfZm5fX2dH
bG9iYWxMZXhpY2FsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcykKICAgIGlmICh0MC5pMzIoKSAh
PSBpbnQzMl90KDB4OCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjQ4NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fMzIxX2ZuX19nQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M7
CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMjkKICAgIHQyID0gKkNBU1Q8aW50cHRy
X3QqPih0Mi5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjMzMAogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTU5Mik7
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMxCiAgICBpZiAo
KkNBU1Q8aW50OF90Kj4odDIuaThwKCkgKyA0KSA9PSBpbnQ4X3QoMHgyKSkgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzMyMV9mbl9fZ0R5bmFtaWM7CiAgICB0MCA9ICpDQVNU
PGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI0MzgKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQzOQog
ICAgaWYgKHQwLmk2NCgpID09IGludDY0X3QoMHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDkxCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zMjFfZm5fX2dEeW5hbWljOwogICAgKkNB
U1Q8aW50NjRfdCo+KHQ1Lmk4cCgpICsgMjQpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MAogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MWUpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX18zMjFfZm5fX2dDbG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcykK
ICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4OSkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQ5NQogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzIxX2ZuX19nRHluYW1pYzsKICAgIHQy
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMyOQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQy
Lmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyMzMwCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNTkyKTsgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzEKICAgIGlmICgqQ0FTVDxp
bnQ4X3QqPih0Mi5pOHAoKSArIDQpID09IGludDhfdCgweDIpKSAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjMzMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fMzIxX2ZuX19nRHluYW1pYzsKICAgIHQwID0gKkNBU1Q8aW50MzJf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjkK
ICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQ0NgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90
Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoMHgyMCkpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI0NDcKICAgICpDQVNUPGludDY0X3QqPih0NS5pOHAoKSArIDI0KSA9
IHQwLmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAg
IHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkg
PDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweDFlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzIxX2ZuX19nRHluYW1p
YykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfZ2V0X2Zyb21fc2NvcGUodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4MWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1dF90b19zY29w
ZSkKICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTAyKTsg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fbWV0YWRhdGFfXzMyMV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0NSA9
ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDMyNCk7ICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18zMjFfbWV0
YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1CiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgKiBpbnQzMl90KDB4MTgpKTsgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90
KSh0NS5pMzIoKSArIHQwLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5OAogICAgdDUgPSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MCA9ICpD
QVNUPHVpbnQzMl90Kj4odDUuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI1NTUKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAmIGlu
dDMyX3QoMHgzZmYpKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjU1
NgogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHg0KSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTU5CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcEdsb2JhbFByb3BlcnR5Owog
ICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIHQw
ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19wdXRMb2NhbENsb3N1cmVWYXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMy
MV9sb2FkX19jb25zdGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRMb2Nh
bENsb3N1cmVWYXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMyMV9sb2FkX19k
b25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0TG9j
YWxDbG9zdXJlVmFyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMjFfbG9hZF9f
Y29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDIgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsg
KHQxLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dExvY2FsQ2xvc3VyZVZhcl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMzIxX2xvYWRfX2RvbmUpCiAgICB0MyA9ICpDQVNUPGludHB0cl90
Kj4odDUuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI1MzUKICAgIGlmICh0My5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUzNgogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dExvY2Fs
Q2xvc3VyZVZhcl9fbm9WYXJpYWJsZVdhdGNocG9pbnRTZXQ7CiAgICBpZiAoKkNBU1Q8aW50OF90
Kj4odDMuaThwKCkgKyA0KSAhPSBpbnQ4X3QoMHgyKSkgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMjY4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fcER5bmFtaWM7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRMb2NhbENsb3N1cmVW
YXJfX25vVmFyaWFibGVXYXRjaHBvaW50U2V0KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyNTM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50
cHRyX3QoMHgyMCkpID0gdDIuaTY0KCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjU0MAog
ICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlm
ICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzMyMl9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzIyX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
MzIyX2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAr
IDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAg
IHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0
MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMzIyX2xvYWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkp
ICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzMy
M193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lOwogICAgaWYgKHQwLmko
KSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1NzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zMjNfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVC
YXJyaWVyRG9uZTsKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM5CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9u
T3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0
aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzMyM19sb2FkX19jb25zdGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dy
aXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxs
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMjNfbG9hZF9fZG9uZTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3Bl
cmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJl
bG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzMyM19sb2FkX19jb25zdGFudCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDc1CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDIgPSAqQ0FTVDxp
bnQ2NF90Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRo
UmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMzIzX2xvYWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1h
c2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMzIz
X3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmU7CiAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMjYxCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MjYyCiAgICBpZiAoKkNBU1Q8dWludDhfdCo+KHQyLmk4cCgpICsgNykgPiB1aW50OF90KDB4MCkp
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX18z
MjNfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmU7CiAgICBQVVNIKHBjQmFzZSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjU0MgogICAgUFVTSChwYyk7CiAgICB0MSA9IHQyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU0MwogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDQKICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTI1CiAgICBsbGludF93cml0ZV9iYXJyaWVyX3Nsb3codDAsIHQxKTsKICAg
IFBPUChwYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ2CiAgICBQT1AocGNCYXNlKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9h
ZF9fMzIzX3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lKQoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
d3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18zMjNfd3JpdGVC
YXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZSkKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzMyM193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lKQogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BHbG9iYWxQcm9w
ZXJ0eSkKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4MCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjU2NgogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BHbG9iYWxWYXI7CiAg
ICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgdDAg
PSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDIxCiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDAu
aThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjYxNwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDYKICAgIHQzID0gdDIuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjA3CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyA4MCk7
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwOAogICAgdDMg
PSAodWludDMyX3QpKHQzLmkzMigpID4+IChpbnRwdHJfdCgweDcpICYgMHgxZikpOyAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5p
OHAoKSArIDIyNCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjEwCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMQogICAgdDIgPSB0Mi5pKCkgPDwg
KGludHB0cl90KDB4MzApICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFm
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEyCiAgICB0MiA9IHQyLmkoKSBeIHQzLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjYxMwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgOCk7ICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDIzCiAgICBpZiAodDIu
aSgpICE9IHQxLmkoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI0MjQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wRHluYW1pYzsKICAgIHQxID0gKGludDY0X3QpKkNB
U1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4Mykp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDEuaSgpID49IGludHB0cl90
KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX3B1dFByb3BlcnR5X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18z
MjRfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0UHJv
cGVydHlfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMyNF9sb2FkX19kb25lOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0UHJvcGVydHlf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMyNF9sb2FkX19jb25zdGFudCkKICAg
IHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4o
dDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ3NgogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMp
ICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fcHV0UHJvcGVydHlfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMy
NF9sb2FkX19kb25lKQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTEwCiAgICBpZiAo
dDEuaTMyKCkgPCBpbnQzMl90KDB4NjQpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE0MDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRQcm9wZXJ0eV9fMzI0X3N0b3JlUHJvcGVy
dHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZTsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0
MC5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTQwNAogICAgdDEgPSAodWludDMyX3QpKC10MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDA1CiAgICB0MSA9IHQxLmkz
MigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE0MDYKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3B1dFByb3BlcnR5X18zMjRfc3RvcmVQcm9wZXJ0eUF0VmFyaWFi
bGVPZmZzZXRfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MDcKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3B1dFByb3BlcnR5X18zMjRfc3RvcmVQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lz
SW5saW5lKQogICAgdDAgPSB0MC5pKCkgKyBpbnRwdHJfdCgtNzY4KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDA5CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19wdXRQcm9wZXJ0eV9fMzI0X3N0b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeSkK
ICAgICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgw
eDMxMCkpID0gdDIuaTY0KCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQxMQogICAgdDEg
PSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MS5p
KCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0
YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMyNV9s
b2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMzI1X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzI1X2xv
YWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0g
KkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAo
KSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzI1
X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDAp
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzMyNl93cml0
ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lOwogICAgaWYgKHQwLmkoKSA9PSAw
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1NzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX18zMjZfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVy
RG9uZTsKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5
CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFu
ZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9h
ZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzMyNl9sb2FkX19jb25zdGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFy
cmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMjZfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNf
X3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzMyNl9sb2FkX19jb25zdGFudCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
KCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1
CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDIgPSAqQ0FTVDxpbnQ2NF90
Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5k
c19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2Fk
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fMzI2X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0
KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMzI2X3dyaXRl
QmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmU7CiAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMjYxCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjYyCiAg
ICBpZiAoKkNBU1Q8dWludDhfdCo+KHQyLmk4cCgpICsgNykgPiB1aW50OF90KDB4MCkpCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX18zMjZfc2tp
cElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmU7CiAgICBQVVNIKHBjQmFzZSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjU0MgogICAgUFVTSChwYyk7CiAgICB0MSA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0Mwog
ICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDQKICAgIGNsb29wU3RhY2suc2V0Q3VycmVu
dFN0YWNrUG9pbnRlcihzcC52cCgpKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTI1CiAgICBsbGludF93cml0ZV9iYXJyaWVyX3Nsb3codDAsIHQxKTsKICAgIFBPUChw
Yyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ2CiAgICBQT1AocGNCYXNlKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJy
aWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMzI2
X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVC
YXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18zMjZfd3JpdGVCYXJyaWVy
T25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZSkKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzMy
Nl93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lKQogICAgcGMgPSBwYy5p
KCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BHbG9iYWxWYXIpCiAgICBp
ZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDEpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1NzMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wR2xvYmFsTGV4aWNhbFZhcjsKICAgIHQw
ID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDAu
aSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dEdsb2JhbFZhcmlhYmxlX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18zMjdfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fcHV0R2xvYmFsVmFyaWFibGVfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzMyN19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fcHV0R2xvYmFsVmFyaWFibGVfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzMyN19sb2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDc1CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDEgPSAqQ0FTVDxp
bnQ2NF90Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0R2xvYmFsVmFyaWFi
bGVfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMyN19sb2FkX19kb25lKQogICAg
dDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTE3CiAgICBpZiAodDIuaSgpID09IDApICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI1MTgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19wdXRHbG9iYWxWYXJpYWJsZV9fbm9WYXJpYWJsZVdhdGNocG9pbnRTZXQ7CiAg
ICBpZiAoKkNBU1Q8aW50OF90Kj4odDIuaThwKCkgKyA0KSAhPSBpbnQ4X3QoMHgyKSkgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjY4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcER5bmFtaWM7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19wdXRHbG9iYWxWYXJpYWJsZV9fbm9WYXJpYWJsZVdhdGNocG9pbnRTZXQpCiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI1MjEKICAgICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSkgPSB0
MS5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUy
MgogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAg
IGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxPYmpl
Y3RfX3dyaXRlQmFycmllck9uR2xvYmFsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzI4X2xvYWRfX2NvbnN0YW50OwogICAgdDAg
PSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0X193cml0
ZUJhcnJpZXJPbkdsb2JhbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzMyOF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxPYmplY3RfX3dy
aXRlQmFycmllck9uR2xvYmFsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzI4X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSAr
IDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAg
ICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJf
dCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193
cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdF9fd3JpdGVCYXJyaWVyT25HbG9iYWxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMjhf
bG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJy
aWVyT25HbG9iYWxPYmplY3RfX3dyaXRlQmFycmllck9uR2xvYmFsX193cml0ZUJhcnJpZXJEb25l
OwogICAgaWYgKHQwLmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1ODEKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2Jh
bE9iamVjdF9fd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmllckRvbmU7CiAgICB0MyA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjU5MQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4
cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
OTIKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEyNjIKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDMuaThwKCkgKyA3KSA+IHVpbnQ4
X3QoMHgwKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdF9fd3JpdGVCYXJyaWVyT25HbG9i
YWxfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzMyOF9za2lwSWZJc1JlbWVtYmVyZWRP
ckluRWRlbl9fZG9uZTsKICAgIFBVU0gocGNCYXNlKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQyCiAgICBQVVNI
KHBjKTsKICAgIHQxID0gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQzCiAgICB0MCA9IGNmci5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjU0NAogICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNw
LnZwKCkpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjUKICAgIGxs
aW50X3dyaXRlX2JhcnJpZXJfc2xvdyh0MCwgdDEpOwogICAgUE9QKHBjKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1NDYKICAgIFBPUChwY0Jhc2UpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25H
bG9iYWxPYmplY3RfX3dyaXRlQmFycmllck9uR2xvYmFsX193cml0ZUJhcnJpZXJPbkNlbGxXaXRo
UmVsb2FkX18zMjhfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmUpCgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdF9fd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dy
aXRlQmFycmllckRvbmUpCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fcEdsb2JhbExleGljYWxWYXIpCiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJf
dCgweDIpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI1NzkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19wQ2xvc3VyZVZhcjsKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPih0NS5pOHAo
KSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjU0
NAogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpICYgaW50MzJfdCgweGZmYzAwKSk7ICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTQ1CiAgICB0MCA9ICh1aW50MzJfdCko
dDAuaTMyKCkgPj4gKGludHB0cl90KDB4YSkgJiAweDFmKSk7ICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjI1NDYKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4MikpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjU0NwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NoZWNr
VERaSW5HbG9iYWxQdXRUb1Njb3BlSWZOZWNlc3NhcnlfX25vTmVlZEZvclREWkNoZWNrOwogICAg
dDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTQ4CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0
MC5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI1NDkKICAgIGlmICh0MC5pNjQoKSA9PSBpbnQ2NF90KDB4MCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjU1MAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BEeW5hbWljOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY2hlY2tURFpJbkdsb2JhbFB1dFRvU2NvcGVJZk5lY2Vzc2FyeV9fbm9O
ZWVkRm9yVERaQ2hlY2spCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozOQogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRHbG9iYWxW
YXJpYWJsZV9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzI5X2xvYWRfX2NvbnN0
YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dEdsb2JhbFZhcmlhYmxlX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMjlfbG9hZF9fZG9uZTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dEdsb2JhbFZhcmlhYmxlX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMjlfbG9hZF9fY29uc3RhbnQpCiAgICB0
MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NzYKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSAr
IGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3B1dEdsb2JhbFZhcmlhYmxlX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18zMjlfbG9hZF9fZG9uZSkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDgp
OyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUxNwogICAg
aWYgKHQyLmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTE4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzI5X3B1dEdsb2JhbFZhcmlhYmxlX19u
b1ZhcmlhYmxlV2F0Y2hwb2ludFNldDsKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0Mi5pOHAoKSAr
IDQpICE9IGludDhfdCgweDIpKSAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjgK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19wRHluYW1pYzsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzMyOV9wdXRHbG9iYWxWYXJpYWJsZV9fbm9WYXJp
YWJsZVdhdGNocG9pbnRTZXQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAx
Nik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MjEKICAg
ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSkgPSB0MS5pNjQoKTsgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUyMgogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgzKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgx
MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRfX3dyaXRlQmFycmll
ck9uR2xvYmFsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMzMwX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsTGV4aWNhbEVudmlyb25tZW50X193cml0ZUJh
cnJpZXJPbkdsb2JhbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzMzMF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJv
bm1lbnRfX3dyaXRlQmFycmllck9uR2xvYmFsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzMwX2xvYWRfX2NvbnN0YW50KQogICAg
dDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0
MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykg
KyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZpcm9ubWVudF9fd3JpdGVCYXJy
aWVyT25HbG9iYWxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18zMzBfbG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RD
ZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRfXzMzMF93
cml0ZUJhcnJpZXJPbkdsb2JhbF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0g
MCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTgxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRf
XzMzMF93cml0ZUJhcnJpZXJPbkdsb2JhbF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIHQzID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTk5CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkg
KyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwMAog
ICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTEyKTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlmICgqQ0FTVDx1
aW50OF90Kj4odDMuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkds
b2JhbExleGljYWxFbnZpcm9ubWVudF9fd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmll
ck9uQ2VsbFdpdGhSZWxvYWRfXzMzMF9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZTsK
ICAgIFBVU0gocGNCYXNlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQyCiAgICBQVVNIKHBjKTsKICAgIHQxID0g
dDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTQzCiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0
NAogICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOyAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjUKICAgIGxsaW50X3dyaXRlX2JhcnJp
ZXJfc2xvdyh0MCwgdDEpOwogICAgUE9QKHBjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDYKICAgIFBP
UChwY0Jhc2UpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52
aXJvbm1lbnRfX3dyaXRlQmFycmllck9uR2xvYmFsX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVs
b2FkX18zMzBfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmUpCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X193cml0ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZpcm9ubWVudF9fMzMwX3dyaXRlQmFycmll
ck9uR2xvYmFsX193cml0ZUJhcnJpZXJEb25lKQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgw
eDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BDbG9zdXJlVmFyKQogICAgaWYgKHQwLmkzMigpICE9
IGludDMyX3QoMHgzKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyNTg2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fcEdsb2JhbFByb3BlcnR5V2l0aFZhckluamVjdGlvbkNoZWNrczsK
ICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0
MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2OQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgzKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fcHV0Q2xvc3VyZVZhcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzMxX2xv
YWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmko
KSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dENsb3N1cmVW
YXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMzMV9sb2FkX19kb25lOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0Q2xvc3VyZVZhcl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzMxX2xvYWRfX2NvbnN0YW50KQogICAg
dDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0
Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDc2CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0MS5pKCkgPDwgMykg
KyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19wdXRDbG9zdXJlVmFyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18z
MzFfbG9hZF9fZG9uZSkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDE2KTsg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUyOAogICAgKkNB
U1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MjApKSA9
IHQyLmk2NCgpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MjkKICAgIHQxID0gKGludDY0
X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDEuaSgpID49IGlu
dHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMzJfbG9hZF9fY29u
c3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMp
KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVy
YW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzMzMl9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMzMl9sb2FkX19jb25z
dGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MCA9ICpDQVNUPGlu
dHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3NgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEu
aSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3
NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JW
YXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMzMl9sb2FkX19k
b25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zMzNfd3JpdGVCYXJyaWVy
T25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fMzMzX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAg
ICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYg
KHQxLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18z
MzNfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVC
YXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzMzX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMzNf
bG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDIg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4
cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRl
QmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMz
M19sb2FkX19kb25lKQogICAgaWYgKCh0Mi5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAw
KSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzMzM193cml0ZUJhcnJpZXJP
bk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lOwogICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTI2MQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MgogICAgaWYgKCpD
QVNUPHVpbnQ4X3QqPih0Mi5pOHAoKSArIDcpID4gdWludDhfdCgweDApKQogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmll
ck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5k
V2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMzMzX3NraXBJZklzUmVt
ZW1iZXJlZE9ySW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIK
ICAgIFBVU0gocGMpOwogICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1Bv
aW50ZXIoc3AudnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEy
NQogICAgbGxpbnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3Bl
cmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzMzM19za2lwSWZJ
c1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9u
T3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMzMzX3dyaXRlQmFycmllck9uT3BlcmFu
ZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zMzNfd3JpdGVC
YXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkKICAgIHBjID0gcGMuaSgpICsgaW50
cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8
dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wR2xvYmFsUHJvcGVydHlXaXRoVmFySW5q
ZWN0aW9uQ2hlY2tzKQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHg2KSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTkzCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcEdsb2Jh
bFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M7CiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDIx
CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxNwogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo2MDYKICAgIHQzID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA3CiAgICB0MSA9ICpD
QVNUPGludHB0cl90Kj4odDEuaThwKCkgKyA4MCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYwOAogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpID4+IChp
bnRwdHJfdCgweDcpICYgMHgxZikpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDkK
ICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDIyNCk7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjEwCiAgICB0MyA9ICpDQVNUPGludHB0cl90
Kj4odDEuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjYxMQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MzApICYgKChzaXplb2Yo
dWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjEyCiAgICB0MiA9IHQyLmkoKSBeIHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMwogICAgdDEgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQ1Lmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyNDIzCiAgICBpZiAodDIuaSgpICE9IHQxLmkoKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0MjQKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19w
RHluYW1pYzsKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM5CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dFByb3BlcnR5X19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMzRfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0UHJvcGVydHlfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzMzNF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fcHV0UHJvcGVydHlfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzMzNF9sb2FkX19jb25zdGFudCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDc1CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDIgPSAqQ0FTVDxpbnQ2
NF90Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0UHJvcGVydHlfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMzNF9sb2FkX19kb25lKQogICAgdDEgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyNTEwCiAgICBpZiAodDEuaTMyKCkgPCBpbnQzMl90KDB4NjQpKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MDMK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19wdXRQcm9wZXJ0eV9fMzM0X3N0b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGlu
ZTsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDgpOyAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQwNAogICAgdDEgPSAodWludDMyX3Qp
KC10MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNDA1CiAgICB0MSA9IHQxLmkzMigpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MDYKICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dFByb3Bl
cnR5X18zMzRfc3RvcmVQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5OyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE0MDcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dFByb3BlcnR5X18zMzRfc3Rv
cmVQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lKQogICAgdDAgPSB0MC5pKCkgKyBp
bnRwdHJfdCgtNzY4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNDA5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRQcm9wZXJ0eV9fMzM0X3N0b3JlUHJv
cGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeSkKICAgICpDQVNUPGludDY0X3QqPih0MC5pOHAo
KSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDMxMCkpID0gdDIuaTY0KCk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTQxMQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgzKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMzNV9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzM1X2xvYWRf
X2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzM1X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSAr
IDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAg
ICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJf
dCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzM1X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2
NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fXzMzNl93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJh
cnJpZXJEb25lOwogICAgaWYgKHQwLmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NzIKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zMzZfd3JpdGVC
YXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIHQxID0gKGludDY0X3QpKkNB
U1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDEuaSgpID49IGludHB0cl90
KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9f
d3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMzNl9sb2FkX19jb25zdGFudDsK
ICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18zMzZfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMzNl9sb2FkX19jb25zdGFudCkKICAg
IHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4o
dDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ3NgogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMp
ICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2Vs
bF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzM2X2xvYWRfX2RvbmUpCiAgICBp
ZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dy
aXRlQmFycmllck9uT3BlcmFuZF9fMzM2X3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRf
X3dyaXRlQmFycmllckRvbmU7CiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjYxCiAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMjYyCiAgICBpZiAoKkNBU1Q8dWludDhfdCo+KHQyLmk4
cCgpICsgNykgPiB1aW50OF90KDB4MCkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVC
YXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJh
cnJpZXJPbkNlbGxXaXRoUmVsb2FkX18zMzZfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2Rv
bmU7CiAgICBQVVNIKHBjQmFzZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MgogICAgUFVTSChwYyk7CiAgICB0
MSA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MwogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1NDQKICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI1CiAgICBsbGludF93cml0ZV9i
YXJyaWVyX3Nsb3codDAsIHQxKTsKICAgIFBPUChwYyk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ2CiAg
ICBQT1AocGNCYXNlKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dy
aXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3Jp
dGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMzM2X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVu
X19kb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJy
aWVyT25PcGVyYW5kX18zMzZfd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVC
YXJyaWVyRG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzMzNl93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193
cml0ZUJhcnJpZXJEb25lKQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3BHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzKQogICAgaWYgKHQw
LmkzMigpICE9IGludDMyX3QoMHg3KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNjAwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcEdsb2JhbExleGljYWxWYXJXaXRoVmFySW5qZWN0
aW9uQ2hlY2tzOwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzI5CiAgICB0MiA9ICpD
QVNUPGludHB0cl90Kj4odDIuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjIzMzAKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAo
KSArIDE1OTIpOyAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMz
MQogICAgaWYgKCpDQVNUPGludDhfdCo+KHQyLmk4cCgpICsgNCkgPT0gaW50OF90KDB4MikpICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMyCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcER5bmFtaWM7CiAgICB0MCA9
IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQwLmko
KSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRHbG9iYWxWYXJpYWJsZV9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMzM3X2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3B1dEdsb2JhbFZhcmlhYmxlX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18zMzdfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3B1dEdsb2JhbFZhcmlhYmxlX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18zMzdfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ3NQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQxID0gKkNBU1Q8aW50
NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dEdsb2JhbFZhcmlhYmxl
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMzdfbG9hZF9fZG9uZSkKICAgIHQy
ID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUxNwogICAgaWYgKHQyLmkoKSA9PSAwKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyNTE4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fMzM3X3B1dEdsb2JhbFZhcmlhYmxlX19ub1ZhcmlhYmxlV2F0Y2hwb2ludFNldDsK
ICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0Mi5pOHAoKSArIDQpICE9IGludDhfdCgweDIpKSAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wRHluYW1pYzsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzMzN19wdXRHbG9iYWxWYXJpYWJsZV9fbm9WYXJpYWJsZVdhdGNocG9pbnRTZXQpCiAgICB0
MCA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MjEKICAgICpDQVNUPGludDY0X3QqPih0MC5pOHAo
KSkgPSB0MS5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjUyMgogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzkKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9i
YWxPYmplY3RfX3dyaXRlQmFycmllck9uR2xvYmFsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2Vs
bF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzM4X2xvYWRfX2NvbnN0YW50Owog
ICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0
X193cml0ZUJhcnJpZXJPbkdsb2JhbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzMzOF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxPYmpl
Y3RfX3dyaXRlQmFycmllck9uR2xvYmFsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzM4X2xvYWRfX2NvbnN0YW50KQogICAgdDAg
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5p
OHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBp
bnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdF9fd3JpdGVCYXJyaWVyT25HbG9iYWxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18zMzhfbG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkg
IT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3Jp
dGVCYXJyaWVyT25HbG9iYWxPYmplY3RfXzMzOF93cml0ZUJhcnJpZXJPbkdsb2JhbF9fd3JpdGVC
YXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTgxCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJy
aWVyT25HbG9iYWxPYmplY3RfXzMzOF93cml0ZUJhcnJpZXJPbkdsb2JhbF9fd3JpdGVCYXJyaWVy
RG9uZTsKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTkxCiAgICB0MyA9ICpDQVNUPGlu
dHB0cl90Kj4odDMuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjU5MgogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MgogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0My5pOHAo
KSArIDcpID4gdWludDhfdCgweDApKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0X193cml0
ZUJhcnJpZXJPbkdsb2JhbF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMzM4X3NraXBJ
ZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1NDIKICAgIFBVU0gocGMpOwogICAgdDEgPSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAg
IHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRT
dGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEyNQogICAgbGxpbnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193
cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdF9fd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dyaXRlQmFy
cmllck9uQ2VsbFdpdGhSZWxvYWRfXzMzOF9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9u
ZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0X18zMzhfd3JpdGVC
YXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmllckRvbmUpCiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcEdsb2JhbExleGljYWxWYXJXaXRoVmFySW5q
ZWN0aW9uQ2hlY2tzKQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHg4KSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjA3CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcENsb3N1
cmVWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyMzI5CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyA4KTsgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzAKICAgIHQyID0gKkNBU1Q8
aW50cHRyX3QqPih0Mi5pOHAoKSArIDE1OTIpOyAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjMzMQogICAgaWYgKCpDQVNUPGludDhfdCo+KHQyLmk4cCgpICsgNCkg
PT0gaW50OF90KDB4MikpICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMyCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
cER5bmFtaWM7CiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDUuaThwKCkpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1NDQKICAgIHQwID0gKHVp
bnQzMl90KSh0MC5pMzIoKSAmIGludDMyX3QoMHhmZmMwMCkpOyAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjU0NQogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpID4+IChp
bnRwdHJfdCgweGEpICYgMHgxZikpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTQ2
CiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDIpKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1NDcKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zMzhfY2hlY2tURFpJbkdsb2Jh
bFB1dFRvU2NvcGVJZk5lY2Vzc2FyeV9fbm9OZWVkRm9yVERaQ2hlY2s7CiAgICB0MCA9ICpDQVNU
PGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI1NDgKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjU0OQog
ICAgaWYgKHQwLmk2NCgpID09IGludDY0X3QoMHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTUwCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcER5bmFtaWM7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX18zMzhfY2hlY2tURFpJbkdsb2JhbFB1dFRvU2NvcGVJZk5lY2Vzc2FyeV9fbm9OZWVkRm9y
VERaQ2hlY2spCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozOQogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRHbG9iYWxWYXJpYWJs
ZV9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzM5X2xvYWRfX2NvbnN0YW50Owog
ICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dEdsb2JhbFZhcmlhYmxlX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMzlfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dEdsb2JhbFZhcmlhYmxlX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMzlfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgp
ICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYK
ICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0
cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X3B1dEdsb2JhbFZhcmlhYmxlX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zMzlf
bG9hZF9fZG9uZSkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDgpOyAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUxNwogICAgaWYgKHQy
LmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNTE4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzM5X3B1dEdsb2JhbFZhcmlhYmxlX19ub1Zhcmlh
YmxlV2F0Y2hwb2ludFNldDsKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0Mi5pOHAoKSArIDQpICE9
IGludDhfdCgweDIpKSAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjgKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wRHlu
YW1pYzsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fXzMzOV9wdXRHbG9iYWxWYXJpYWJsZV9fbm9WYXJpYWJsZVdh
dGNocG9pbnRTZXQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MjEKICAgICpDQVNU
PGludDY0X3QqPih0MC5pOHAoKSkgPSB0MS5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjUyMgogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgzKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
d3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRfX3dyaXRlQmFycmllck9uR2xv
YmFsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMzQwX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX3dyaXRlQmFycmllck9uR2xvYmFsTGV4aWNhbEVudmlyb25tZW50X193cml0ZUJhcnJpZXJP
bkdsb2JhbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzM0MF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRf
X3dyaXRlQmFycmllck9uR2xvYmFsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzQwX2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAo
KSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2
CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRw
dHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X193cml0ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZpcm9ubWVudF9fd3JpdGVCYXJyaWVyT25H
bG9iYWxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18zNDBfbG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFz
ay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRfXzM0MF93cml0ZUJh
cnJpZXJPbkdsb2JhbF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTgxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRfXzM0MF93
cml0ZUJhcnJpZXJPbkdsb2JhbF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIHQzID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTk5CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA4KTsg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwMAogICAgdDMg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTEyKTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEy
NjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlmICgqQ0FTVDx1aW50OF90
Kj4odDMuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbExl
eGljYWxFbnZpcm9ubWVudF9fd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmllck9uQ2Vs
bFdpdGhSZWxvYWRfXzM0MF9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZTsKICAgIFBV
U0gocGNCYXNlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQyCiAgICBQVVNIKHBjKTsKICAgIHQxID0gdDMuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTQzCiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NAogICAg
Y2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOyAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjUKICAgIGxsaW50X3dyaXRlX2JhcnJpZXJfc2xv
dyh0MCwgdDEpOwogICAgUE9QKHBjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDYKICAgIFBPUChwY0Jh
c2UpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1l
bnRfX3dyaXRlQmFycmllck9uR2xvYmFsX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX18z
NDBfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0
ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZpcm9ubWVudF9fMzQwX3dyaXRlQmFycmllck9uR2xv
YmFsX193cml0ZUJhcnJpZXJEb25lKQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3BDbG9zdXJlVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcykKICAg
IGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4OSkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjYxNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BNb2R1bGVWYXI7CiAgICB0MiA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjIzMjkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAo
KSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMz
MAogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTU5Mik7ICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMxCiAgICBpZiAoKkNBU1Q8aW50OF90
Kj4odDIuaThwKCkgKyA0KSA9PSBpbnQ4X3QoMHgyKSkgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjIzMzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19wRHluYW1pYzsKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2OQog
ICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlm
ICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0Q2xvc3VyZVZhcl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzQxX2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX3B1dENsb3N1cmVWYXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzM0MV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fcHV0Q2xvc3VyZVZhcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMzQxX2xvYWRfX2NvbnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAo
KSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUK
ICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MiA9ICpDQVNUPGludDY0X3Qq
Pih0Mi5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRDbG9zdXJlVmFyX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNDFfbG9hZF9fZG9uZSkKICAgIHQxID0gKkNBU1Q8
aW50cHRyX3QqPih0NS5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjUyOAogICAgKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmko
KSA8PCAzKSArIGludHB0cl90KDB4MjApKSA9IHQyLmk2NCgpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI1MjkKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM5CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9u
T3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18zNDJfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM0Ml9sb2FkX19kb25lOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzM0Ml9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDc1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAgPSAqQ0FT
VDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVy
T25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzM0Ml9sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENl
bGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX18zNDNfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsK
ICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzQzX3dyaXRlQmFycmllck9uT3Bl
cmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmll
ck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNDNfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVy
T25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzQzX2xvYWRf
X2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9u
T3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX18zNDNfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNU
PGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsg
MTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAg
IHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90
KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVy
T25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM0M19sb2FkX19kb25lKQogICAgaWYgKCh0Mi5pNjQo
KSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRfXzM0M193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJp
ZXJEb25lOwogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTI2MgogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAoKSArIDcpID4g
dWludDhfdCgweDApKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3Bl
cmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxs
V2l0aFJlbG9hZF9fMzQzX3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lOwogICAgUFVT
SChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAgdDEgPSB0Mi5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBj
bG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVfYmFycmllcl9zbG93
KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgogICAgUE9QKHBjQmFz
ZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9u
Q2VsbFdpdGhSZWxvYWRfXzM0M19za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZSkKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFu
ZF9fMzQzX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmUp
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX18zNDNfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVy
RG9uZSkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19wTW9kdWxlVmFyKQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHg1KSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjIzCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcER5bmFt
aWM7CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0
YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0g
c2xvd19wYXRoX3Rocm93X3N0cmljdF9tb2RlX3JlYWRvbmx5X3Byb3BlcnR5X3dyaXRlX2Vycm9y
KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAg
IHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX3BEeW5hbWljKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNl
dEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9wdXRfdG9fc2NvcGUodDAsIHQxKTsKICAgICAgICBk
ZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1
dF90b19zY29wZV93aWRlMTYpCiAgICB0NSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJs
ZS5pOHAoKSArIDEwMik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlm
ICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18zNDNfbWV0YWRhdGFfX3NldFVw
T2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAz
MjQpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19t
ZXRhZGF0YV9fMzQzX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQwID0gKkNBU1Q8dWludDE2
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhlKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAqIGlu
dDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5Nwog
ICAgdDUgPSAodWludDMyX3QpKHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRh
VGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTkKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPih0NS5pOHAoKSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjU1NQogICAgdDAgPSAodWludDMy
X3QpKHQwLmkzMigpICYgaW50MzJfdCgweDNmZikpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyNTU2CiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDQpKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1NTkKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzM2Nl9m
bl9fcEdsb2JhbFByb3BlcnR5OwogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2OQogICAgdDEg
PSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDEu
aSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dExvY2FsQ2xvc3VyZVZhcl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzQ0X2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX3B1dExvY2FsQ2xvc3VyZVZhcl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMzQ0X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEw
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19wdXRMb2NhbENsb3N1cmVWYXJfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzM0NF9sb2FkX19jb25zdGFudCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDgxCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDIgPSAqQ0FT
VDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0TG9jYWxDbG9z
dXJlVmFyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNDRfbG9hZF9fZG9uZSkK
ICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUzNQogICAgaWYgKHQzLmkoKSA9PSAwKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNTM2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fMzQ0X3B1dExvY2FsQ2xvc3VyZVZhcl9fbm9WYXJpYWJsZVdhdGNocG9p
bnRTZXQ7CiAgICBpZiAoKkNBU1Q8aW50OF90Kj4odDMuaThwKCkgKyA0KSAhPSBpbnQ4X3QoMHgy
KSkgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjY4CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zNjZfZm5fX3BEeW5hbWljOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fMzQ0X3B1dExvY2FsQ2xvc3VyZVZhcl9fbm9WYXJpYWJsZVdhdGNocG9p
bnRTZXQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MzkKICAgICpDQVNUPGludDY0
X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSkgPSB0Mi5pNjQo
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTQwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNU
PGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3Qo
MHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM0NV9sb2FkX19jb25zdGFudDsK
ICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMzQ1X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2Vs
bF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzQ1X2xvYWRfX2NvbnN0YW50KQog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQwID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDgyCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwg
MykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
Q2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzQ1X2xvYWRfX2RvbmUpCiAg
ICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzM0Nl93cml0ZUJhcnJpZXJPbk9wZXJh
bmRzX193cml0ZUJhcnJpZXJEb25lOwogICAgaWYgKHQwLmkoKSA9PSAwKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NzIK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X18zNDZfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIHQxID0g
KGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQxLmko
KSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNDZfbG9h
ZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgp
IDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVy
T25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRX
aXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMzQ2X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNDZfbG9hZF9f
Y29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDIgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsg
KHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmll
ck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM0Nl9sb2Fk
X19kb25lKQogICAgaWYgKCh0Mi5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzM0Nl93cml0ZUJhcnJpZXJPbk9wZXJh
bmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lOwogICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTI2MQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MgogICAgaWYgKCpDQVNUPHVp
bnQ4X3QqPih0Mi5pOHAoKSArIDcpID4gdWludDhfdCgweDApKQogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3Bl
cmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJl
bG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMzQ2X3NraXBJZklzUmVtZW1iZXJl
ZE9ySW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBV
U0gocGMpOwogICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIo
c3AudnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAg
bGxpbnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdp
dGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzM0Nl9za2lwSWZJc1JlbWVt
YmVyZWRPckluRWRlbl9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFu
ZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMzQ2X3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhS
ZWxvYWRfX3dyaXRlQmFycmllckRvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zNDZfd3JpdGVCYXJyaWVy
T25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHgxMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzM2Nl9mbl9fcEdsb2JhbFByb3BlcnR5KQogICAgaWYgKHQw
LmkzMigpICE9IGludDMyX3QoMHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNTY2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX18zNjZfZm5fX3BHbG9iYWxWYXI7CiAgICB0MCA9IChpbnQ2
NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQwID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjQyMQogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTcKICAgIHQx
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA2CiAgICB0MyA9IHQyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjYwNwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgODApOyAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDgKICAgIHQzID0gKHVpbnQzMl90
KSh0My5pMzIoKSA+PiAoaW50cHRyX3QoMHg3KSAmIDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjA5CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAyMjQp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMAogICAgdDMg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTEKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgw
eDMwKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYxMgogICAgdDIgPSB0Mi5pKCkgXiB0My5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTMK
ICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQyMwogICAgaWYgKHQyLmkoKSAhPSB0MS5p
KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNDI0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX18zNjZfZm5fX3BEeW5hbWljOwogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQx
Nl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDAp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX3B1dFByb3BlcnR5X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNDdfbG9h
ZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgp
IDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0UHJvcGVydHlf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM0N19sb2FkX19kb25lOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0UHJvcGVydHlfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM0N19sb2FkX19jb25zdGFudCkKICAgIHQyID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThw
KCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
MgogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50
cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fcHV0UHJvcGVydHlfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM0N19sb2Fk
X19kb25lKQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTEwCiAgICBpZiAodDEuaTMy
KCkgPCBpbnQzMl90KDB4NjQpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE0MDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRQcm9wZXJ0eV9fMzQ3X3N0b3JlUHJvcGVydHlBdFZh
cmlhYmxlT2Zmc2V0X19pc0lubGluZTsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAo
KSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQw
NAogICAgdDEgPSAodWludDMyX3QpKC10MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDA1CiAgICB0MSA9IHQxLmkzMigpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE0MDYKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3B1dFByb3BlcnR5X18zNDdfc3RvcmVQcm9wZXJ0eUF0VmFyaWFibGVPZmZz
ZXRfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MDcKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X3B1dFByb3BlcnR5X18zNDdfc3RvcmVQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5l
KQogICAgdDAgPSB0MC5pKCkgKyBpbnRwdHJfdCgtNzY4KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDA5CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRQ
cm9wZXJ0eV9fMzQ3X3N0b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeSkKICAgICpD
QVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDMxMCkp
ID0gdDIuaTY0KCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQxMQogICAgdDEgPSAoaW50
NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDEuaSgpID49
IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNDhfbG9hZF9f
Y29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8
IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzM0OF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JW
YXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM0OF9sb2FkX19j
b25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MCA9ICpDQVNU
PGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAo
dDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50
T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM0OF9sb2Fk
X19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zNDlfd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fMzQ5X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7
CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAg
IGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19f
d3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMzQ5X2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkK
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVy
T25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM0OV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
MzQ5X2xvYWRfX2NvbnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAr
IDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAg
IHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0
Mi5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18zNDlfbG9hZF9fZG9uZSkKICAgIGlmICgodDIuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkg
IT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18zNDlfd3JpdGVCYXJy
aWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlm
ICgqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3Bl
cmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzM0OV9za2lwSWZJ
c1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZTsKICAgIFBVU0gocGNCYXNlKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTQyCiAgICBQVVNIKHBjKTsKICAgIHQxID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQzCiAgICB0
MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NAogICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMjUKICAgIGxsaW50X3dyaXRlX2JhcnJpZXJfc2xvdyh0MCwgdDEpOwogICAgUE9QKHBjKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1NDYKICAgIFBPUChwY0Jhc2UpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX18zNDlfc2tp
cElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzM0OV93cml0ZUJhcnJpZXJPbk9w
ZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzQ5X3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmUpCiAgICBwYyA9IHBjLmkoKSAr
IGludHB0cl90KDB4MTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zNjZfZm5fX3BHbG9iYWxWYXIpCiAgICBp
ZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDEpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1NzMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzM2Nl9mbl9fcEdsb2JhbExleGljYWxWYXI7CiAg
ICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlm
ICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0R2xvYmFsVmFyaWFibGVfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM1MF9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19wdXRHbG9iYWxWYXJpYWJsZV9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMzUwX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19wdXRHbG9iYWxWYXJpYWJsZV9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMzUwX2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODEKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MSA9ICpD
QVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRHbG9iYWxW
YXJpYWJsZV9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzUwX2xvYWRfX2RvbmUp
CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MTcKICAgIGlmICh0Mi5pKCkgPT0gMCkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjUxOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzM1MF9wdXRHbG9iYWxWYXJpYWJsZV9fbm9WYXJpYWJsZVdhdGNocG9p
bnRTZXQ7CiAgICBpZiAoKkNBU1Q8aW50OF90Kj4odDIuaThwKCkgKyA0KSAhPSBpbnQ4X3QoMHgy
KSkgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjY4CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zNjZfZm5fX3BEeW5hbWljOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fMzUwX3B1dEdsb2JhbFZhcmlhYmxlX19ub1ZhcmlhYmxlV2F0Y2hwb2lu
dFNldCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUyMQogICAgKkNBU1Q8aW50NjRf
dCo+KHQwLmk4cCgpKSA9IHQxLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyNTIyCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDcKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVC
YXJyaWVyT25HbG9iYWxPYmplY3RfX3dyaXRlQmFycmllck9uR2xvYmFsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzUxX2xvYWRf
X2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8
PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9u
R2xvYmFsT2JqZWN0X193cml0ZUJhcnJpZXJPbkdsb2JhbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM1MV9sb2FkX19kb25lOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVy
T25HbG9iYWxPYmplY3RfX3dyaXRlQmFycmllck9uR2xvYmFsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzUxX2xvYWRfX2NvbnN0
YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQwID0gKkNBU1Q8aW50
cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDgyCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5p
KCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgz
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdF9fd3JpdGVCYXJyaWVy
T25HbG9iYWxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18zNTFfbG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxs
TWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxPYmplY3RfXzM1MV93cml0ZUJhcnJpZXJPbkds
b2JhbF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTgx
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fd3JpdGVCYXJyaWVyT25HbG9iYWxPYmplY3RfXzM1MV93cml0ZUJhcnJpZXJPbkdsb2JhbF9f
d3JpdGVCYXJyaWVyRG9uZTsKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAx
Nik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTkxCiAgICB0
MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU5MgogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTI2MQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MgogICAgaWYgKCpDQVNUPHVpbnQ4
X3QqPih0My5pOHAoKSArIDcpID4gdWludDhfdCgweDApKQogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFs
T2JqZWN0X193cml0ZUJhcnJpZXJPbkdsb2JhbF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9h
ZF9fMzUxX3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2Up
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAgdDEgPSB0My5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNr
LnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7
CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdF9fd3JpdGVCYXJyaWVyT25HbG9i
YWxfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzM1MV9za2lwSWZJc1JlbWVtYmVyZWRP
ckluRWRlbl9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0
X18zNTFfd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmllckRvbmUpCiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4MTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zNjZfZm5fX3BHbG9iYWxMZXhp
Y2FsVmFyKQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHgyKSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTc5CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zNjZfZm5fX3BDbG9zdXJl
VmFyOwogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQ1Lmk4cCgpKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTQ0CiAgICB0MCA9ICh1aW50MzJf
dCkodDAuaTMyKCkgJiBpbnQzMl90KDB4ZmZjMDApKTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjI1NDUKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSA+PiAoaW50cHRy
X3QoMHhhKSAmIDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjU0NgogICAg
aWYgKHQwLmkzMigpICE9IGludDMyX3QoMHgyKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTQ3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzUxX2NoZWNrVERaSW5HbG9iYWxQdXRU
b1Njb3BlSWZOZWNlc3NhcnlfX25vTmVlZEZvclREWkNoZWNrOwogICAgdDAgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQ1Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyNTQ4CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1NDkKICAgIGlm
ICh0MC5pNjQoKSA9PSBpbnQ2NF90KDB4MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjU1MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzY2X2ZuX19wRHluYW1pYzsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzM1MV9jaGVja1REWkluR2xvYmFsUHV0VG9TY29wZUlmTmVjZXNzYXJ5X19ub05lZWRGb3JU
RFpDaGVjaykKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NwogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRHbG9iYWxWYXJpYWJs
ZV9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzUyX2xvYWRfX2NvbnN0YW50Owog
ICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dEdsb2JhbFZhcmlhYmxlX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNTJfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dEdsb2JhbFZhcmlhYmxlX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNTJfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgp
ICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIK
ICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0
cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X3B1dEdsb2JhbFZhcmlhYmxlX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNTJf
bG9hZF9fZG9uZSkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDgpOyAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUxNwogICAgaWYgKHQy
LmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNTE4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzUyX3B1dEdsb2JhbFZhcmlhYmxlX19ub1Zhcmlh
YmxlV2F0Y2hwb2ludFNldDsKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0Mi5pOHAoKSArIDQpICE9
IGludDhfdCgweDIpKSAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjgKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzM2Nl9mbl9f
cER5bmFtaWM7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zNTJfcHV0R2xvYmFsVmFyaWFibGVfX25vVmFyaWFi
bGVXYXRjaHBvaW50U2V0KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTIxCiAgICAq
Q0FTVDxpbnQ2NF90Kj4odDAuaThwKCkpID0gdDEuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MjIKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50
MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQw
KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZpcm9ubWVudF9fd3JpdGVCYXJyaWVy
T25HbG9iYWxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18zNTNfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRfX3dyaXRlQmFy
cmllck9uR2xvYmFsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMzUzX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZpcm9u
bWVudF9fd3JpdGVCYXJyaWVyT25HbG9iYWxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNTNfbG9hZF9fY29uc3RhbnQpCiAgICB0
MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQw
Lmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSAr
IGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsTGV4aWNhbEVudmlyb25tZW50X193cml0ZUJhcnJp
ZXJPbkdsb2JhbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzM1M19sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENl
bGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZpcm9ubWVudF9fMzUzX3dy
aXRlQmFycmllck9uR2xvYmFsX193cml0ZUJhcnJpZXJEb25lOwogICAgaWYgKHQwLmkoKSA9PSAw
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1ODEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZpcm9ubWVudF9f
MzUzX3dyaXRlQmFycmllck9uR2xvYmFsX193cml0ZUJhcnJpZXJEb25lOwogICAgdDMgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1OTkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSAr
IDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAwCiAg
ICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyAxMTIpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwMQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTI2MQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MgogICAgaWYgKCpDQVNUPHVp
bnQ4X3QqPih0My5pOHAoKSArIDcpID4gdWludDhfdCgweDApKQogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xv
YmFsTGV4aWNhbEVudmlyb25tZW50X193cml0ZUJhcnJpZXJPbkdsb2JhbF9fd3JpdGVCYXJyaWVy
T25DZWxsV2l0aFJlbG9hZF9fMzUzX3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lOwog
ICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAgdDEgPSB0
My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0
CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVfYmFycmll
cl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgogICAgUE9Q
KHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZp
cm9ubWVudF9fd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxv
YWRfXzM1M19za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZSkKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X3dyaXRlQmFycmllck9uR2xvYmFsTGV4aWNhbEVudmlyb25tZW50X18zNTNfd3JpdGVCYXJyaWVy
T25HbG9iYWxfX3dyaXRlQmFycmllckRvbmUpCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4
MTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkp
OyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigm
Z19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX18zNjZfZm5fX3BDbG9zdXJlVmFyKQogICAgaWYgKHQwLmkzMigp
ICE9IGludDMyX3QoMHgzKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyNTg2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX18zNjZfZm5fX3BHbG9iYWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25D
aGVja3M7CiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDcKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5CiAgICB0MSA9IChpbnQ2NF90KSpD
QVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0MS5pKCkgPj0gaW50cHRy
X3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fcHV0Q2xvc3VyZVZhcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMzU0X2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkK
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1
dENsb3N1cmVWYXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM1NF9sb2FkX19k
b25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0Q2xv
c3VyZVZhcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzU0X2xvYWRfX2NvbnN0
YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQyID0gKkNBU1Q8aW50
cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDgyCiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0MS5p
KCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgz
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19wdXRDbG9zdXJlVmFyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18zNTRfbG9hZF9fZG9uZSkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAo
KSArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUy
OAogICAgKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90
KDB4MjApKSA9IHQyLmk2NCgpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MjkKICAgIHQx
ID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQx
LmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzU1
X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQx
LmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFy
cmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX18zNTVfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNTVf
bG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4
cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18z
NTVfbG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0g
MCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzU2X3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICBpZiAodDAuaSgpID09
IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjU3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzM1Nl93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJp
ZXJEb25lOwogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ3CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3Bl
cmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJl
bG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzM1Nl9sb2FkX19jb25zdGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNm
ci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRl
QmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNTZfbG9hZF9fZG9uZTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFu
ZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9h
ZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzM1Nl9sb2FkX19jb25zdGFudCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDgxCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDIgPSAqQ0FTVDxpbnQ2
NF90Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVy
YW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVs
b2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMzU2X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2su
aTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUz
NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMzU2X3dy
aXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmU7CiAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxMjYxCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjYy
CiAgICBpZiAoKkNBU1Q8dWludDhfdCo+KHQyLmk4cCgpICsgNykgPiB1aW50OF90KDB4MCkpCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
d3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX18zNTZf
c2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmU7CiAgICBQVVNIKHBjQmFzZSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU0MgogICAgUFVTSChwYyk7CiAgICB0MSA9IHQyLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0
MwogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDQKICAgIGNsb29wU3RhY2suc2V0Q3Vy
cmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTI1CiAgICBsbGludF93cml0ZV9iYXJyaWVyX3Nsb3codDAsIHQxKTsKICAgIFBP
UChwYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ2CiAgICBQT1AocGNCYXNlKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVC
YXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9f
MzU2X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lKQoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18zNTZfd3JpdGVCYXJy
aWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZSkKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzM1Nl93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lKQogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzY2X2ZuX19wR2xvYmFsUHJv
cGVydHlXaXRoVmFySW5qZWN0aW9uQ2hlY2tzKQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3Qo
MHg2KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyNTkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX18zNjZfZm5fX3BHbG9iYWxWYXJXaXRoVmFySW5qZWN0aW9uQ2hlY2tzOwogICAgdDAgPSAo
aW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICB0MCA9ICpDQVNU
PGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI0MjEKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSk7
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjE3CiAg
ICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwNgogICAgdDMgPSB0Mi5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MDcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDgwKTsgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA4CiAgICB0MyA9ICh1aW50
MzJfdCkodDMuaTMyKCkgPj4gKGludHB0cl90KDB4NykgJiAweDFmKSk7ICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjYwOQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsg
MjI0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTAKICAg
IHQzID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjExCiAgICB0MiA9IHQyLmkoKSA8PCAoaW50cHRy
X3QoMHgzMCkgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTIKICAgIHQyID0gdDIuaSgpIF4gdDMuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjEzCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyA4KTsgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI0MjMKICAgIGlmICh0Mi5pKCkgIT0g
dDEuaSgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjQyNAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fMzY2X2ZuX19wRHluYW1pYzsKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8
aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgw
eDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19wdXRQcm9wZXJ0eV9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzU3
X2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQx
LmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dFByb3Bl
cnR5X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNTdfbG9hZF9fZG9uZTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dFByb3BlcnR5X19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNTdfbG9hZF9fY29uc3RhbnQpCiAgICB0
MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQy
Lmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODIKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSAr
IGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3B1dFByb3BlcnR5X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNTdf
bG9hZF9fZG9uZSkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUxMAogICAgaWYgKHQx
LmkzMigpIDwgaW50MzJfdCgweDY0KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0UHJvcGVydHlfXzM1N19zdG9yZVByb3BlcnR5
QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmU7CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAu
aThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE0MDQKICAgIHQxID0gKHVpbnQzMl90KSgtdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQwNQogICAgdDEgPSB0MS5pMzIo
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNDA2CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19wdXRQcm9wZXJ0eV9fMzU3X3N0b3JlUHJvcGVydHlBdFZhcmlhYmxl
T2Zmc2V0X19yZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDA3CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19wdXRQcm9wZXJ0eV9fMzU3X3N0b3JlUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lu
bGluZSkKICAgIHQwID0gdDAuaSgpICsgaW50cHRyX3QoLTc2OCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQwOQoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
cHV0UHJvcGVydHlfXzM1N19zdG9yZVByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHkpCiAg
ICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoMHgz
MTApKSA9IHQyLmk2NCgpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MTEKICAgIHQxID0g
KGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQxLmko
KSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzU4X2xv
YWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmko
KSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmll
ck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18zNThfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNThfbG9h
ZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNThf
bG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzU5X3dyaXRl
QmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICBpZiAodDAuaSgpID09IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjU3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzM1OV93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJE
b25lOwogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3
CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFu
ZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9h
ZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzM1OV9sb2FkX19jb25zdGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFy
cmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNTlfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNf
X3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzM1OV9sb2FkX19jb25zdGFudCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
KCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgx
CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDIgPSAqQ0FTVDxpbnQ2NF90
Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5k
c19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2Fk
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fMzU5X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0
KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMzU5X3dyaXRl
QmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmU7CiAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMjYxCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjYyCiAg
ICBpZiAoKkNBU1Q8dWludDhfdCo+KHQyLmk4cCgpICsgNykgPiB1aW50OF90KDB4MCkpCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX18zNTlfc2tp
cElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmU7CiAgICBQVVNIKHBjQmFzZSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjU0MgogICAgUFVTSChwYyk7CiAgICB0MSA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0Mwog
ICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDQKICAgIGNsb29wU3RhY2suc2V0Q3VycmVu
dFN0YWNrUG9pbnRlcihzcC52cCgpKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTI1CiAgICBsbGludF93cml0ZV9iYXJyaWVyX3Nsb3codDAsIHQxKTsKICAgIFBPUChw
Yyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ2CiAgICBQT1AocGNCYXNlKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJy
aWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMzU5
X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVC
YXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18zNTlfd3JpdGVCYXJyaWVy
T25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZSkKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzM1
OV93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lKQogICAgcGMgPSBwYy5p
KCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzY2X2ZuX19wR2xvYmFsVmFyV2l0
aFZhckluamVjdGlvbkNoZWNrcykKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4NykpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjYwMAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzY2
X2ZuX19wR2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M7CiAgICB0MiA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjIzMjkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAo
KSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMz
MAogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTU5Mik7ICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMxCiAgICBpZiAoKkNBU1Q8aW50OF90
Kj4odDIuaThwKCkgKyA0KSA9PSBpbnQ4X3QoMHgyKSkgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjIzMzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzM2Nl9mbl9fcER5bmFtaWM7CiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGlu
dDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0
MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fcHV0R2xvYmFsVmFyaWFibGVfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzM2MF9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRH
bG9iYWxWYXJpYWJsZV9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzYwX2xvYWRf
X2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRH
bG9iYWxWYXJpYWJsZV9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzYwX2xvYWRf
X2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQxID0gKkNB
U1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRHbG9iYWxWYXJpYWJsZV9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMzYwX2xvYWRfX2RvbmUpCiAgICB0MiA9ICpDQVNUPGludHB0cl90
Kj4odDUuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI1MTcKICAgIGlmICh0Mi5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUxOAogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzM2MF9wdXRH
bG9iYWxWYXJpYWJsZV9fbm9WYXJpYWJsZVdhdGNocG9pbnRTZXQ7CiAgICBpZiAoKkNBU1Q8aW50
OF90Kj4odDIuaThwKCkgKyA0KSAhPSBpbnQ4X3QoMHgyKSkgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxMjY4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX18zNjZfZm5fX3BEeW5hbWljOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzYwX3B1dEds
b2JhbFZhcmlhYmxlX19ub1ZhcmlhYmxlV2F0Y2hwb2ludFNldCkKICAgIHQwID0gKkNBU1Q8aW50
cHRyX3QqPih0NS5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjUyMQogICAgKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpKSA9IHQxLmk2NCgp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTIyCiAgICB0
MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0
MS5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxPYmplY3RfX3dy
aXRlQmFycmllck9uR2xvYmFsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzYxX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0X193cml0ZUJhcnJp
ZXJPbkdsb2JhbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzM2MV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxPYmplY3RfX3dyaXRlQmFy
cmllck9uR2xvYmFsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMzYxX2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODEKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MCA9
ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJh
cnJpZXJPbkdsb2JhbE9iamVjdF9fd3JpdGVCYXJyaWVyT25HbG9iYWxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNjFfbG9hZF9f
ZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25H
bG9iYWxPYmplY3RfXzM2MV93cml0ZUJhcnJpZXJPbkdsb2JhbF9fd3JpdGVCYXJyaWVyRG9uZTsK
ICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTgxCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxP
YmplY3RfXzM2MV93cml0ZUJhcnJpZXJPbkdsb2JhbF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIHQz
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTkxCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMu
aThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU5MgogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTI2MgogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0My5pOHAoKSArIDcpID4gdWlu
dDhfdCgweDApKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0X193cml0ZUJhcnJpZXJPbkds
b2JhbF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMzYxX3NraXBJZklzUmVtZW1iZXJl
ZE9ySW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBV
U0gocGMpOwogICAgdDEgPSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIo
c3AudnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAg
bGxpbnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJP
bkdsb2JhbE9iamVjdF9fd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmllck9uQ2VsbFdp
dGhSZWxvYWRfXzM2MV9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZSkKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0X18zNjFfd3JpdGVCYXJyaWVyT25HbG9i
YWxfX3dyaXRlQmFycmllckRvbmUpCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX18zNjZfZm5fX3BHbG9iYWxMZXhpY2FsVmFyV2l0aFZhckluamVjdGlvbkNo
ZWNrcykKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4OCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjYwNwogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzY2X2ZuX19wQ2xvc3VyZVZh
cldpdGhWYXJJbmplY3Rpb25DaGVja3M7CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIz
MjkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDgpOyAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzMAogICAgdDIgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQyLmk4cCgpICsgMTU5Mik7ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyMzMxCiAgICBpZiAoKkNBU1Q8aW50OF90Kj4odDIuaThwKCkgKyA0KSA9PSBp
bnQ4X3QoMHgyKSkgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzIKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzM2Nl9mbl9f
cER5bmFtaWM7CiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDUuaThwKCkpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1NDQKICAgIHQwID0gKHVp
bnQzMl90KSh0MC5pMzIoKSAmIGludDMyX3QoMHhmZmMwMCkpOyAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjU0NQogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpID4+IChp
bnRwdHJfdCgweGEpICYgMHgxZikpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTQ2
CiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDIpKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1NDcKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zNjFfY2hlY2tURFpJbkdsb2Jh
bFB1dFRvU2NvcGVJZk5lY2Vzc2FyeV9fbm9OZWVkRm9yVERaQ2hlY2s7CiAgICB0MCA9ICpDQVNU
PGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI1NDgKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjU0OQog
ICAgaWYgKHQwLmk2NCgpID09IGludDY0X3QoMHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTUwCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zNjZfZm5fX3BEeW5hbWljOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fMzYxX2NoZWNrVERaSW5HbG9iYWxQdXRUb1Njb3BlSWZOZWNlc3NhcnlfX25vTmVl
ZEZvclREWkNoZWNrKQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ3CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dEdsb2JhbFZh
cmlhYmxlX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNjJfbG9hZF9fY29uc3Rh
bnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0R2xvYmFsVmFyaWFibGVfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM2Ml9sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0R2xvYmFsVmFyaWFibGVfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM2Ml9sb2FkX19jb25zdGFudCkKICAgIHQx
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEu
aThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4MgogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpICsg
aW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fcHV0R2xvYmFsVmFyaWFibGVfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzM2Ml9sb2FkX19kb25lKQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgOCk7
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTE3CiAgICBp
ZiAodDIuaSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MTgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zNjJfcHV0R2xvYmFsVmFyaWFibGVfX25v
VmFyaWFibGVXYXRjaHBvaW50U2V0OwogICAgaWYgKCpDQVNUPGludDhfdCo+KHQyLmk4cCgpICsg
NCkgIT0gaW50OF90KDB4MikpICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2OAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzY2
X2ZuX19wRHluYW1pYzsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzM2Ml9wdXRHbG9iYWxWYXJpYWJsZV9fbm9W
YXJpYWJsZVdhdGNocG9pbnRTZXQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkg
KyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MjEK
ICAgICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSkgPSB0MS5pNjQoKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUyMgogICAgdDEgPSAoaW50NjRfdCkqQ0FT
VDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4Nikp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDEuaSgpID49IGludHB0cl90
KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsTGV4aWNhbEVudmlyb25tZW50X193cml0ZUJh
cnJpZXJPbkdsb2JhbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzM2M19sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZpcm9ubWVudF9fd3Jp
dGVCYXJyaWVyT25HbG9iYWxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX18zNjNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsTGV4aWNhbEVu
dmlyb25tZW50X193cml0ZUJhcnJpZXJPbkdsb2JhbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM2M19sb2FkX19jb25zdGFudCkK
ICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90
Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8
IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRfX3dyaXRl
QmFycmllck9uR2xvYmFsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzYzX2xvYWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCgpICYg
bm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsTGV4aWNhbEVudmlyb25tZW50X18z
NjNfd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmllckRvbmU7CiAgICBpZiAodDAuaSgp
ID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjU4MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsTGV4aWNhbEVudmlyb25t
ZW50X18zNjNfd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmllckRvbmU7CiAgICB0MyA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjU5OQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4
cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MDAKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDExMik7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAxCiAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMjYxCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjYyCiAgICBpZiAoKkNB
U1Q8dWludDhfdCo+KHQzLmk4cCgpICsgNykgPiB1aW50OF90KDB4MCkpCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVy
T25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRfX3dyaXRlQmFycmllck9uR2xvYmFsX193cml0ZUJh
cnJpZXJPbkNlbGxXaXRoUmVsb2FkX18zNjNfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2Rv
bmU7CiAgICBQVVNIKHBjQmFzZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MgogICAgUFVTSChwYyk7CiAgICB0
MSA9IHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MwogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1NDQKICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI1CiAgICBsbGludF93cml0ZV9i
YXJyaWVyX3Nsb3codDAsIHQxKTsKICAgIFBPUChwYyk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ2CiAg
ICBQT1AocGNCYXNlKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsTGV4aWNh
bEVudmlyb25tZW50X193cml0ZUJhcnJpZXJPbkdsb2JhbF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0
aFJlbG9hZF9fMzYzX3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lKQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRfXzM2M193cml0ZUJh
cnJpZXJPbkdsb2JhbF9fd3JpdGVCYXJyaWVyRG9uZSkKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHgxMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzM2Nl9mbl9fcENsb3N1cmVWYXJXaXRoVmFySW5qZWN0
aW9uQ2hlY2tzKQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHg5KSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjE1CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zNjZfZm5fX3BNb2R1
bGVWYXI7CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMjkKICAgIHQyID0gKkNBU1Q8
aW50cHRyX3QqPih0Mi5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjMzMAogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsg
MTU5Mik7ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMxCiAg
ICBpZiAoKkNBU1Q8aW50OF90Kj4odDIuaThwKCkgKyA0KSA9PSBpbnQ4X3QoMHgyKSkgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzM2Nl9mbl9fcER5bmFtaWM7CiAgICB0MCA9
IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDY5CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0
Q2xvc3VyZVZhcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzY0X2xvYWRfX2Nv
bnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAz
KSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dENsb3N1cmVWYXJfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM2NF9sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0Q2xvc3VyZVZhcl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzY0X2xvYWRfX2NvbnN0YW50KQogICAgdDIgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAo
KSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgy
CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRw
dHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19wdXRDbG9zdXJlVmFyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNjRfbG9h
ZF9fZG9uZSkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUyOAogICAgKkNBU1Q8aW50
NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MjApKSA9IHQyLmk2
NCgpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MjkKICAgIHQxID0gKGludDY0X3QpKkNB
U1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJf
dCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
Q2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzY1X2xvYWRfX2NvbnN0YW50
OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18zNjVfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVD
ZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNjVfbG9hZF9fY29uc3RhbnQp
CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8
PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNjVfbG9hZF9fZG9uZSkK
ICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzY2X3dyaXRlQmFycmllck9uT3Bl
cmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICBpZiAodDAuaSgpID09IDApICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU3
MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzM2Nl93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lOwogICAgdDEg
PSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDEu
aSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFy
cmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM2Nl9s
b2FkX19jb25zdGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFu
ZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18zNjZfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmll
ck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM2Nl9sb2Fk
X19jb25zdGFudCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MiA9ICpD
QVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkg
KyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJy
aWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzY2X2xv
YWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmll
ck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMzY2X3dyaXRlQmFycmllck9uT3Bl
cmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmU7CiAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMjYxCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjYyCiAgICBpZiAoKkNBU1Q8
dWludDhfdCo+KHQyLmk4cCgpICsgNykgPiB1aW50OF90KDB4MCkpCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRo
UmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX18zNjZfc2tpcElmSXNSZW1lbWJl
cmVkT3JJbkVkZW5fX2RvbmU7CiAgICBQVVNIKHBjQmFzZSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MgogICAg
UFVTSChwYyk7CiAgICB0MSA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MwogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1NDQKICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRl
cihzcC52cCgpKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI1CiAg
ICBsbGludF93cml0ZV9iYXJyaWVyX3Nsb3codDAsIHQxKTsKICAgIFBPUChwYyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTQ2CiAgICBQT1AocGNCYXNlKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmll
ck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5k
V2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMzY2X3NraXBJZklzUmVt
ZW1iZXJlZE9ySW5FZGVuX19kb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVy
YW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18zNjZfd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0
aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzM2Nl93cml0ZUJhcnJp
ZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lKQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzY2X2ZuX19wTW9kdWxlVmFyKQogICAgaWYgKHQwLmkz
MigpICE9IGludDMyX3QoMHg1KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyNjIzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX18zNjZfZm5fX3BEeW5hbWljOwogICAgcGMgPSBwYy5pKCkgKyBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9
IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF90aHJvd19zdHJpY3Rf
bW9kZV9yZWFkb25seV9wcm9wZXJ0eV93cml0ZV9lcnJvcih0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHgxMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzM2Nl9mbl9fcER5bmFtaWMpCiAgICBw
YyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRl
cihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xv
d19wYXRoX3B1dF90b19zY29wZSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMg
PSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgx
MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHV0X3RvX3Njb3BlX3dpZGUzMikK
ICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTAyKTsgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fbWV0YWRhdGFfXzM2Nl9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0NSA9ICpD
QVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDMyNCk7ICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX18zNjZfbWV0YWRh
dGFfX3NldFVwT2Zmc2V0KQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDFhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTEKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAqIGludDMyX3QoMHgxOCkpOyAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3Qp
KHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQwID0gKkNB
U1Q8dWludDMyX3QqPih0NS5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjU1NQogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpICYgaW50
MzJfdCgweDNmZikpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTU2
CiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDQpKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1NTkKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzM4OV9mbl9fcEdsb2JhbFByb3BlcnR5
OwogICAgdDAgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICB0MCA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ2OQogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU1CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dExvY2FsQ2xv
c3VyZVZhcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzY3X2xvYWRfX2NvbnN0
YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dExvY2FsQ2xvc3VyZVZhcl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzY3X2xvYWRfX2RvbmU7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRMb2NhbENsb3N1cmVWYXJf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM2N19sb2FkX19jb25zdGFudCkKICAg
IHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4o
dDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ4OAogICAgdDEgPSB0MS5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQyID0gKkNBU1Q8
aW50NjRfdCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRMb2NhbENsb3N1cmVWYXJfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM2N19sb2FkX19kb25lKQogICAgdDMgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNTM1CiAgICBpZiAodDMuaSgpID09IDApICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1
MzYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX18zNjdfcHV0TG9jYWxDbG9zdXJlVmFyX19ub1ZhcmlhYmxlV2F0Y2hwb2ludFNldDsKICAg
IGlmICgqQ0FTVDxpbnQ4X3QqPih0My5pOHAoKSArIDQpICE9IGludDhfdCgweDIpKSAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzM4OV9mbl9fcER5bmFtaWM7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX18zNjdfcHV0TG9jYWxDbG9zdXJlVmFyX19ub1ZhcmlhYmxlV2F0Y2hwb2ludFNldCkKICAg
IHQxID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUzOQogICAgKkNBU1Q8aW50NjRfdCo+KHQwLmk4
cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MjApKSA9IHQyLmk2NCgpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI1NDAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fMzY4X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNjhfbG9hZF9fZG9uZTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmll
ck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX18zNjhfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQxID0g
dDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAo
KSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5
MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JW
YXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM2OF9sb2FkX19k
b25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zNjlfd3JpdGVCYXJyaWVy
T25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fMzY5X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAg
ICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MS5pKCkg
Pj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVy
T25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzY5X2xvYWRf
X2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8
PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9u
T3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0
aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzM2OV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25P
cGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzY5X2xvYWRfX2Nv
bnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQyID0gKkNBU1Q8
aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MSA9IHQxLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDAp
OyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAg
dDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmll
ck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5k
V2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzM2OV9sb2FkX19kb25lKQogICAgaWYgKCh0Mi5pNjQoKSAmIG5vdENl
bGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRf
XzM2OV93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lOwog
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTI2MgogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAoKSArIDcpID4gdWludDhfdCgw
eDApKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9h
ZF9fMzY5X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2Up
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAgdDEgPSB0Mi5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNr
LnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7
CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRf
X3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhS
ZWxvYWRfXzM2OV9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZSkKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMzY5X3dy
aXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmUpCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX18zNjlfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzM4OV9mbl9fcEds
b2JhbFByb3BlcnR5KQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHgwKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTY2CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zODlfZm5fX3BH
bG9iYWxWYXI7CiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAg
IHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQyMQogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+
KHQwLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MTcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA2CiAgICB0MyA9IHQyLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjYwNwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsg
ODApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDgKICAg
IHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSA+PiAoaW50cHRyX3QoMHg3KSAmIDB4MWYpKTsgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA5CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4o
dDEuaThwKCkgKyAyMjQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjYxMAogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgKHQzLmkoKSA8PCAz
KSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTEKICAgIHQyID0gdDIuaSgp
IDw8IChpbnRwdHJfdCgweDMwKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDog
MHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMgogICAgdDIgPSB0Mi5pKCkgXiB0
My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo2MTMKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDgpOyAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQyMwogICAgaWYg
KHQyLmkoKSAhPSB0MS5pKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNDI0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zODlfZm5fX3BEeW5hbWljOwogICAgdDEgPSAqQ0FT
VDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4YSkp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDEuaSgpID49IGludHB0cl90
KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX3B1dFByb3BlcnR5X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18z
NzBfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0UHJv
cGVydHlfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM3MF9sb2FkX19kb25lOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0UHJvcGVydHlf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM3MF9sb2FkX19jb25zdGFudCkKICAg
IHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4o
dDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ4OAogICAgdDEgPSB0MS5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQyID0gKkNBU1Q8
aW50NjRfdCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRQcm9wZXJ0eV9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzcwX2xvYWRfX2RvbmUpCiAgICB0MSA9ICpDQVNUPGlu
dHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjI1MTAKICAgIGlmICh0MS5pMzIoKSA8IGludDMyX3QoMHg2NCkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQwMwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1
dFByb3BlcnR5X18zNzBfc3RvcmVQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lOwog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDA0CiAgICB0MSA9ICh1aW50MzJfdCkoLXQx
LmkzMigpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE0MDUKICAgIHQxID0gdDEuaTMyKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQwNgogICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0UHJvcGVydHlf
XzM3MF9zdG9yZVByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTQwNwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0UHJvcGVydHlfXzM3MF9zdG9yZVBy
b3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MCA9IHQwLmkoKSArIGludHB0
cl90KC03NjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE0MDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dFByb3BlcnR5X18zNzBfc3RvcmVQcm9wZXJ0
eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5KQogICAgKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsg
KHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MzEwKSkgPSB0Mi5pNjQoKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNDExCiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTUKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzM3MV9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2Vs
bF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzcxX2xvYWRfX2RvbmU7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMzcxX2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODcKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MSA9IHQxLmko
KSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNzFfbG9hZF9fZG9uZSkK
ICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzcyX3dyaXRlQmFycmllck9uT3Bl
cmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICBpZiAodDAuaSgpID09IDApICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU3
MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzM3Ml93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lOwogICAgdDEg
PSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDEuaSgpID49IGlu
dHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3Bl
cmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM3Ml9sb2FkX19jb25z
dGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJh
bmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxv
YWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18zNzJfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFu
ZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM3Ml9sb2FkX19jb25zdGFu
dCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MiA9ICpDQVNUPGludHB0
cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ4OAogICAgdDEgPSB0MS5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQyID0g
KkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhS
ZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18zNzJfbG9hZF9fZG9uZSkKICAgIGlmICgodDIuaTY0KCkgJiBub3RDZWxsTWFz
ay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18zNzJf
d3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEy
NjIKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFy
cmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzM3
Ml9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZTsKICAgIFBVU0gocGNCYXNlKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTQyCiAgICBQVVNIKHBjKTsKICAgIHQxID0gdDIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTQzCiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NAogICAgY2xvb3BTdGFjay5zZXRD
dXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMjUKICAgIGxsaW50X3dyaXRlX2JhcnJpZXJfc2xvdyh0MCwgdDEpOwogICAg
UE9QKHBjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDYKICAgIFBPUChwY0Jhc2UpOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2Fk
X18zNzJfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmUpCgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzM3Ml93cml0ZUJh
cnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lKQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fMzcyX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmUpCiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4MWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zODlfZm5fX3BHbG9iYWxW
YXIpCiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDEpKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1NzMKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzM4OV9mbl9fcEdsb2JhbExleGlj
YWxWYXI7CiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlm
ICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0R2xvYmFsVmFyaWFibGVfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM3M19sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19wdXRHbG9iYWxWYXJpYWJsZV9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMzczX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19wdXRHbG9iYWxWYXJpYWJsZV9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMzczX2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MCA9IHQw
LmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX3B1dEdsb2JhbFZhcmlhYmxlX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18zNzNfbG9hZF9fZG9uZSkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0NS5p
OHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjUxNwogICAgaWYgKHQyLmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTE4CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzczX3B1dEdsb2JhbFZh
cmlhYmxlX19ub1ZhcmlhYmxlV2F0Y2hwb2ludFNldDsKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0
Mi5pOHAoKSArIDQpICE9IGludDhfdCgweDIpKSAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEyNjgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fXzM4OV9mbl9fcER5bmFtaWM7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zNzNfcHV0R2xvYmFsVmFy
aWFibGVfX25vVmFyaWFibGVXYXRjaHBvaW50U2V0KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQ1Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToyNTIxCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkpID0gdDEuaTY0KCk7ICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MjIKICAgIHQxID0gKkNB
U1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJf
dCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdF9fd3JpdGVCYXJyaWVyT25HbG9i
YWxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18zNzRfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fd3JpdGVCYXJyaWVyT25HbG9iYWxPYmplY3RfX3dyaXRlQmFycmllck9uR2xvYmFsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
Mzc0X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdF9fd3JpdGVCYXJyaWVyT25HbG9iYWxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18zNzRfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4Nwog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRy
X3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwg
MykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fd3JpdGVCYXJyaWVyT25HbG9iYWxPYmplY3RfX3dyaXRlQmFycmllck9uR2xvYmFsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
Mzc0X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9
IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRl
QmFycmllck9uR2xvYmFsT2JqZWN0X18zNzRfd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dyaXRlQmFy
cmllckRvbmU7CiAgICBpZiAodDAuaSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU4MQogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmll
ck9uR2xvYmFsT2JqZWN0X18zNzRfd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmllckRv
bmU7CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU5MQogICAgdDMgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQzLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1OTIKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjEKICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDMuaThwKCkg
KyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdF9fd3JpdGVC
YXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzM3NF9za2lwSWZJ
c1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZTsKICAgIFBVU0gocGNCYXNlKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTQyCiAgICBQVVNIKHBjKTsKICAgIHQxID0gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQzCiAgICB0
MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NAogICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMjUKICAgIGxsaW50X3dyaXRlX2JhcnJpZXJfc2xvdyh0MCwgdDEpOwogICAgUE9QKHBjKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1NDYKICAgIFBPUChwY0Jhc2UpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3Jp
dGVCYXJyaWVyT25HbG9iYWxPYmplY3RfX3dyaXRlQmFycmllck9uR2xvYmFsX193cml0ZUJhcnJp
ZXJPbkNlbGxXaXRoUmVsb2FkX18zNzRfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmUp
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdF9fMzc0X3dyaXRlQmFy
cmllck9uR2xvYmFsX193cml0ZUJhcnJpZXJEb25lKQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweDFlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzg5X2ZuX19wR2xvYmFsTGV4aWNhbFZhcikKICAgIGlm
ICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4MikpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjU3OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzg5X2ZuX19wQ2xvc3VyZVZhcjsKICAgIHQwID0g
KkNBU1Q8dWludDMyX3QqPih0NS5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjU0NAogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpICYg
aW50MzJfdCgweGZmYzAwKSk7ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
NTQ1CiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgPj4gKGludHB0cl90KDB4YSkgJiAweDFm
KSk7ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1NDYKICAgIGlmICh0MC5pMzIoKSAh
PSBpbnQzMl90KDB4MikpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjU0NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzM3NF9jaGVja1REWkluR2xvYmFsUHV0VG9TY29wZUlmTmVjZXNz
YXJ5X19ub05lZWRGb3JURFpDaGVjazsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAo
KSArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjU0
OAogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTQ5CiAgICBpZiAodDAuaTY0KCkgPT0g
aW50NjRfdCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjI1NTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzM4OV9mbl9fcER5bmFtaWM7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zNzRfY2hlY2tU
RFpJbkdsb2JhbFB1dFRvU2NvcGVJZk5lY2Vzc2FyeV9fbm9OZWVkRm9yVERaQ2hlY2spCiAgICB0
MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MC5pKCkgPj0g
aW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fcHV0R2xvYmFsVmFyaWFibGVfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzM3NV9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19wdXRHbG9iYWxWYXJpYWJsZV9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMzc1X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19wdXRHbG9iYWxWYXJpYWJsZV9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMzc1X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAo
KSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcK
ICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MCA9IHQwLmkoKSAtIGludHB0
cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX3B1dEdsb2JhbFZhcmlhYmxlX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18z
NzVfbG9hZF9fZG9uZSkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDgpOyAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUxNwogICAgaWYg
KHQyLmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTE4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzc1X3B1dEdsb2JhbFZhcmlhYmxlX19ub1Zh
cmlhYmxlV2F0Y2hwb2ludFNldDsKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0Mi5pOHAoKSArIDQp
ICE9IGludDhfdCgweDIpKSAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjgKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzM4OV9m
bl9fcER5bmFtaWM7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zNzVfcHV0R2xvYmFsVmFyaWFibGVfX25vVmFy
aWFibGVXYXRjaHBvaW50U2V0KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTIxCiAg
ICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkpID0gdDEuaTY0KCk7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MjIKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAw
KSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193
cml0ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZpcm9ubWVudF9fd3JpdGVCYXJyaWVyT25HbG9i
YWxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX18zNzZfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRfX3dyaXRlQmFycmllck9u
R2xvYmFsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMzc2X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZpcm9ubWVudF9f
d3JpdGVCYXJyaWVyT25HbG9iYWxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNzZfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgp
ICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgK
ICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3Qq
Pih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52
aXJvbm1lbnRfX3dyaXRlQmFycmllck9uR2xvYmFsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2Vs
bF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzc2X2xvYWRfX2RvbmUpCiAgICBp
ZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsTGV4aWNh
bEVudmlyb25tZW50X18zNzZfd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmllckRvbmU7
CiAgICBpZiAodDAuaSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU4MQogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFs
TGV4aWNhbEVudmlyb25tZW50X18zNzZfd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmll
ckRvbmU7CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU5OQogICAgdDMgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQzLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo2MDAKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDEx
Mik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAxCiAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMjYxCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MjYyCiAgICBpZiAoKkNBU1Q8dWludDhfdCo+KHQzLmk4cCgpICsgNykgPiB1aW50OF90KDB4MCkp
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRfX3dyaXRlQmFycmllck9u
R2xvYmFsX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX18zNzZfc2tpcElmSXNSZW1lbWJl
cmVkT3JJbkVkZW5fX2RvbmU7CiAgICBQVVNIKHBjQmFzZSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MgogICAg
UFVTSChwYyk7CiAgICB0MSA9IHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MwogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1NDQKICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRl
cihzcC52cCgpKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI1CiAg
ICBsbGludF93cml0ZV9iYXJyaWVyX3Nsb3codDAsIHQxKTsKICAgIFBPUChwYyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTQ2CiAgICBQT1AocGNCYXNlKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmll
ck9uR2xvYmFsTGV4aWNhbEVudmlyb25tZW50X193cml0ZUJhcnJpZXJPbkdsb2JhbF9fd3JpdGVC
YXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMzc2X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19k
b25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1l
bnRfXzM3Nl93cml0ZUJhcnJpZXJPbkdsb2JhbF9fd3JpdGVCYXJyaWVyRG9uZSkKICAgIHBjID0g
cGMuaSgpICsgaW50cHRyX3QoMHgxZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAg
ICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzM4OV9mbl9fcENsb3N1cmVW
YXIpCiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDMpKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1ODYKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzM4OV9mbl9fcEdsb2JhbFByb3Bl
cnR5V2l0aFZhckluamVjdGlvbkNoZWNrczsKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1NQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjkKICAgIHQxID0g
KkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+PSBpbnRw
dHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19wdXRDbG9zdXJlVmFyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18zNzdfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
OAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
cHV0Q2xvc3VyZVZhcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzc3X2xvYWRf
X2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRD
bG9zdXJlVmFyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNzdfbG9hZF9fY29u
c3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDIgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0
MiA9ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0Q2xvc3VyZVZh
cl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzc3X2xvYWRfX2RvbmUpCiAgICB0
MSA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MjgKICAgICpDQVNUPGludDY0X3QqPih0MC5pOHAo
KSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDIwKSkgPSB0Mi5pNjQoKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyNTI5CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTUKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVy
T25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzM3OF9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
Q2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzc4X2xvYWRfX2RvbmU7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fMzc4X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODcKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MSA9IHQx
LmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkg
KyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zNzhfbG9hZF9fZG9u
ZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzc5X3dyaXRlQmFycmllck9u
T3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmU7CiAgICBpZiAodDAuaSgpID09IDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU3MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fXzM3OV93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lOwogICAg
dDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDEuaSgpID49
IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9u
T3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM3OV9sb2FkX19j
b25zdGFudDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhS
ZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18zNzlfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3Bl
cmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM3OV9sb2FkX19jb25z
dGFudCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MiA9ICpDQVNUPGlu
dHB0cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ4OAogICAgdDEgPSB0MS5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQy
ID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdp
dGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18zNzlfbG9hZF9fZG9uZSkKICAgIGlmICgodDIuaTY0KCkgJiBub3RDZWxs
TWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18z
Nzlfd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEyNjIKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgw
KSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRl
QmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRf
XzM3OV9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZTsKICAgIFBVU0gocGNCYXNlKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTQyCiAgICBQVVNIKHBjKTsKICAgIHQxID0gdDIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTQzCiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NAogICAgY2xvb3BTdGFjay5z
ZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMjUKICAgIGxsaW50X3dyaXRlX2JhcnJpZXJfc2xvdyh0MCwgdDEpOwog
ICAgUE9QKHBjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDYKICAgIFBPUChwY0Jhc2UpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVs
b2FkX18zNzlfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmUpCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzM3OV93cml0
ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lKQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fMzc5X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmUpCiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4MWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zODlfZm5fX3BHbG9i
YWxQcm9wZXJ0eVdpdGhWYXJJbmplY3Rpb25DaGVja3MpCiAgICBpZiAodDAuaTMyKCkgIT0gaW50
MzJfdCgweDYpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI1OTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzM4OV9mbl9fcEdsb2JhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M7CiAgICB0
MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQwID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjQyMQogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTcKICAgIHQx
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjA2CiAgICB0MyA9IHQyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjYwNwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgODApOyAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MDgKICAgIHQzID0gKHVpbnQzMl90
KSh0My5pMzIoKSA+PiAoaW50cHRyX3QoMHg3KSAmIDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NjA5CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAyMjQp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYxMAogICAgdDMg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTEKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgw
eDMwKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYxMgogICAgdDIgPSB0Mi5pKCkgXiB0My5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MTMK
ICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjQyMwogICAgaWYgKHQyLmkoKSAhPSB0MS5p
KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNDI0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX18zODlfZm5fX3BEeW5hbWljOwogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dFBy
b3BlcnR5X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zODBfbG9hZF9fY29uc3Rh
bnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0UHJvcGVydHlfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM4MF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0UHJvcGVydHlfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzM4MF9sb2FkX19jb25zdGFudCkKICAgIHQyID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDg3CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNDQp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDEg
PSB0MS5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4
cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19wdXRQcm9wZXJ0eV9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMzgwX2xvYWRfX2RvbmUpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDUuaThw
KCkgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1
MTAKICAgIGlmICh0MS5pMzIoKSA8IGludDMyX3QoMHg2NCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQwMwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dFByb3BlcnR5X18zODBf
c3RvcmVQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lOwogICAgdDAgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQwLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNDA0CiAgICB0MSA9ICh1aW50MzJfdCkoLXQxLmkzMigpKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MDUKICAg
IHQxID0gdDEuaTMyKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQwNgogICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0UHJvcGVydHlfXzM4MF9zdG9yZVByb3Bl
cnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQw
NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fcHV0UHJvcGVydHlfXzM4MF9zdG9yZVByb3BlcnR5QXRWYXJpYWJs
ZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MCA9IHQwLmkoKSArIGludHB0cl90KC03NjgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MDkKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3B1dFByb3BlcnR5X18zODBfc3RvcmVQcm9wZXJ0eUF0VmFyaWFibGVPZmZz
ZXRfX3JlYWR5KQogICAgKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSAr
IGludHB0cl90KDB4MzEwKSkgPSB0Mi5pNjQoKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDExCiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0
MS5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM4
MV9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzgxX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzgx
X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQw
ID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MSA9IHQxLmkoKSAtIGludHB0cl90KDB4
NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4OQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zODFfbG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0
KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fMzgyX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFy
cmllckRvbmU7CiAgICBpZiAodDAuaSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU3MgogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzM4Ml93cml0ZUJh
cnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lOwogICAgdDEgPSAqQ0FTVDxpbnQzMl90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDAwMDAw
MDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJy
aWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM4Ml9sb2FkX19jb25zdGFudDsKICAgIHQyID0g
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zODJfbG9h
ZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dy
aXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVy
T25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM4Ml9sb2FkX19jb25zdGFudCkKICAgIHQyID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkg
KyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAog
ICAgdDEgPSB0MS5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+
KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zODJf
bG9hZF9fZG9uZSkKICAgIGlmICgodDIuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18zODJfd3JpdGVCYXJyaWVyT25P
cGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlmICgqQ0FT
VDx1aW50OF90Kj4odDIuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdp
dGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzM4Ml9za2lwSWZJc1JlbWVt
YmVyZWRPckluRWRlbl9fZG9uZTsKICAgIFBVU0gocGNCYXNlKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQyCiAg
ICBQVVNIKHBjKTsKICAgIHQxID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQzCiAgICB0MCA9IGNm
ci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjU0NAogICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2lu
dGVyKHNwLnZwKCkpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjUK
ICAgIGxsaW50X3dyaXRlX2JhcnJpZXJfc2xvdyh0MCwgdDEpOwogICAgUE9QKHBjKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1NDYKICAgIFBPUChwY0Jhc2UpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJy
aWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJh
bmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX18zODJfc2tpcElmSXNS
ZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzM4Ml93cml0ZUJhcnJpZXJPbk9wZXJhbmRX
aXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzgyX3dyaXRlQmFy
cmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmUpCiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4MWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zODlfZm5fX3BHbG9iYWxWYXJXaXRoVmFySW5qZWN0
aW9uQ2hlY2tzKQogICAgaWYgKHQwLmkzMigpICE9IGludDMyX3QoMHg3KSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjAwCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zODlfZm5fX3BHbG9i
YWxMZXhpY2FsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrczsKICAgIHQyID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjMyOQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgOCk7ICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMwCiAgICB0MiA9
ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNTkyKTsgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIzMzEKICAgIGlmICgqQ0FTVDxpbnQ4X3QqPih0Mi5pOHAo
KSArIDQpID09IGludDhfdCgweDIpKSAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjMzMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fMzg5X2ZuX19wRHluYW1pYzsKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1NQogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRHbG9iYWxWYXJp
YWJsZV9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzgzX2xvYWRfX2NvbnN0YW50
OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dEdsb2JhbFZhcmlhYmxlX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zODNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dEdsb2JhbFZhcmlhYmxlX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zODNfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4
cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODgKICAgIHQwID0gdDAuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MSA9ICpDQVNUPGludDY0
X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0R2xvYmFsVmFyaWFibGVfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM4M19sb2FkX19kb25lKQogICAgdDIgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQ1Lmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyNTE3CiAgICBpZiAodDIuaSgpID09IDApICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MTgKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18z
ODNfcHV0R2xvYmFsVmFyaWFibGVfX25vVmFyaWFibGVXYXRjaHBvaW50U2V0OwogICAgaWYgKCpD
QVNUPGludDhfdCo+KHQyLmk4cCgpICsgNCkgIT0gaW50OF90KDB4MikpICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTI2OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fMzg5X2ZuX19wRHluYW1pYzsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzM4
M19wdXRHbG9iYWxWYXJpYWJsZV9fbm9WYXJpYWJsZVdhdGNocG9pbnRTZXQpCiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI1MjEKICAgICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSkgPSB0
MS5pNjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUy
MgogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDEu
aSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0X193cml0
ZUJhcnJpZXJPbkdsb2JhbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzM4NF9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdF9fd3JpdGVCYXJyaWVy
T25HbG9iYWxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18zODRfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0X193cml0ZUJhcnJp
ZXJPbkdsb2JhbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzM4NF9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDEgPSB0
MS5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkw
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdF9fd3JpdGVCYXJyaWVy
T25HbG9iYWxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18zODRfbG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxs
TWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fd3JpdGVCYXJyaWVyT25HbG9iYWxPYmplY3RfXzM4NF93cml0ZUJhcnJpZXJPbkds
b2JhbF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTgx
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fd3JpdGVCYXJyaWVyT25HbG9iYWxPYmplY3RfXzM4NF93cml0ZUJhcnJpZXJPbkdsb2JhbF9f
d3JpdGVCYXJyaWVyRG9uZTsKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAx
Nik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTkxCiAgICB0
MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU5MgogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTI2MQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MgogICAgaWYgKCpDQVNUPHVpbnQ4
X3QqPih0My5pOHAoKSArIDcpID4gdWludDhfdCgweDApKQogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFs
T2JqZWN0X193cml0ZUJhcnJpZXJPbkdsb2JhbF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9h
ZF9fMzg0X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2Up
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAgdDEgPSB0My5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNr
LnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7
CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbE9iamVjdF9fd3JpdGVCYXJyaWVyT25HbG9i
YWxfX3dyaXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzM4NF9za2lwSWZJc1JlbWVtYmVyZWRP
ckluRWRlbl9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsT2JqZWN0
X18zODRfd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmllckRvbmUpCiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4MWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zODlfZm5fX3BHbG9iYWxMZXhp
Y2FsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcykKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90
KDB4OCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjYwNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fMzg5X2ZuX19wQ2xvc3VyZVZhcldpdGhWYXJJbmplY3Rpb25DaGVja3M7CiAgICB0MiA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIzMjkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5p
OHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjMzMAogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTU5Mik7ICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMxCiAgICBpZiAoKkNBU1Q8aW50
OF90Kj4odDIuaThwKCkgKyA0KSA9PSBpbnQ4X3QoMHgyKSkgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIzMzIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fXzM4OV9mbl9fcER5bmFtaWM7CiAgICB0MCA9ICpDQVNUPHVpbnQzMl90
Kj4odDUuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI1NDQKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAmIGludDMyX3QoMHhmZmMw
MCkpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjU0NQogICAgdDAgPSAo
dWludDMyX3QpKHQwLmkzMigpID4+IChpbnRwdHJfdCgweGEpICYgMHgxZikpOyAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNTQ2CiAgICBpZiAodDAuaTMyKCkgIT0gaW50MzJfdCgweDIp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1
NDcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX18zODRfY2hlY2tURFpJbkdsb2JhbFB1dFRvU2NvcGVJZk5lY2Vzc2FyeV9fbm9OZWVkRm9y
VERaQ2hlY2s7CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAxNik7ICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1NDgKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KHQwLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjU0OQogICAgaWYgKHQwLmk2NCgpID09IGludDY0X3QoMHgwKSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNTUw
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18z
ODlfZm5fX3BEeW5hbWljOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzg0X2NoZWNrVERaSW5HbG9iYWxQdXRU
b1Njb3BlSWZOZWNlc3NhcnlfX25vTmVlZEZvclREWkNoZWNrKQogICAgdDAgPSAqQ0FTVDxpbnQz
Ml90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4YSkpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4NDAw
MDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX3B1dEdsb2JhbFZhcmlhYmxlX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18z
ODVfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0R2xv
YmFsVmFyaWFibGVfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM4NV9sb2FkX19k
b25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHV0R2xv
YmFsVmFyaWFibGVfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM4NV9sb2FkX19j
b25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MSA9ICpDQVNU
PGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDAgPSB0MC5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAw
KTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAg
IHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRHbG9iYWxW
YXJpYWJsZV9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzg1X2xvYWRfX2RvbmUp
CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MTcKICAgIGlmICh0Mi5pKCkgPT0gMCkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjUxOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzM4NV9wdXRHbG9iYWxWYXJpYWJsZV9fbm9WYXJpYWJsZVdhdGNocG9p
bnRTZXQ7CiAgICBpZiAoKkNBU1Q8aW50OF90Kj4odDIuaThwKCkgKyA0KSAhPSBpbnQ4X3QoMHgy
KSkgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjY4CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zODlfZm5fX3BEeW5hbWljOwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fMzg1X3B1dEdsb2JhbFZhcmlhYmxlX19ub1ZhcmlhYmxlV2F0Y2hwb2lu
dFNldCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUyMQogICAgKkNBU1Q8aW50NjRf
dCo+KHQwLmk4cCgpKSA9IHQxLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyNTIyCiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTUKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25H
bG9iYWxMZXhpY2FsRW52aXJvbm1lbnRfX3dyaXRlQmFycmllck9uR2xvYmFsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzg2X2xv
YWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmko
KSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmll
ck9uR2xvYmFsTGV4aWNhbEVudmlyb25tZW50X193cml0ZUJhcnJpZXJPbkdsb2JhbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM4
Nl9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fd3JpdGVCYXJyaWVyT25HbG9iYWxMZXhpY2FsRW52aXJvbm1lbnRfX3dyaXRlQmFycmllck9u
R2xvYmFsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMzg2X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODcKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MSA9IHQxLmko
KSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsTGV4aWNhbEVudmlyb25tZW50X193cml0
ZUJhcnJpZXJPbkdsb2JhbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzM4Nl9sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAm
IG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZpcm9ubWVudF9f
Mzg2X3dyaXRlQmFycmllck9uR2xvYmFsX193cml0ZUJhcnJpZXJEb25lOwogICAgaWYgKHQwLmko
KSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1ODEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbExleGljYWxFbnZpcm9u
bWVudF9fMzg2X3dyaXRlQmFycmllck9uR2xvYmFsX193cml0ZUJhcnJpZXJEb25lOwogICAgdDMg
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1OTkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5p
OHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NjAwCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyAxMTIpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwMQogICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTI2MQogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MgogICAgaWYgKCpD
QVNUPHVpbnQ4X3QqPih0My5pOHAoKSArIDcpID4gdWludDhfdCgweDApKQogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmll
ck9uR2xvYmFsTGV4aWNhbEVudmlyb25tZW50X193cml0ZUJhcnJpZXJPbkdsb2JhbF9fd3JpdGVC
YXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMzg2X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19k
b25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAg
dDEgPSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVf
YmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0Ngog
ICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkdsb2JhbExleGlj
YWxFbnZpcm9ubWVudF9fd3JpdGVCYXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmllck9uQ2VsbFdp
dGhSZWxvYWRfXzM4Nl9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZSkKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3dyaXRlQmFycmllck9uR2xvYmFsTGV4aWNhbEVudmlyb25tZW50X18zODZfd3JpdGVC
YXJyaWVyT25HbG9iYWxfX3dyaXRlQmFycmllckRvbmUpCiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4MWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zODlfZm5fX3BDbG9zdXJlVmFyV2l0aFZhckluamVj
dGlvbkNoZWNrcykKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90KDB4OSkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjYxNQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fMzg5X2ZuX19wTW9k
dWxlVmFyOwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzI5CiAgICB0MiA9ICpDQVNU
PGludHB0cl90Kj4odDIuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjIzMzAKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSAr
IDE1OTIpOyAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMzMQog
ICAgaWYgKCpDQVNUPGludDhfdCo+KHQyLmk4cCgpICsgNCkgPT0gaW50OF90KDB4MikpICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzMyCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX18zODlfZm5fX3BEeW5hbWljOwogICAgdDAg
PSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICB0MCA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ2OQogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1
CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3B1dENsb3N1cmVWYXJfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM4N19sb2FkX19jb25zdGFudDsKICAgIHQyID0g
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wdXRDbG9zdXJlVmFyX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18zODdfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3B1dENsb3N1cmVWYXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzM4N19sb2FkX19jb25zdGFudCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDg3CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDEgPSB0MS5pKCkg
LSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODkKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQx
LmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19wdXRDbG9zdXJlVmFyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18zODdfbG9hZF9fZG9uZSkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDE2
KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjUyOAogICAg
KkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MjAp
KSA9IHQyLmk2NCgpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI1MjkKICAgIHQxID0gKkNB
U1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJf
dCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
Q2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzg4X2xvYWRfX2NvbnN0YW50
OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX18zODhfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVD
ZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zODhfbG9hZF9fY29uc3RhbnQp
CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpD
QVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVy
YW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzM4OF9sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNr
Lmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX18zODlfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlm
ICh0MC5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fMzg5X3dyaXRlQmFycmllck9uT3BlcmFuZHNf
X3dyaXRlQmFycmllckRvbmU7CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTUKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRo
UmVsb2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMzg5X2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM4OV9sb2FkX19kb25lOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVy
YW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVs
b2FkX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMzg5X2xvYWRfX2NvbnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODcKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MSA9IHQxLmkoKSAt
IGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ4OQogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDEu
aSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9f
d3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM4OV9sb2FkX19kb25lKQogICAg
aWYgKCh0Mi5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzM4OV93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2Fk
X193cml0ZUJhcnJpZXJEb25lOwogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MgogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0Mi5p
OHAoKSArIDcpID4gdWludDhfdCgweDApKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRl
QmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVC
YXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMzg5X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19k
b25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwogICAg
dDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3JpdGVf
YmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0Ngog
ICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dy
aXRlQmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzM4OV9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRl
bl9fZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFy
cmllck9uT3BlcmFuZF9fMzg5X3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRl
QmFycmllckRvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX18zODlfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19f
d3JpdGVCYXJyaWVyRG9uZSkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxZSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzM4OV9mbl9fcE1vZHVsZVZhcikKICAgIGlmICh0MC5pMzIoKSAhPSBpbnQzMl90
KDB4NSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjYyMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fMzg5X2ZuX19wRHluYW1pYzsKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0
CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xv
b3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfdGhyb3dfc3RyaWN0X21vZGVfcmVhZG9ubHlf
cHJvcGVydHlfd3JpdGVfZXJyb3IodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0
LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBj
ID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4
MWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkp
OyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigm
Z19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX18zODlfZm5fX3BEeW5hbWljKQogICAgcGMgPSBwYy5pKCkgKyBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9
IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9wdXRfdG9f
c2NvcGUodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAg
fQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MWUpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9mcm9tX2FyZ3VtZW50cykKICAgIHQwID0gKGludDY0
X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MCA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ2OQogICAgdDEgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRw
dHJfdCgweDMwKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjYzNgogICAgdDMgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2OQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFi
bGUuaThwKCkgKyAxMDQpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBp
ZiAodDEuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1
cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX18zODlfbWV0YWRhdGFfX3NldFVw
T2Zmc2V0OwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAz
MjgpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21l
dGFkYXRhX18zODlfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDIgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKiBpbnQz
Ml90KDB4MTgpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAg
IHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSArIHQyLmkzMigpKTsgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDEgPSB0MS5pKCkgKyBtZXRhZGF0YVRh
YmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkpID0gdDMuaTY0KCk7ICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MSA9IChpbnQ2NF90KSpD
QVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9nZXRfZnJvbV9hcmd1bWVudHNfd2lkZTE2KQogICAgdDAgPSAoaW50
NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICB0MCA9ICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ2OQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0MwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsg
aW50cHRyX3QoMHgzMCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2MzYKICAgIHQzID0g
dDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NjkKICAgIHQxID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0
YVRhYmxlLmk4cCgpICsgMTA0KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5Mgog
ICAgaWYgKHQxLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtl
UmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fMzkwX21ldGFkYXRhX19z
ZXRVcE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgp
ICsgMzI4KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJu
X19tZXRhZGF0YV9fMzkwX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQyID0gKkNBU1Q8dWlu
dDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg4KSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAq
IGludDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
NwogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICsgdDIuaTMyKCkpOyAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MSA9IHQxLmkoKSArIG1ldGFk
YXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSkgPSB0My5pNjQoKTsgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQxID0gKGludDY0
X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJ
TkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfZnJvbV9hcmd1bWVudHNfd2lkZTMyKQogICAgdDAg
PSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICB0MCA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ2OQogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50
cHRyX3QoMHgzMCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2MzYKICAgIHQzID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjkKICAgIHQxID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRh
YmxlLmk4cCgpICsgMTA0KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAg
aWYgKHQxLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0
dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fMzkxX21ldGFkYXRhX19zZXRV
cE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsg
MzI4KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19t
ZXRhZGF0YV9fMzkxX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQyID0gKkNBU1Q8dWludDMy
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhlKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAqIGlu
dDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5Nwog
ICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICsgdDIuaTMyKCkpOyAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MSA9IHQxLmkoKSArIG1ldGFkYXRh
VGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSkgPSB0My5pNjQoKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQxID0gKkNBU1Q8aW50
MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3
MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEyKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF9wdXRfdG9fYXJndW1lbnRzKQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5
CiAgICB0MSA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzUKICAgIHQzID0gKGlu
dDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDMuaSgpID49
IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzkxX2xvYWRfX2Nv
bnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAz
KSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fMzkxX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM5MV9sb2FkX19jb25zdGFu
dCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MiA9ICpDQVNUPGludHB0
cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ3NgogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDMuaSgp
IDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zOTFfbG9hZF9fZG9uZSkK
ICAgICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgw
eDMwKSkgPSB0Mi5pNjQoKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjQ2CiAgICB0MSA9
IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQxLmko
KSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zOTJfbG9hZF9fY29u
c3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMp
KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fMzkyX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zOTJfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4
cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NzYKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGlu
dHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM5Ml9sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQo
KSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fXzM5M193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25l
OwogICAgaWYgKHQwLmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NzIKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fXzM5M193cml0ZUJhcnJpZXJPbk9wZXJhbmRz
X193cml0ZUJhcnJpZXJEb25lOwogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzkKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX193cml0ZUJhcnJpZXJP
bk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdp
dGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX18zOTNfbG9hZF9fY29uc3RhbnQ7CiAgICB0MiA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFy
cmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zOTNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVC
YXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzkz
X2xvYWRfX2NvbnN0YW50KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQy
ID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0Mi5p
OHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmll
ck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM5M19sb2Fk
X19kb25lKQogICAgaWYgKCh0Mi5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzUKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFu
ZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMzkzX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhS
ZWxvYWRfX3dyaXRlQmFycmllckRvbmU7CiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjYx
CiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjYyCiAgICBpZiAoKkNBU1Q8dWludDhfdCo+
KHQyLmk4cCgpICsgNykgPiB1aW50OF90KDB4MCkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJh
cnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFy
cmllck9uQ2VsbFdpdGhSZWxvYWRfXzM5M19za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9u
ZTsKICAgIFBVU0gocGNCYXNlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQyCiAgICBQVVNIKHBjKTsKICAgIHQx
ID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQzCiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU0NAogICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOyAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjUKICAgIGxsaW50X3dyaXRlX2Jh
cnJpZXJfc2xvdyh0MCwgdDEpOwogICAgUE9QKHBjKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDYKICAg
IFBPUChwY0Jhc2UpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJp
ZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmll
ck9uQ2VsbFdpdGhSZWxvYWRfXzM5M19za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZSkK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18z
OTNfd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZSkKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fMzkzX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllckRvbmUpCiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX3B1dF90b19hcmd1bWVudHNfd2lkZTE2KQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQx
Nl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2
OQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDMgPSAo
aW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDMuaSgp
ID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzk0X2xvYWRf
X2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8
PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fMzk0X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEw
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM5NF9sb2FkX19jb25z
dGFudCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MiA9ICpDQVNUPGlu
dHB0cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ4MgogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAodDMu
aSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zOTRfbG9hZF9fZG9u
ZSkKICAgICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJf
dCgweDMwKSkgPSB0Mi5pNjQoKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjQ2CiAgICB0
MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0
MS5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzk1X2xvYWRf
X2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8
PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5k
c19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzM5NV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzk1X2xvYWRfX2NvbnN0YW50KQogICAg
dDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0
MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDgyCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykg
KyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zOTVfbG9hZF9fZG9uZSkKICAgIGlmICgodDAu
aTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX18zOTZfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVy
RG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTcyCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX18zOTZfd3JpdGVCYXJyaWVyT25PcGVy
YW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX3dyaXRlQmFy
cmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVy
YW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzM5Nl9sb2FkX19jb25zdGFudDsKICAgIHQyID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fd3Jp
dGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM5Nl9sb2FkX19kb25lOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18zOTZfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQog
ICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+
KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVC
YXJyaWVyT25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlQ2VsbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzk2
X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQyLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDAp
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzNQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25P
cGVyYW5kc19fd3JpdGVCYXJyaWVyT25PcGVyYW5kX18zOTZfd3JpdGVCYXJyaWVyT25PcGVyYW5k
V2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEyNjEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlmICgqQ0FTVDx1aW50
OF90Kj4odDIuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dy
aXRlQmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3Jp
dGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMzk2X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVu
X19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBVU0gocGMpOwog
ICAgdDEgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAgbGxpbnRfd3Jp
dGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0
NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRl
QmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fd3JpdGVC
YXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fMzk2X3NraXBJZklzUmVtZW1iZXJlZE9ySW5FZGVuX19k
b25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJh
bmRfXzM5Nl93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25l
KQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX18zOTZfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZSkK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVf
TEFCRUwob3BfcHV0X3RvX2FyZ3VtZW50c193aWRlMzIpCiAgICB0MCA9ICpDQVNUPGludDMyX3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5CiAg
ICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0MyA9ICpDQVNU
PGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0My5pKCkgPj0gaW50cHRyX3Qo
MHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zOTdfbG9hZF9fY29uc3RhbnQ7CiAg
ICB0MiA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18z
OTdfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fMzk3X2xvYWRfX2NvbnN0YW50KQogICAgdDIg
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5p
OHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDg4CiAgICB0MyA9IHQzLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDIgPSAqQ0FTVDxpbnQ2
NF90Kj4odDIuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
Mzk3X2xvYWRfX2RvbmUpCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDEuaSgpIDw8
IDMpICsgaW50cHRyX3QoMHgzMCkpID0gdDIuaTY0KCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjY0NgogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBp
ZiAodDEuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0
YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM5OF9s
b2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3Bl
cmFuZHNfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX18zOThfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fbG9hZENvbnN0YW50T3JWYXJpYWJsZUNl
bGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM5OF9sb2FkX19jb25zdGFudCkK
ICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90
Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4OAogICAgdDEgPSB0MS5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X18zOThfbG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkg
IT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX18zOTlfd3JpdGVC
YXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAgIGlmICh0MC5pKCkgPT0gMCkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTcyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX18zOTlfd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyRG9uZTsKICAg
IHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+
PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFu
ZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM5OV9sb2FkX19jb25zdGFu
dDsKICAgIHQyID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRl
QmFycmllck9uT3BlcmFuZF9fd3JpdGVCYXJyaWVyT25PcGVyYW5kV2l0aFJlbG9hZF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUNlbGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzM5
OV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX193cml0
ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9wZXJhbmRfX3dyaXRlQmFycmllck9u
T3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFyaWFibGVDZWxsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX18zOTlfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNU
PGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsg
MTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAg
IHQxID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MiA9ICpDQVNUPGludDY0X3QqPih0
Mi5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJPbk9w
ZXJhbmRfX3dyaXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVDZWxsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX18zOTlfbG9hZF9fZG9u
ZSkKICAgIGlmICgodDIuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTM1CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193
cml0ZUJhcnJpZXJPbk9wZXJhbmRfXzM5OV93cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2Fk
X193cml0ZUJhcnJpZXJEb25lOwogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MgogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0Mi5p
OHAoKSArIDcpID4gdWludDhfdCgweDApKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVy
T25PcGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJP
bkNlbGxXaXRoUmVsb2FkX18zOTlfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmU7CiAg
ICBQVVNIKHBjQmFzZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MgogICAgUFVTSChwYyk7CiAgICB0MSA9IHQy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjU0MwogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDQK
ICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI1CiAgICBsbGludF93cml0ZV9iYXJyaWVy
X3Nsb3codDAsIHQxKTsKICAgIFBPUChwYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ2CiAgICBQT1Ao
cGNCYXNlKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25PcGVyYW5kc19fd3JpdGVCYXJyaWVyT25P
cGVyYW5kX193cml0ZUJhcnJpZXJPbk9wZXJhbmRXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNl
bGxXaXRoUmVsb2FkX18zOTlfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmUpCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX3dyaXRlQmFycmllck9uT3BlcmFuZHNfX3dyaXRlQmFycmllck9uT3BlcmFuZF9fMzk5X3dy
aXRlQmFycmllck9uT3BlcmFuZFdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmUpCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
XzM5OV93cml0ZUJhcnJpZXJPbk9wZXJhbmRzX193cml0ZUJhcnJpZXJEb25lKQogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9n
ZXRfcGFyZW50X3Njb3BlKQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5CiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI2NTQKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAK
ICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4
Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkp
OyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigm
Z19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9wYXJlbnRfc2NvcGVfd2lk
ZTE2KQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3
CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2OQogICAgdDAgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQwLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNjU0CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChp
bnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ2V0X3BhcmVudF9zY29wZV93aWRlMzIpCiAgICB0
MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQwID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDY5CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNik7
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2NTQKICAgIHQy
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9w
cm9maWxlX3R5cGUpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2NjAKICAgIHQxID0g
KkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjY2MQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4
cCgpICsgMTIwMjAwKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
NjYzCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAyNCk7ICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2NjUKICAgIHQzID0gKGludDY0X3Qp
KkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4
MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDMuaSgpID49IGludHB0
cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQwMF9sb2FkX19j
b25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5pKCkgPDwg
MykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX180MDBfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQw
MF9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAx
Nik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0
MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAu
aThwKCkgKyAodDMuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fNDAwX2xvYWRfX2RvbmUpCiAgICBpZiAodDAuaTY0KCkgPT0gaW50NjRfdCgweDApKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2NzEK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19vcFByb2ZpbGVUeXBlRG9uZTsKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSkgPSB0MC5p
NjQoKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjY3Mwog
ICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAxMDgpOyAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19tZXRhZGF0YV9fNDAwX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNB
U1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMzM2KTsgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzQwMF9tZXRhZGF0
YV9fc2V0VXBPZmZzZXQpCiAgICB0MyA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzUKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAqIGludDMyX3QoMHg4KSk7ICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3QpKHQ1
LmkzMigpICsgdDMuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQzID0gKkNBU1Q8
aW50cHRyX3QqPih0NS5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjY3NwogICAgKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDgpID0g
dDMuaSgpOyAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjc4CiAg
ICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpID09IDApICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2ODAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcFByb2ZpbGVUeXBlSXNDZWxsOwog
ICAgKkNBU1Q8aW50MzJfdCo+KHQyLmk4cCgpICsgMTYpID0gaW50MzJfdCgweDApOyAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjgxCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcFByb2ZpbGVUeXBlU2tpcElzQ2VsbDsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjgyCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcFByb2ZpbGVU
eXBlSXNDZWxsKQogICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjg0CiAgICAqQ0FTVDxp
bnQzMl90Kj4odDIuaThwKCkgKyAxNikgPSB0My5pMzIoKTsgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI2ODUKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX29wUHJvZmlsZVR5cGVTa2lw
SXNDZWxsKQogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgweDE4KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjg5CiAgICAqQ0FTVDxpbnRw
dHJfdCo+KHQxLmk4cCgpICsgMjQpID0gdDIuaSgpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI2OTAKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSAr
IDMyKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjY5Mgog
ICAgaWYgKHQyLmkoKSAhPSB0MS5pKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjkzCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fb3BQcm9maWxlVHlwZURvbmU7CiAg
ICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19w
YXRoX3Byb2ZpbGVfdHlwZV9jbGVhcl9sb2codDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgK
ICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19vcFByb2Zp
bGVUeXBlRG9uZSkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg3KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5F
X0FTTV9PUENPREVfTEFCRUwob3BfcHJvZmlsZV90eXBlX3dpZGUxNikKICAgIHQxID0gKkNBU1Q8
aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjY2MAogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsg
ODApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjYxCiAg
ICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxMjAyMDApOyAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2NjMKICAgIHQyID0gKkNBU1Q8aW50cHRyX3Qq
Pih0MS5pOHAoKSArIDI0KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjY2NQogICAgdDMgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ3CiAgICBpZiAodDMuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzQwMV9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180MDFfbG9hZF9f
ZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQwMV9sb2FkX19jb25zdGFudCkKICAgIHQwID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThw
KCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDMuaSgpIDw8IDMpICsgaW50
cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDAxX2xvYWRfX2RvbmUpCiAgICBp
ZiAodDAuaTY0KCkgPT0gaW50NjRfdCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2NzEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQwMV9mbl9fb3BQcm9maWxlVHlwZURvbmU7CiAg
ICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2NzMKICAgIHQ1ID0gKkNBU1Q8dWludDE2X3Qq
PihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTA4KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzQwMV9t
ZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0NSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFU
YWJsZS5pOHAoKSArIDMzNik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX21ldGFkYXRhX180MDFfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDMg
PSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweGMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDMgPSAodWludDMyX3Qp
KHQzLmkzMigpICogaW50MzJfdCgweDgpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCkodDUuaTMyKCkgKyB0My5pMzIoKSk7ICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQ1ID0gdDUu
aSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjc3CiAg
ICAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgOCkgPSB0My5pKCk7ICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2NzgKICAgIGlmICgodDAuaTY0KCkgJiBub3RD
ZWxsTWFzay5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjY4MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fNDAxX2ZuX19vcFByb2ZpbGVUeXBlSXNDZWxsOwogICAgKkNBU1Q8aW50MzJfdCo+
KHQyLmk4cCgpICsgMTYpID0gaW50MzJfdCgweDApOyAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyNjgxCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fXzQwMV9mbl9fb3BQcm9maWxlVHlwZVNraXBJc0NlbGw7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjY4MgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MDFfZm5fX29wUHJvZmlsZVR5cGVJc0NlbGwp
CiAgICB0MyA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2ODQKICAgICpDQVNUPGludDMyX3QqPih0
Mi5pOHAoKSArIDE2KSA9IHQzLmkzMigpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjY4NQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MDFfZm5fX29wUHJvZmlsZVR5cGVTa2lwSXNDZWxs
KQogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgweDE4KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjg5CiAgICAqQ0FTVDxpbnRwdHJfdCo+
KHQxLmk4cCgpICsgMjQpID0gdDIuaSgpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjI2OTAKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDMyKTsg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjY5MgogICAgaWYg
KHQyLmkoKSAhPSB0MS5pKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MDFfZm5fX29wUHJvZmlsZVR5cGVEb25lOwogICAg
cGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50
ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0
aF9wcm9maWxlX3R5cGVfY2xlYXJfbG9nKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJl
c3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAg
ICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MDFfZm5fX29wUHJv
ZmlsZVR5cGVEb25lKQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJ
TkVfQVNNX09QQ09ERV9MQUJFTChvcF9wcm9maWxlX3R5cGVfd2lkZTMyKQogICAgdDEgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyNjYwCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkg
KyA4MCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2NjEK
ICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDEyMDIwMCk7ICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjY2MwogICAgdDIgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQxLmk4cCgpICsgMjQpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNjY1CiAgICB0MyA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUK
ICAgIGlmICh0My5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fNDAyX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQwMl9sb2FkX19kb25lOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDAyX2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODcKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0
NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0
MyA9IHQzLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAu
aThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQw
Ml9sb2FkX19kb25lKQogICAgaWYgKHQwLmk2NCgpID09IGludDY0X3QoMHgwKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjcxCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MDJfZm5fX29w
UHJvZmlsZVR5cGVEb25lOwogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpKSA9IHQwLmk2NCgp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjczCiAgICB0
NSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDEwOCk7ICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0NS5pMzIoKSAhPSAwKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX21ldGFkYXRhX180MDJfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1
aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAzMzYpOyAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fNDAyX21ldGFkYXRhX19z
ZXRVcE9mZnNldCkKICAgIHQzID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgxNikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
CiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgKiBpbnQzMl90KDB4OCkpOyAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5p
MzIoKSArIHQzLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5OAogICAgdDUgPSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MyA9ICpDQVNUPGlu
dHB0cl90Kj4odDUuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjI2NzcKICAgICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyA4KSA9IHQz
LmkoKTsgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjY3OAogICAg
aWYgKCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjgwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MDJfZm5fX29wUHJvZmlsZVR5cGVJc0NlbGw7
CiAgICAqQ0FTVDxpbnQzMl90Kj4odDIuaThwKCkgKyAxNikgPSBpbnQzMl90KDB4MCk7ICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2ODEKICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDAyX2ZuX19vcFByb2ZpbGVUeXBlU2tpcElz
Q2VsbDsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjgyCgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQwMl9mbl9f
b3BQcm9maWxlVHlwZUlzQ2VsbCkKICAgIHQzID0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSk7
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjY4NAog
ICAgKkNBU1Q8aW50MzJfdCo+KHQyLmk4cCgpICsgMTYpID0gdDMuaTMyKCk7ICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNjg1CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQwMl9mbl9fb3BQ
cm9maWxlVHlwZVNraXBJc0NlbGwpCiAgICB0MiA9IHQyLmkoKSArIGludHB0cl90KDB4MTgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2ODkK
ICAgICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAyNCkgPSB0Mi5pKCk7ICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjY5MAogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQxLmk4cCgpICsgMzIpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNjkyCiAgICBpZiAodDIuaSgpICE9IHQxLmkoKSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI2OTMKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQwMl9mbl9fb3BQ
cm9maWxlVHlwZURvbmU7CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAg
PSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2su
c2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5
cGUgcmVzdWx0ID0gc2xvd19wYXRoX3Byb2ZpbGVfdHlwZV9jbGVhcl9sb2codDAsIHQxKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fXzQwMl9mbl9fb3BQcm9maWxlVHlwZURvbmUpCiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4MWEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3Byb2ZpbGVfY29udHJv
bF9mbG93KQogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAx
MTApOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDUuaTMyKCkg
IT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fNDAzX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAg
IHQ1ID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMzQwKTsgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzQw
M19tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzUKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAqIGludDMyX3QoMHg4KSk7
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWlu
dDMyX3QpKHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQw
ID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcwMwogICAgKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgp
ICsgMjQpID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgMjQpICsgaW50NjRfdCgweDEpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3MDQKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHJvZmlsZV9jb250cm9sX2Zs
b3dfd2lkZTE2KQogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkg
KyAxMTApOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDUuaTMy
KCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fNDA0X21ldGFkYXRhX19zZXRVcE9mZnNldDsK
ICAgIHQ1ID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMzQwKTsgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFf
XzQwNF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MCA9ICpDQVNUPHVpbnQxNl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQzCiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgKiBpbnQzMl90KDB4
OCkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQ1ID0g
KHVpbnQzMl90KSh0NS5pMzIoKSArIHQwLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDUgPSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAg
ICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3MDMKICAgICpDQVNUPGludDY0X3QqPih0MC5p
OHAoKSArIDI0KSA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArIDI0KSArIGludDY0X3QoMHgx
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzA0CiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3Byb2ZpbGVfY29udHJv
bF9mbG93X3dpZGUzMikKICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4
cCgpICsgMTEwKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1
LmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzQwNV9tZXRhZGF0YV9fc2V0VXBPZmZz
ZXQ7CiAgICB0NSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDM0MCk7
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFk
YXRhX180MDVfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MQogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpICogaW50MzJf
dCgweDgpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0
NSA9ICh1aW50MzJfdCkodDUuaTMyKCkgKyB0MC5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQ1ID0gdDUuaSgpICsgbWV0YWRhdGFUYWJs
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
OQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzAzCiAgICAqQ0FTVDxpbnQ2NF90Kj4o
dDAuaThwKCkgKyAyNCkgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAyNCkgKyBpbnQ2NF90
KDB4MSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcwNAogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfcmVzdF9s
ZW5ndGgpCiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3MDkKICAgIHQwID0gKHVpbnQz
Ml90KSh0MC5pMzIoKSAtIGludDMyX3QoMHgxKSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjcxMAogICAgdDEgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1CiAgICBpZiAodDAuaTMyKCkgPD0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3MTIKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX3N0b3JlWmVybzsKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIo
KSAtIHQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjcxMwogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19ib3hVcDsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyNzE0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX3N0b3JlWmVybykKICAgIHQwID0gaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcxNgoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19ib3hVcCkKICAg
IHQwID0gdDAuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcxOAogICAgdDIgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2
NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50
cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8
dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ2V0X3Jlc3RfbGVu
Z3RoX3dpZGUxNikKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzNik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcwOQogICAgdDAgPSAo
dWludDMyX3QpKHQwLmkzMigpIC0gaW50MzJfdCgweDEpKTsgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNzEwCiAgICB0MSA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQzCiAgICBpZiAodDAuaTMyKCkgPD0gdDEuaTMyKCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3MTIKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fNDA1X2ZuX19zdG9yZVplcm87CiAgICB0MCA9ICh1aW50MzJf
dCkodDAuaTMyKCkgLSB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjI3MTMKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX180MDVfZm5fX2JveFVw
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3MTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX180MDVfZm5fX3N0b3JlWmVybykKICAgIHQwID0gaW50cHRyX3Qo
MHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjcxNgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fXzQwNV9mbl9fYm94VXApCiAgICB0MCA9IHQwLmk2NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3MTgKICAg
IHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50
MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF9nZXRfcmVzdF9sZW5ndGhfd2lkZTMyKQogICAgdDAgPSAqQ0FTVDx1aW50MzJf
dCo+KGNmci5pOHAoKSArIDM2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNzA5CiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgLSBpbnQzMl90KDB4MSkp
OyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3MTAKICAgIHQxID0g
KkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIGlmICh0MC5pMzIoKSA8PSB0
MS5pMzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjcxMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX180MDZfZm5fX3N0b3Jl
WmVybzsKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAtIHQxLmkzMigpKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcxMwogICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fXzQwNl9mbl9fYm94VXA7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcxNAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzQwNl9mbl9fc3RvcmVa
ZXJvKQogICAgdDAgPSBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzE2CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fNDA2X2ZuX19ib3hVcCkKICAgIHQwID0gdDAuaTY0
KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjcxOAogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAg
dDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2l0ZXJhdG9yX29wZW4pCiAgICBwYyA9IHBjLmkoKSAr
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQx
ID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gaXRlcmF0b3Jfb3Blbl90cnlfZmFz
dF9uYXJyb3codDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwog
ICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0g
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ5CiAgICBpZiAodDEuaTgoKSA9PSBpbnQ4X3QoMHgxKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3MzYKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pdGVy
YXRvck9wZW5HZW5lcmljOwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDcpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2l0ZXJhdG9yT3BlbkdlbmVyaWMpCiAgICB0NSA9ICpDQVNUPHVpbnQxNl90
Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDYpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTIKICAgIGlmICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX21l
dGFkYXRhX180MDZfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJf
dCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAxMzIpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19tZXRhZGF0YV9fNDA2X21ldGFk
YXRhX19zZXRVcE9mZnNldCkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNQogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpICogaW50MzJfdCgweDkwKSk7ICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCko
dDUuaTMyKCkgKyB0MC5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTgKICAgIHQ1ID0gdDUuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDAgPSAoaW50
NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIHQyID0gKkNBU1Q8aW50
cHRyX3QqPih0NS5pOHAoKSArIDU2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjA5MAogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxs
SGVscGVyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180MDZfbG9hZF9fY29uc3Rh
bnQ7CiAgICB0MyA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDA2X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX180MDZfbG9hZF9fY29uc3RhbnQpCiAgICB0MyA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ3NQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTQ0KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQzID0g
KkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxw
ZXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQwNl9sb2FkX19kb25lKQogICAg
aWYgKHQzLmk2NCgpICE9IHQyLmk2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDkyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fb3BDYWxsU2xvdzsK
ICAgIHQzID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNQogICAgdDMgPSAodWlu
dDMyX3QpKHQzLmkzMigpIDw8IChpbnRwdHJfdCgweDMpICYgMHgxZikpOyAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMDk1CiAgICB0MyA9IC10My5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwOTYK
ICAgIHQzID0gdDMuaSgpICsgY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5NwogICAgKkNBU1Q8aW50NjRfdCo+KHQz
Lmk4cCgpICsgMjQpID0gdDIuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyMDk4CiAgICB0MiA9IGludHB0cl90KDB4MSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3NTMKICAgICpDQVNU
PGludDMyX3QqPihjZnIuaThwKCkgKyAzMikgPSBwYy5pMzIoKTsgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgICpDQVNUPGludDMyX3QqPih0My5pOHAoKSArIDM2
KSA9IHQyLmkzMigpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjEw
MQogICAgc3AgPSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTAyCiAgICBzcCA9IHNwLmkoKSArIGlu
dHB0cl90KDB4MTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMDY0CiAgICBsciA9IGdldE9wY29kZShsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zy
b21fanNfMik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDQ1CiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0NS5pOHAoKSArIDY0KTsKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
T0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfMikK
Ck9GRkxJTkVfQVNNX0dMVUVfTEFCRUwob3BfaXRlcmF0b3Jfb3Blbl9yZXR1cm5fbG9jYXRpb24p
CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90
Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWlu
dHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEw
MDAKICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzMik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIHBjQmFzZSA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4ocGNCYXNl
Lmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODYKICAg
IHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRh
dGFUYWJsZS5pOHAoKSArIDYpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIK
ICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX2NhbGxUYXJnZXRG
dW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzQwN19tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAg
ICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDEzMik7ICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJf
X2NhbGxUYXJnZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzQwN19tZXRhZGF0YV9fc2V0
VXBPZmZzZXQpCiAgICB0MSA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzUKICAg
IHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSAqIGludDMyX3QoMHg5MCkpOyAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigp
ICsgdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
Mzk4CiAgICB0MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0
Mi5pOHAoKSArIDcyKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NzkKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2dldEJ5SWRTdGFydDsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzQxCgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19vcENhbGxTbG93KQogICAgKkNBU1Q8aW50MzJfdCo+
KGNmci5pOHAoKSArIDMyKSA9IHBjLmkzMigpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyNwogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206Mzg0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM4
NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNl
dEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9pdGVyYXRvcl9vcGVuX2NhbGwodDAsIHQxKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgaWYgKHQxLmkoKSA9
PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTEzNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxT
bG93UGF0aF9fYWN0aW9uX19kb250VXBkYXRlU1A7CiAgICBzcCA9IHQxLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMTM4CiAgICBzcCA9IHNwLmkoKSArIGludHB0cl90KDB4MTApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDY0CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19j
YWxsSGVscGVyX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fZG9u
dFVwZGF0ZVNQKQogICAgbHIgPSBnZXRPcGNvZGUobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9t
X2pzXzMpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA0NQogICAgb3Bjb2RlID0g
dDAub3Bjb2RlKCk7CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFC
RUwobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzMpCgpPRkZMSU5FX0FTTV9HTFVFX0xB
QkVMKG9wX2l0ZXJhdG9yX29wZW5fc2xvd19yZXR1cm5fbG9jYXRpb24pCiAgICB0MiA9ICpDQVNU
PGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxMDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAy
MCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQy
ID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/
IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIu
aSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAg
IHBjID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206ODUKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQxID0gKGludDY0X3Qp
KkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4
MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjg4CiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSAr
IDYpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIo
KSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxT
bG93UGF0aF9fYWN0aW9uX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX180
MDhfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFk
YXRhVGFibGUuaThwKCkgKyAxMzIpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xv
d1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNDA4
X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNQogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICogaW50MzJfdCgweDkwKSk7
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9ICh1aW50
MzJfdCkodDIuaTMyKCkgKyB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTgKICAgIHQyID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNB
U1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgNzIpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ2V0QnlJZFN0YXJ0OyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI3NDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dldEJ5SWRTdGFydCkKICAgIHQzID0gKGludDY0
X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MyA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ2OQogICAgaWYgKCh0My5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAw
KSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzY4CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faXRlcmF0
b3JPcGVuR2VuZXJpY0dldE5leHRTbG93OwogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFk
YXRhVGFibGUuaThwKCkgKyA2KTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzky
CiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9f
bWV0YWRhdGFfXzQwOV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQz
Ml90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDEzMik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX19tZXRhZGF0
YV9fNDA5X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNQogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICogaW50MzJfdCgw
eDkwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9
ICh1aW50MzJfdCkodDIuaTMyKCkgKyB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQyID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQog
ICAgdDEgPSAqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyAxMTIpOyAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDM1CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MTBfcGVy
Zm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJZERlZmF1bHQpCiAgICBpZiAodDEuaTgoKSAhPSBp
bnQ4X3QoMHgxKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE0MzgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX180MTBfcGVyZm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJZFByb3Rv
TG9hZDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQzOQogICAgdDAgPSAqQ0FTVDx1
aW50MzJfdCo+KHQyLmk4cCgpICsgOTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNDQwCiAgICBpZiAodDAuaTMyKCkgIT0gdDEuaTMyKCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDEKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
dGVyYXRvck9wZW5HZW5lcmljR2V0TmV4dFNsb3c7CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPih0
Mi5pOHAoKSArIDEwMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE0NDIKICAgIGlmICh0MS5pMzIoKSA8IGludDMyX3QoMHg2NCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRC
eUlESGVscGVyX180MDlfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmU7CiAg
ICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTEKICAgIHQxID0gKHVpbnQzMl90KSgtdDEu
aTMyKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTM5MgogICAgdDEgPSB0MS5pMzIoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkzCiAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJ
REhlbHBlcl9fNDA5X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5OyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEzOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVs
cGVyX180MDlfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MyA9
IHQzLmkoKSArIGludHB0cl90KC03NjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlE
SGVscGVyX180MDlfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHkpCiAgICB0MCA9
ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDMx
MCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTgKICAgICpDQVNUPGludDY0X3QqPih0
Mi5pOHAoKSArIDEyMCkgPSB0MC5pNjQoKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NzkKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjc2MQogICAgdDEgPSAo
aW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206Mjc2MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDcpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0
MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2Rl
TWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzQxMF9wZXJmb3JtR2V0QnlJREhlbHBlcl9fb3BHZXRCeUlkUHJvdG9M
b2FkKQogICAgaWYgKHQxLmk4KCkgIT0gaW50OF90KDB4MCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQ4CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDEwX3BlcmZvcm1HZXRC
eUlESGVscGVyX19vcEdldEJ5SWRBcnJheUxlbmd0aDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3Qq
Pih0My5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ0OQogICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgOTYpOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDUwCiAgICBpZiAodDMu
aTMyKCkgIT0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE0NTEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pdGVyYXRvck9wZW5HZW5lcmljR2V0TmV4dFNsb3c7
CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPih0Mi5pOHAoKSArIDEwMCk7ICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NTIKICAgIHQzID0gKkNBU1Q8aW50cHRy
X3QqPih0Mi5pOHAoKSArIDEwNCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTQ1MwogICAgaWYgKHQxLmkzMigpIDwgaW50MzJfdCgweDY0KSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkwCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9y
bUdldEJ5SURIZWxwZXJfXzQxMF9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGlu
ZTsKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDgpOyAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MQogICAgdDEgPSAodWludDMyX3Qp
KC10MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMzkyCiAgICB0MSA9IHQxLmkzMigpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTMKICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1H
ZXRCeUlESGVscGVyX180MTBfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5
SURIZWxwZXJfXzQxMF9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZSkKICAg
IHQzID0gdDMuaSgpICsgaW50cHRyX3QoLTc2OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdl
dEJ5SURIZWxwZXJfXzQxMF9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeSkKICAg
IHQwID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90
KDB4MzEwKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5OAogICAgKkNBU1Q8aW50NjRf
dCo+KHQyLmk4cCgpICsgMTIwKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo3OQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzYxCiAgICB0
MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNzYzCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nyk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fNDEwX3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRB
cnJheUxlbmd0aCkKICAgIGlmICh0MS5pOCgpICE9IGludDhfdCgweDMpKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ1OQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQxMF9wZXJm
b3JtR2V0QnlJREhlbHBlcl9fb3BHZXRCeUlkVW5zZXQ7CiAgICB0MCA9IHQzLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE0NjAKICAgIHQ1ID0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExNTcKICAgICpDQVNUPGlu
dDMyX3QqPih0Mi5pOHAoKSArIDk2KSA9IHQ1LmkzMigpOyAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjExNTgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHQwLmk4cCgpICsg
NCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExNTkKICAg
IGlmICgodDAuaTMyKCkgJiBpbnQzMl90KDB4MSkpID09IDApICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2l0ZXJhdG9yT3BlbkdlbmVyaWNHZXRO
ZXh0U2xvdzsKICAgIGlmICgodDAuaTMyKCkgJiBpbnQzMl90KDB4ZSkpID09IDApICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2MwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2l0ZXJhdG9yT3Bl
bkdlbmVyaWNHZXROZXh0U2xvdzsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSAr
IDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYxCiAg
ICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkgLSA4KTsgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NjUKICAgIGlmICh0MC5pMzIoKSA8IGludDMy
X3QoMHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ2NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2l0ZXJhdG9yT3BlbkdlbmVyaWNHZXROZXh0U2xvdzsKICAgIHQwID0gdDAu
aTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTQ2NwogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgMTIw
KSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQog
ICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzYxCiAgICB0MSA9IChpbnQ2NF90KSpDQVNU
PGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyNzYzCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nyk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fNDEwX3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRVbnNldCkKICAgIHQxID0gKkNB
U1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTQ3MgogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgp
ICsgOTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcz
CiAgICBpZiAodDAuaTMyKCkgIT0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NzQKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pdGVyYXRvck9wZW5HZW5lcmlj
R2V0TmV4dFNsb3c7CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAxMjApID0gaW50NjRf
dCgweGEpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MiA9IGlu
dHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI3NjEKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmko
KSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3NjMKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg3KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pdGVyYXRv
ck9wZW5HZW5lcmljR2V0TmV4dFNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNs
b29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2l0ZXJhdG9yX29wZW5fZ2V0X25l
eHQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQog
ICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nyk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX2l0ZXJhdG9yX29wZW5fd2lkZTE2KQogICAgcGMgPSBwYy5pKCkg
KyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0
MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7
CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGl0ZXJhdG9yX29wZW5fdHJ5X2Zh
c3Rfd2lkZTE2KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsK
ICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAt
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OQogICAgaWYgKHQxLmk4KCkgPT0gaW50OF90KDB4MSkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzM2CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MTRfZm5f
X2l0ZXJhdG9yT3BlbkdlbmVyaWM7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX180MTRfZm5fX2l0ZXJhdG9yT3BlbkdlbmVyaWMpCiAgICB0NSA9ICpDQVNU
PHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDYpOyAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxI
ZWxwZXJfX21ldGFkYXRhX180MTBfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FT
VDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAxMzIpOyAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19tZXRhZGF0YV9f
NDEwX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQwID0gKkNBU1Q8dWludDE2X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhjKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDMKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAqIGludDMyX3QoMHg5
MCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAo
dWludDMyX3QpKHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAg
IHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgdDIg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgNTYpOyAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDkwCiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4
NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2NhbGxIZWxwZXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQxMF9s
b2FkX19jb25zdGFudDsKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVy
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180MTBfbG9hZF9fZG9uZTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQxMF9sb2FkX19jb25zdGFudCkKICAgIHQzID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThw
KCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
MgogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDAuaSgpIDw8IDMpICsgaW50
cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDEwX2xvYWRf
X2RvbmUpCiAgICBpZiAodDMuaTY0KCkgIT0gdDIuaTY0KCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwOTIKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MTJfY2FsbEhlbHBl
cl9fb3BDYWxsU2xvdzsKICAgIHQzID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDMKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSA8PCAoaW50cHRyX3QoMHgzKSAmIDB4MWYp
KTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5NQogICAgdDMgPSAtdDMuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyMDk2CiAgICB0MyA9IHQzLmkoKSArIGNmci5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwOTcKICAgICpD
QVNUPGludDY0X3QqPih0My5pOHAoKSArIDI0KSA9IHQyLmk2NCgpOyAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5OAogICAgdDIgPSBpbnRwdHJfdCgweDEpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyNzUzCiAgICAqQ0FTVDxpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIpID0gcGMuaTMyKCk7ICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICAqQ0FTVDxpbnQzMl90
Kj4odDMuaThwKCkgKyAzNikgPSB0Mi5pMzIoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIxMDEKICAgIHNwID0gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjEwMgogICAg
c3AgPSBzcC5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA2NAogICAgbHIgPSBnZXRPcGNvZGUobGxpbnRfY2xv
b3BfZGlkX3JldHVybl9mcm9tX2pzXzQpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTA0NQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDUuaThwKCkgKyA2NCk7CiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfY2xvb3BfZGlkX3Jl
dHVybl9mcm9tX2pzXzQpCgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKG9wX2l0ZXJhdG9yX29wZW5f
cmV0dXJuX2xvY2F0aW9uX3dpZGUxNikKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
KCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDUK
ICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDIwKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0
cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgweDAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAw
MQogICAgc3AgPSBjZnIuaSgpIC0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAxMQogICAgcGMgPSAqQ0FTVDx1aW50MzJf
dCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozMQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NQogICAgcGNCYXNlID0g
KkNBU1Q8aW50cHRyX3QqPihwY0Jhc2UuaThwKCkgKyA4OCk7ICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4NgogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8
PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICB0MiA9
ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDYpOyAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5Mwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2NhbGxIZWxwZXJfX2NhbGxUYXJnZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzQxMV9t
ZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFU
YWJsZS5pOHAoKSArIDEzMik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX2NhbGxUYXJnZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRl
ckNhbGxfXzQxMV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MSA9ICpDQVNUPHVpbnQxNl90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4YykpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKiBpbnQz
Ml90KDB4OTApKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAg
IHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRh
YmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyA3MikgPSB0MC5pNjQoKTsgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQxNF9mbl9fZ2V0QnlJZFN0YXJ0OyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjI3NDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQxMl9jYWxsSGVscGVy
X19vcENhbGxTbG93KQogICAgKkNBU1Q8aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKSA9IHBjLmkz
MigpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgcGMgPSBw
Yy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzg0
CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM4NQogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3Au
dnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0
aF9pdGVyYXRvcl9vcGVuX2NhbGwodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0
LCB0MCwgdDEpOwogICAgfQogICAgaWYgKHQxLmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEzNwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxI
ZWxwZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fNDEyX2FjdGlvbl9fZG9u
dFVwZGF0ZVNQOwogICAgc3AgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEzOAogICAgc3AgPSBzcC5p
KCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTA2NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fc2xvd1BhdGhG
b3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX180MTJfYWN0aW9uX19kb250VXBkYXRlU1ApCiAgICBs
ciA9IGdldE9wY29kZShsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfNSk7ICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMDQ1CiAgICBvcGNvZGUgPSB0MC5vcGNvZGUoKTsKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9jbG9vcF9k
aWRfcmV0dXJuX2Zyb21fanNfNSkKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwob3BfaXRlcmF0b3Jf
b3Blbl9zbG93X3JldHVybl9sb2NhdGlvbl93aWRlMTYpCiAgICB0MiA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIuaSgp
IDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAw
eDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsgaW50
cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNB
U1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAg
IHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50
MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4
OAogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA2KTsgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19jYWxsSGVscGVyX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhf
X2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNDEyX21ldGFk
YXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxl
Lmk4cCgpICsgMTMyKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fY2FsbEhlbHBlcl9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19h
Y3Rpb25fX2NhbGxUYXJnZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzQxMl9tZXRhZGF0
YV9fc2V0VXBPZmZzZXQpCiAgICB0MSA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4YykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQzCiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKiBpbnQzMl90KDB4OTApKTsgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0
Mi5pMzIoKSArIHQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2
NF90Kj4odDIuaThwKCkgKyA3MikgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjc5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzQxNF9mbl9fZ2V0QnlJZFN0YXJ0OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI3NDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fNDE0X2ZuX19nZXRCeUlkU3RhcnQpCiAgICB0MyA9IChpbnQ2
NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQzID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDY5CiAgICBpZiAoKHQzLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9
IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3NjgKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQxNF9mbl9f
aXRlcmF0b3JPcGVuR2VuZXJpY0dldE5leHRTbG93OwogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+
KG1ldGFkYXRhVGFibGUuaThwKCkgKyA2KTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhl
bHBlcl9fbWV0YWRhdGFfXzQxM19tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNU
PHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDEzMik7ICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX19t
ZXRhZGF0YV9fNDEzX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDE2
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhjKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSAqIGlu
dDMyX3QoMHg5MCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5Nwog
ICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICsgdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MiA9IHQyLmkoKSArIG1ldGFkYXRh
VGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTkKICAgIHQxID0gKkNBU1Q8dWludDhfdCo+KHQyLmk4cCgpICsgMTEyKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQzNQoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
NDE0X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWREZWZhdWx0KQogICAgaWYgKHQxLmk4
KCkgIT0gaW50OF90KDB4MSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDM4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDE0X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5
SWRQcm90b0xvYWQ7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4odDMuaThwKCkpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MzkKICAgIHQwID0g
KkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDk2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ0MAogICAgaWYgKHQwLmkzMigpICE9IHQxLmkzMigpKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDQxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X180MTRfZm5fX2l0ZXJhdG9yT3BlbkdlbmVyaWNHZXROZXh0U2xvdzsKICAgIHQxID0gKkNBU1Q8
aW50MzJfdCo+KHQyLmk4cCgpICsgMTAwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ0MgogICAgaWYgKHQxLmkzMigpIDwgaW50MzJfdCgweDY0KSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkwCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
cGVyZm9ybUdldEJ5SURIZWxwZXJfXzQxM19sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19p
c0lubGluZTsKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDgpOyAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MQogICAgdDEgPSAodWlu
dDMyX3QpKC10MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMzkyCiAgICB0MSA9IHQxLmkzMigpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTMK
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3Bl
cmZvcm1HZXRCeUlESGVscGVyX180MTNfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVh
ZHk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9y
bUdldEJ5SURIZWxwZXJfXzQxM19sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGlu
ZSkKICAgIHQzID0gdDMuaSgpICsgaW50cHRyX3QoLTc2OCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5NgoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVy
Zm9ybUdldEJ5SURIZWxwZXJfXzQxM19sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFk
eSkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGlu
dHB0cl90KDB4MzEwKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5OAogICAgKkNBU1Q8
aW50NjRfdCo+KHQyLmk4cCgpICsgMTIwKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzYx
CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAg
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjc2MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQxNF9wZXJmb3JtR2V0QnlJREhlbHBlcl9fb3BH
ZXRCeUlkUHJvdG9Mb2FkKQogICAgaWYgKHQxLmk4KCkgIT0gaW50OF90KDB4MCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQ4CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDE0
X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRBcnJheUxlbmd0aDsKICAgIHQxID0gKkNB
U1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTQ0OQogICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgp
ICsgOTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDUw
CiAgICBpZiAodDMuaTMyKCkgIT0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NTEKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQxNF9mbl9faXRlcmF0b3JPcGVuR2Vu
ZXJpY0dldE5leHRTbG93OwogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4odDIuaThwKCkgKyAxMDAp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDUyCiAgICB0
MyA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxMDQpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NTMKICAgIGlmICh0MS5pMzIoKSA8IGludDMyX3Qo
MHg2NCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTM5MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MTRfbG9hZFByb3BlcnR5QXRWYXJpYWJs
ZU9mZnNldF9faXNJbmxpbmU7CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA4
KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTEKICAg
IHQxID0gKHVpbnQzMl90KSgtdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MgogICAgdDEgPSB0MS5pMzIoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMzkzCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fNDE0X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVP
ZmZzZXRfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTQKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MTRfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNl
dF9faXNJbmxpbmUpCiAgICB0MyA9IHQzLmkoKSArIGludHB0cl90KC03NjgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTYKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MTRfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9m
ZnNldF9fcmVhZHkpCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArICh0MS5pKCkg
PDwgMykgKyBpbnRwdHJfdCgweDMxMCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTgK
ICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDEyMCkgPSB0MC5pNjQoKTsgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQyID0gdDAuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206Mjc2MQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0
Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3NjMKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MTRfcGVyZm9ybUdldEJ5SURI
ZWxwZXJfX29wR2V0QnlJZEFycmF5TGVuZ3RoKQogICAgaWYgKHQxLmk4KCkgIT0gaW50OF90KDB4
MykpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNDU5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fNDE0X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRVbnNldDsKICAgIHQw
ID0gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2MAogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KHQw
Lmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTE1NwogICAgKkNBU1Q8aW50MzJfdCo+KHQyLmk4cCgpICsgOTYpID0gdDUuaTMyKCk7ICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1OAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4odDAuaThwKCkgKyA0KTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTE1OQogICAgaWYgKCh0MC5pMzIoKSAmIGludDMyX3QoMHgxKSkgPT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDYyCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MTRfZm5fX2l0
ZXJhdG9yT3BlbkdlbmVyaWNHZXROZXh0U2xvdzsKICAgIGlmICgodDAuaTMyKCkgJiBpbnQzMl90
KDB4ZSkpID09IDApICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTQ2MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fNDE0X2ZuX19pdGVyYXRvck9wZW5HZW5lcmljR2V0TmV4dFNsb3c7CiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ2MQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgp
IC0gOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDY1
CiAgICBpZiAodDAuaTMyKCkgPCBpbnQzMl90KDB4MCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NjYKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQxNF9mbl9faXRlcmF0b3JPcGVuR2Vu
ZXJpY0dldE5leHRTbG93OwogICAgdDAgPSB0MC5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDY3CiAgICAq
Q0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAxMjApID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjI3NjEKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0
KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzYzCiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDE0X3BlcmZvcm1HZXRCeUlESGVscGVy
X19vcEdldEJ5SWRVbnNldCkKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3MgogICAg
dDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgOTYpOyAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDczCiAgICBpZiAodDAuaTMyKCkgIT0gdDEuaTMy
KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE0NzQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fXzQxNF9mbl9faXRlcmF0b3JPcGVuR2VuZXJpY0dldE5leHRTbG93OwogICAgKkNBU1Q8
aW50NjRfdCo+KHQyLmk4cCgpICsgMTIwKSA9IGludDY0X3QoMHhhKTsgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDIgPSBpbnRwdHJfdCgweGEpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzYx
CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAg
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjc2MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDE0X2ZuX19pdGVyYXRvck9wZW5HZW5lcmljR2V0TmV4
dFNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVu
dFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0
ID0gbGxpbnRfc2xvd19wYXRoX2l0ZXJhdG9yX29wZW5fZ2V0X25leHQodDAsIHQxKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X2l0ZXJhdG9yX29wZW5fd2lkZTMyKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQK
ICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9v
cFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhS
ZXR1cm5UeXBlIHJlc3VsdCA9IGl0ZXJhdG9yX29wZW5fdHJ5X2Zhc3Rfd2lkZTMyKHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQog
ICAgaWYgKHQxLmk4KCkgPT0gaW50OF90KDB4MSkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzM2CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MThfZm5fX2l0ZXJhdG9yT3BlbkdlbmVy
aWM7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MWEpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MThf
Zm5fX2l0ZXJhdG9yT3BlbkdlbmVyaWMpCiAgICB0NSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRh
dGFUYWJsZS5pOHAoKSArIDYpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIK
ICAgIGlmICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX21ldGFkYXRhX180
MTRfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFk
YXRhVGFibGUuaThwKCkgKyAxMzIpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19tZXRhZGF0YV9fNDE0X21ldGFkYXRhX19zZXRV
cE9mZnNldCkKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgxNikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAg
ICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgKiBpbnQzMl90KDB4OTApKTsgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5pMzIo
KSArIHQwLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5OAogICAgdDUgPSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MCA9ICpDQVNUPGludDMy
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAo
KSArIDU2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5
MAogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX180MTRfbG9hZF9fY29uc3RhbnQ7CiAgICB0MyA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fNDE0X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X180MTRfbG9hZF9fY29uc3RhbnQpCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4Nwog
ICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQwID0gdDAuaSgpIC0gaW50cHRy
X3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDg5CiAgICB0MyA9ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDE0X2xvYWRf
X2RvbmUpCiAgICBpZiAodDMuaTY0KCkgIT0gdDIuaTY0KCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwOTIKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MTZfY2FsbEhlbHBl
cl9fb3BDYWxsU2xvdzsKICAgIHQzID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxCiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgPDwgKGludHB0cl90KDB4MykgJiAweDFm
KSk7ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwOTUKICAgIHQzID0gLXQzLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjA5NgogICAgdDMgPSB0My5pKCkgKyBjZnIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDk3CiAgICAq
Q0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAyNCkgPSB0Mi5pNjQoKTsgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwOTgKICAgIHQyID0gaW50cHRyX3QoMHgxKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206Mjc1MwogICAgKkNBU1Q8aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKSA9IHBjLmkzMigpOyAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgKkNBU1Q8aW50MzJf
dCo+KHQzLmk4cCgpICsgMzYpID0gdDIuaTMyKCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyMTAxCiAgICBzcCA9IHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxMDIKICAg
IHNwID0gc3AuaSgpICsgaW50cHRyX3QoMHgxMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNjQKICAgIGxyID0gZ2V0T3Bjb2RlKGxsaW50X2Ns
b29wX2RpZF9yZXR1cm5fZnJvbV9qc182KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEwNDUKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQ1Lmk4cCgpICsgNjQpOwogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2Nsb29wX2RpZF9y
ZXR1cm5fZnJvbV9qc182KQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChvcF9pdGVyYXRvcl9vcGVu
X3JldHVybl9sb2NhdGlvbl93aWRlMzIpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1
CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRw
dHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEw
MDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMy
X3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9
ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0g
dDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgdDIgPSAqQ0FTVDx1
aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA2KTsgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVs
cGVyX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX180MTVfbWV0YWRhdGFf
X3NldFVwT2Zmc2V0OwogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThw
KCkgKyAxMzIpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19jYWxsSGVscGVyX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX180
MTVfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDE2KSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTEKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSAqIGludDMyX3QoMHg5
MCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDIgPSAo
dWludDMyX3QpKHQyLmkzMigpICsgdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFibGUuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAg
ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDcyKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDE4X2ZuX19nZXRCeUlkU3RhcnQ7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206Mjc0MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDE2X2NhbGxIZWxwZXJfX29wQ2Fs
bFNsb3cpCiAgICAqQ0FTVDxpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIpID0gcGMuaTMyKCk7ICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBwYyA9IHBjLmkoKSAr
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozODQKICAgIHQx
ID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzg1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2l0ZXJh
dG9yX29wZW5fY2FsbCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0
MSk7CiAgICB9CiAgICBpZiAodDEuaSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTM3CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9f
c2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX180MTZfYWN0aW9uX19kb250VXBkYXRl
U1A7CiAgICBzcCA9IHQxLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTM4CiAgICBzcCA9IHNwLmkoKSArIGlu
dHB0cl90KDB4MTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMDY0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19zbG93UGF0aEZvckNhbGxf
X2NhbGxDYWxsU2xvd1BhdGhfXzQxNl9hY3Rpb25fX2RvbnRVcGRhdGVTUCkKICAgIGxyID0gZ2V0
T3Bjb2RlKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc183KTsgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEwNDUKICAgIG9wY29kZSA9IHQwLm9wY29kZSgpOwogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2Nsb29wX2RpZF9yZXR1
cm5fZnJvbV9qc183KQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChvcF9pdGVyYXRvcl9vcGVuX3Ns
b3dfcmV0dXJuX2xvY2F0aW9uX3dpZGUzMikKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEw
MDUKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDIwKTsgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQogICAgdDIgPSB0Mi5pKCkgPDwgKGlu
dHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgw
eDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTAwMQogICAgc3AgPSBjZnIuaSgpIC0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAxMQogICAgcGMgPSAqQ0FTVDx1aW50
MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozMQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAx
Nik7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NQogICAgcGNCYXNl
ID0gKkNBU1Q8aW50cHRyX3QqPihwY0Jhc2UuaThwKCkgKyA4OCk7ICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4NgogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkg
PSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICB0MiA9ICpDQVNU
PHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDYpOyAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxI
ZWxwZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX19jYWxsVGFy
Z2V0RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX180MTZfbWV0YWRhdGFfX3NldFVwT2Zmc2V0
OwogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAxMzIpOyAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVs
cGVyX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdl
dEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNDE2X21ldGFkYXRhX19zZXRVcE9mZnNldCkK
ICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHgxNikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0MSA9ICh1
aW50MzJfdCkodDEuaTMyKCkgKiBpbnQzMl90KDB4OTApKTsgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkz
MigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAg
dDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkg
KyA3MikgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojc5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQx
OF9mbl9fZ2V0QnlJZFN0YXJ0OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3NDEKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fNDE4X2ZuX19nZXRCeUlkU3RhcnQpCiAgICB0MyA9ICpDQVNUPGludDMyX3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTUKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5CiAgICBpZiAo
KHQzLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjI3NjgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQxOF9mbl9faXRlcmF0b3JPcGVuR2VuZXJpY0dldE5l
eHRTbG93OwogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA2
KTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDIuaTMyKCkg
IT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fbWV0YWRhdGFfXzQxN19tZXRh
ZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJs
ZS5pOHAoKSArIDEzMik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX19tZXRhZGF0YV9fNDE3X21ldGFkYXRhX19z
ZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgxNikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
CiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKiBpbnQzMl90KDB4OTApKTsgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5p
MzIoKSArIHQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MSA9ICpDQVNUPHVp
bnQ4X3QqPih0Mi5pOHAoKSArIDExMik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE0MzUKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQxOF9wZXJmb3JtR2V0QnlJREhlbHBl
cl9fb3BHZXRCeUlkRGVmYXVsdCkKICAgIGlmICh0MS5pOCgpICE9IGludDhfdCgweDEpKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQzOAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzQxOF9wZXJmb3JtR2V0QnlJREhlbHBlcl9fb3BHZXRCeUlkUHJvdG9Mb2FkOwogICAgdDEgPSAq
Q0FTVDx1aW50MzJfdCo+KHQzLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNDM5CiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThw
KCkgKyA5Nik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
NDAKICAgIGlmICh0MC5pMzIoKSAhPSB0MS5pMzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ0MQogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDE4X2ZuX19pdGVyYXRvck9wZW5H
ZW5lcmljR2V0TmV4dFNsb3c7CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPih0Mi5pOHAoKSArIDEw
MCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDIKICAg
IGlmICh0MS5pMzIoKSA8IGludDMyX3QoMHg2NCkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180
MTdfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmU7CiAgICB0MyA9ICpDQVNU
PGludHB0cl90Kj4odDMuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEzOTEKICAgIHQxID0gKHVpbnQzMl90KSgtdDEuaTMyKCkpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5Mgog
ICAgdDEgPSB0MS5pMzIoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkzCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fNDE3
X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEzOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MTdfbG9h
ZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MyA9IHQzLmkoKSArIGlu
dHB0cl90KC03NjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEzOTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MTdf
bG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHkpCiAgICB0MCA9ICpDQVNUPGludDY0
X3QqPih0My5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDMxMCkpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEzOTgKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDEy
MCkgPSB0MC5pNjQoKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkK
ICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjc2MQogICAgdDEgPSAqQ0FTVDxpbnQzMl90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQx
LmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3NjMK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxYSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MThf
cGVyZm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJZFByb3RvTG9hZCkKICAgIGlmICh0MS5pOCgp
ICE9IGludDhfdCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ0OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQxOF9wZXJmb3JtR2V0QnlJREhlbHBlcl9fb3BHZXRCeUlk
QXJyYXlMZW5ndGg7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4odDMuaThwKCkpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDkKICAgIHQzID0g
KkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDk2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ1MAogICAgaWYgKHQzLmkzMigpICE9IHQxLmkzMigpKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDUxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X180MThfZm5fX2l0ZXJhdG9yT3BlbkdlbmVyaWNHZXROZXh0U2xvdzsKICAgIHQxID0gKkNBU1Q8
aW50MzJfdCo+KHQyLmk4cCgpICsgMTAwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ1MgogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsg
MTA0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDUzCiAg
ICBpZiAodDEuaTMyKCkgPCBpbnQzMl90KDB4NjQpKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9f
NDE4X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lOwogICAgdDMgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMzkxCiAgICB0MSA9ICh1aW50MzJfdCkoLXQxLmkzMigpKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTIK
ICAgIHQxID0gdDEuaTMyKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MwogICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzQx
OF9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fNDE4X2xv
YWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lKQogICAgdDMgPSB0My5pKCkgKyBp
bnRwdHJfdCgtNzY4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMzk2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fNDE4
X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5KQogICAgdDAgPSAqQ0FTVDxpbnQ2
NF90Kj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoMHgzMTApKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk4CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAx
MjApID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5
CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3NjEKICAgIHQxID0gKkNBU1Q8aW50MzJf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzYz
CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MWEpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDE4
X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRBcnJheUxlbmd0aCkKICAgIGlmICh0MS5p
OCgpICE9IGludDhfdCgweDMpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTQ1OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQxOF9wZXJmb3JtR2V0QnlJREhlbHBlcl9fb3BHZXRC
eUlkVW5zZXQ7CiAgICB0MCA9IHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NjAKICAgIHQ1ID0gKkNB
U1Q8dWludDMyX3QqPih0MC5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjExNTcKICAgICpDQVNUPGludDMyX3QqPih0Mi5pOHAoKSArIDk2KSA9
IHQ1LmkzMigpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExNTgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHQwLmk4cCgpICsgNCk7ICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExNTkKICAgIGlmICgodDAuaTMyKCkgJiBpbnQzMl90
KDB4MSkpID09IDApICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTQ2MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fNDE4X2ZuX19pdGVyYXRvck9wZW5HZW5lcmljR2V0TmV4dFNsb3c7CiAgICBpZiAoKHQw
LmkzMigpICYgaW50MzJfdCgweGUpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE0NjMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzQxOF9mbl9faXRlcmF0b3JPcGVuR2VuZXJpY0dldE5leHRT
bG93OwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgOCk7ICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjEKICAgIHQwID0gKkNBU1Q8dWlu
dDMyX3QqPih0MC5pOHAoKSAtIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTQ2NQogICAgaWYgKHQwLmkzMigpIDwgaW50MzJfdCgweDApKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDY2CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MThfZm5f
X2l0ZXJhdG9yT3BlbkdlbmVyaWNHZXROZXh0U2xvdzsKICAgIHQwID0gdDAuaTY0KCkgfCBudW1i
ZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ2NwogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgMTIwKSA9IHQwLmk2NCgp
OyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDIgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyNzYxCiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTUKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9
IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjc2MwogICAgcGMgPSBwYy5p
KCkgKyBpbnRwdHJfdCgweDFhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQxOF9wZXJmb3JtR2V0QnlJ
REhlbHBlcl9fb3BHZXRCeUlkVW5zZXQpCiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4odDMuaThw
KCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
NzIKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDk2KTsgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3MwogICAgaWYgKHQwLmkzMigpICE9
IHQxLmkzMigpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNDc0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX180MThfZm5fX2l0ZXJhdG9yT3BlbkdlbmVyaWNHZXROZXh0U2xvdzsKICAg
ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDEyMCkgPSBpbnQ2NF90KDB4YSk7ICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQyID0gaW50cHRyX3QoMHhhKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206Mjc2MQogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3NjMKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHgxYSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzQxOF9mbl9faXRlcmF0b3JPcGVuR2VuZXJpY0dldE5leHRT
bG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRT
dGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IGxsaW50X3Nsb3dfcGF0aF9pdGVyYXRvcl9vcGVuX2dldF9uZXh0KHQwLCB0MSk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweDFhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9p
dGVyYXRvcl9uZXh0KQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5CiAgICBpZiAoKHQwLmk2
NCgpICYgdDAuaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI3ODAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pdGVyYXRvck5leHRHZW5lcmljOwogICAgcGMgPSBwYy5p
KCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAg
ICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAo
KSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGl0ZXJhdG9yX25leHRfdHJ5
X2Zhc3RfbmFycm93KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQx
KTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmko
KSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OQogICAgaWYgKHQxLmk4KCkgPT0gaW50OF90KDB4MSkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzkzCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
aXRlcmF0b3JOZXh0R2VuZXJpYzsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19pdGVyYXRvck5leHRHZW5lcmljKQogICAgdDUgPSAqQ0FTVDx1aW50
MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA4KTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzkyCiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVy
X19tZXRhZGF0YV9fNDE4X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWlu
dDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTM2KTsgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbWV0YWRhdGFfXzQxOF9t
ZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg3KSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzUKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAqIGludDMyX3QoMHhiMCkpOyAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMy
X3QpKHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQwID0g
KGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MiA9ICpDQVNU
PGludHB0cl90Kj4odDUuaThwKCkgKyA0MCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjIwOTAKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
Y2FsbEhlbHBlcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDE4X2xvYWRfX2Nv
bnN0YW50OwogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQxOF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDE4X2xvYWRfX2NvbnN0YW50KQogICAgdDMgPSAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NzUKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDE0
NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0
MyA9ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArICh0MC5pKCkgPDwgMykgKyBpbnRwdHJfdCgt
MTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxs
SGVscGVyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180MThfbG9hZF9fZG9uZSkK
ICAgIGlmICh0My5pNjQoKSAhPSB0Mi5pNjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5MgogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQyMF9jYWxsSGVscGVyX19vcENh
bGxTbG93OwogICAgdDMgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0
MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgPDwgKGludHB0cl90KDB4MykgJiAweDFmKSk7ICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwOTUKICAgIHQzID0gLXQzLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjA5NgogICAgdDMgPSB0My5pKCkgKyBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDk3CiAgICAqQ0FTVDxpbnQ2
NF90Kj4odDMuaThwKCkgKyAyNCkgPSB0Mi5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjIwOTgKICAgIHQyID0gaW50cHRyX3QoMHgxKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjgxMAog
ICAgKkNBU1Q8aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKSA9IHBjLmkzMigpOyAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgKkNBU1Q8aW50MzJfdCo+KHQzLmk4
cCgpICsgMzYpID0gdDIuaTMyKCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToyMTAxCiAgICBzcCA9IHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxMDIKICAgIHNwID0gc3Au
aSgpICsgaW50cHRyX3QoMHgxMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEwNjQKICAgIGxyID0gZ2V0T3Bjb2RlKGxsaW50X2Nsb29wX2RpZF9y
ZXR1cm5fZnJvbV9qc184KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNDUKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQ1Lmk4cCgpICsgNDgpOwogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJv
bV9qc184KQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChvcF9pdGVyYXRvcl9uZXh0X3JldHVybl9s
b2NhdGlvbikKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8
dWludDMyX3QqPih0Mi5pOHAoKSArIDIwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjk5OQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNp
emVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTAwMAogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIu
aSgpIC0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTAxMQogICAgcGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSAr
IDMyKTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAg
cGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3Qq
PihwY0Jhc2UuaThwKCkgKyA4OCk7ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4NgogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkK
ICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgp
OyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHQyID0gKkNBU1Q8dWludDE2X3Qq
PihtZXRhZGF0YVRhYmxlLmk4cCgpICsgOCk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fY2Fs
bFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNDE5X21ldGFkYXRhX19zZXRVcE9m
ZnNldDsKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTM2
KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2Fs
bEhlbHBlcl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNDE5X21ldGFk
YXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDcpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNQogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICogaW50MzJfdCgweGIwKSk7ICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9ICh1aW50MzJfdCko
dDIuaTMyKCkgKyB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTgKICAgIHQyID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50
NjRfdCo+KHQyLmk4cCgpICsgNTYpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo3OQogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fZ2V0RG9uZVN0YXJ0OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjI3OTgKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQyMF9jYWxsSGVscGVyX19vcENhbGxTbG93KQogICAgKkNB
U1Q8aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKSA9IHBjLmkzMigpOyAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzg0CiAgICB0MSA9IHBjLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM4NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBj
bG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1Bh
dGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9pdGVyYXRvcl9uZXh0X2NhbGwo
dDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAg
aWYgKHQxLmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEzNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRoRm9yQ2Fs
bF9fY2FsbENhbGxTbG93UGF0aF9fNDIwX2FjdGlvbl9fZG9udFVwZGF0ZVNQOwogICAgc3AgPSB0
MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTEzOAogICAgc3AgPSBzcC5pKCkgKyBpbnRwdHJfdCgweDEwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA2NAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQ
YXRoX180MjBfYWN0aW9uX19kb250VXBkYXRlU1ApCiAgICBsciA9IGdldE9wY29kZShsbGludF9j
bG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfOSk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMDQ1CiAgICBvcGNvZGUgPSB0MC5vcGNvZGUoKTsKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
T0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfOSkK
Ck9GRkxJTkVfQVNNX0dMVUVfTEFCRUwob3BfaXRlcmF0b3JfbmV4dF9zbG93X3JldHVybl9sb2Nh
dGlvbikKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8dWlu
dDMyX3QqPih0Mi5pOHAoKSArIDIwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjk5OQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVv
Zih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTAwMAogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIuaSgp
IC0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTAxMQogICAgcGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMy
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgcGNC
YXNlID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihw
Y0Jhc2UuaThwKCkgKyA4OCk7ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4
NgogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAg
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPiht
ZXRhZGF0YVRhYmxlLmk4cCgpICsgOCk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fc2xvd1Bh
dGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fX2NhbGxUYXJnZXRGdW5jdGlvbl9f
ZGlzcGF0Y2hBZnRlckNhbGxfXzQyMF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpD
QVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDEzNik7ICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRo
Rm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rp
c3BhdGNoQWZ0ZXJDYWxsX180MjBfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDEgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4Nykp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMy
KCkgKiBpbnQzMl90KDB4YjApKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkzMigpKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBt
ZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyA1NikgPSB0MC5pNjQo
KTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nZXREb25lU3RhcnQ7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjc5OAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ2V0RG9uZVN0
YXJ0KQogICAgdDMgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkK
ICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5CiAgICBpZiAoKHQzLmk2NCgpICYgbm90
Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI4MjcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19nZXREb25lU2xvdzsKICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPihtZXRh
ZGF0YVRhYmxlLmk4cCgpICsgOCk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJf
X21ldGFkYXRhX180MjFfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDIgPSAqQ0FTVDx1aW50
MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAxMzYpOyAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fbWV0YWRh
dGFfXzQyMV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MSA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg3KSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzUKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSAqIGludDMyX3Qo
MHhiMCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDIg
PSAodWludDMyX3QpKHQyLmkzMigpICsgdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFibGUu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkK
ICAgIHQxID0gKkNBU1Q8dWludDhfdCo+KHQyLmk4cCgpICsgOTYpOyAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQzNQoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDIyX3Bl
cmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWREZWZhdWx0KQogICAgaWYgKHQxLmk4KCkgIT0g
aW50OF90KDB4MSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNDM4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fNDIyX3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRQcm90
b0xvYWQ7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4odDMuaThwKCkpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MzkKICAgIHQwID0gKkNBU1Q8
dWludDMyX3QqPih0Mi5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ0MAogICAgaWYgKHQwLmkzMigpICE9IHQxLmkzMigpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQxCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
Z2V0RG9uZVNsb3c7CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPih0Mi5pOHAoKSArIDg0KTsgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDIKICAgIGlmICh0
MS5pMzIoKSA8IGludDMyX3QoMHg2NCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MjFfbG9h
ZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmU7CiAgICB0MyA9ICpDQVNUPGludHB0
cl90Kj4odDMuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEzOTEKICAgIHQxID0gKHVpbnQzMl90KSgtdDEuaTMyKCkpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MgogICAgdDEg
PSB0MS5pMzIoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkzCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fNDIxX2xvYWRQ
cm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MjFfbG9hZFByb3Bl
cnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MyA9IHQzLmkoKSArIGludHB0cl90
KC03NjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEzOTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MjFfbG9hZFBy
b3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHkpCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0
My5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDMxMCkpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEzOTgKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDEwNCkgPSB0
MC5pNjQoKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQw
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjgxOQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjgy
MQogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
Z2V0VmFsdWVTdGFydDsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODIyCgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX180MjJfcGVyZm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJZFByb3RvTG9hZCkKICAgIGlm
ICh0MS5pOCgpICE9IGludDhfdCgweDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ0OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQyMl9wZXJmb3JtR2V0QnlJREhlbHBlcl9f
b3BHZXRCeUlkQXJyYXlMZW5ndGg7CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4odDMuaThwKCkp
OyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDkK
ICAgIHQzID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ1MAogICAgaWYgKHQzLmkzMigpICE9IHQx
LmkzMigpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNDUxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fZ2V0RG9uZVNsb3c7CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPih0Mi5p
OHAoKSArIDg0KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE0NTIKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDg4KTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ1MwogICAgaWYgKHQxLmkzMigp
IDwgaW50MzJfdCgweDY0KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMzkwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzQyMl9sb2FkUHJvcGVy
dHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZTsKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0
My5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTM5MQogICAgdDEgPSAodWludDMyX3QpKC10MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkyCiAgICB0MSA9IHQxLmkz
MigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjEzOTMKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MjJfbG9hZFByb3BlcnR5
QXRWYXJpYWJsZU9mZnNldF9fcmVhZHk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5NAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzQyMl9sb2FkUHJvcGVydHlBdFZh
cmlhYmxlT2Zmc2V0X19pc0lubGluZSkKICAgIHQzID0gdDMuaSgpICsgaW50cHRyX3QoLTc2OCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5
NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzQyMl9sb2FkUHJvcGVydHlB
dFZhcmlhYmxlT2Zmc2V0X19yZWFkeSkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MzEwKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTM5OAogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgMTA0KSA9IHQwLmk2NCgp
OyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDAgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyODE5CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkg
PDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODIxCiAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19nZXRWYWx1
ZVN0YXJ0OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4MjIKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQy
Ml9wZXJmb3JtR2V0QnlJREhlbHBlcl9fb3BHZXRCeUlkQXJyYXlMZW5ndGgpCiAgICBpZiAodDEu
aTgoKSAhPSBpbnQ4X3QoMHgzKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE0NTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MjJfcGVyZm9ybUdldEJ5SURIZWxwZXJfX29wR2V0
QnlJZFVuc2V0OwogICAgdDAgPSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDYwCiAgICB0NSA9ICpD
QVNUPHVpbnQzMl90Kj4odDAuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMTU3CiAgICAqQ0FTVDxpbnQzMl90Kj4odDIuaThwKCkgKyA4MCkg
PSB0NS5pMzIoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTU4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPih0MC5pOHAoKSArIDQpOyAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTU5CiAgICBpZiAoKHQwLmkzMigpICYgaW50MzJf
dCgweDEpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE0NjIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19nZXREb25lU2xvdzsKICAgIGlmICgodDAuaTMyKCkgJiBpbnQzMl90KDB4ZSkp
ID09IDApICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2
MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2dldERvbmVTbG93OwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgOCk7
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjEKICAgIHQw
ID0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSAtIDgpOyAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2NQogICAgaWYgKHQwLmkzMigpIDwgaW50MzJfdCgw
eDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNDY2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fZ2V0RG9uZVNsb3c7CiAgICB0MCA9IHQwLmk2NCgpIHwgbnVtYmVyVGFnLmk2NCgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NjcK
ICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDEwNCkgPSB0MC5pNjQoKTsgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQwID0gdDAuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjgxOQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQw
Lmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjgyMQogICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ2V0VmFsdWVTdGFydDsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODIyCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MjJfcGVyZm9ybUdl
dEJ5SURIZWxwZXJfX29wR2V0QnlJZFVuc2V0KQogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHQz
Lmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNDcyCiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyA4MCk7ICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NzMKICAgIGlmICh0MC5pMzIo
KSAhPSB0MS5pMzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ3NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dldERvbmVTbG93OwogICAgKkNBU1Q8aW50NjRfdCo+KHQy
Lmk4cCgpICsgMTA0KSA9IGludDY0X3QoMHhhKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo3OQogICAgdDAgPSBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODE5CiAgICB0MSA9IChp
bnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyODIxCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19nZXRWYWx1ZVN0YXJ0OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjI4MjIKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dldERvbmVTbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBj
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcK
ICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9pdGVyYXRvcl9u
ZXh0X2dldF9kb25lKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQx
KTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmko
KSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAr
IDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjAxNwogICAg
dDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgODApOyAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MjAxOAogICAgaWYgKCpDQVNUPGludHB0cl90Kj4odDMu
aThwKCkgKyAxMjAxMzYpID09IDApICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MjAxOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2JyYW5jaElmRXhjZXB0aW9uX19ub0V4Y2VwdGlvbjsKICAgIGdvdG8gbGxpbnRfdGhy
b3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjIwMjAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2JyYW5jaElmRXhjZXB0aW9uX19ub0V4Y2Vw
dGlvbikKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5
CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fZ2V0VmFs
dWVTdGFydCkKICAgIGlmICgodDAuaTY0KCkgJiBpbnQ2NF90KC0xNikpICE9IDApICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjgzOAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dldFZhbHVlU2xv
dzsKICAgIGlmICgodDAuaTMyKCkgJiBpbnQzMl90KDB4MSkpID09IDApICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjgzOQogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX25vdERvbmU7CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbm90RG9uZSkKICAg
IHQzID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MyA9
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ2OQogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFk
YXRhVGFibGUuaThwKCkgKyA4KTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzky
CiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9f
bWV0YWRhdGFfXzQyMl9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQz
Ml90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDEzNik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX19tZXRhZGF0
YV9fNDIyX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDcpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNQogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICogaW50MzJfdCgw
eGIwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9
ICh1aW50MzJfdCkodDIuaTMyKCkgKyB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQyID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQog
ICAgdDEgPSAqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDM1CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MjRfcGVy
Zm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJZERlZmF1bHQpCiAgICBpZiAodDEuaTgoKSAhPSBp
bnQ4X3QoMHgxKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE0MzgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX180MjRfcGVyZm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJZFByb3Rv
TG9hZDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQzOQogICAgdDAgPSAqQ0FTVDx1
aW50MzJfdCo+KHQyLmk4cCgpICsgMTI4KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxNDQwCiAgICBpZiAodDAuaTMyKCkgIT0gdDEuaTMyKCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDEKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19n
ZXRWYWx1ZVNsb3c7CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPih0Mi5pOHAoKSArIDEzMik7ICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDIKICAgIGlmICh0
MS5pMzIoKSA8IGludDMyX3QoMHg2NCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MjNfbG9h
ZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmU7CiAgICB0MyA9ICpDQVNUPGludHB0
cl90Kj4odDMuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEzOTEKICAgIHQxID0gKHVpbnQzMl90KSgtdDEuaTMyKCkpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MgogICAgdDEg
PSB0MS5pMzIoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkzCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fNDIzX2xvYWRQ
cm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MjNfbG9hZFByb3Bl
cnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MyA9IHQzLmkoKSArIGludHB0cl90
KC03NjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjEzOTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MjNfbG9hZFBy
b3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHkpCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0
My5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDMxMCkpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEzOTgKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDE1MikgPSB0
MC5pNjQoKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQy
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjg0NAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjg0
NgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQy
NF9wZXJmb3JtR2V0QnlJREhlbHBlcl9fb3BHZXRCeUlkUHJvdG9Mb2FkKQogICAgaWYgKHQxLmk4
KCkgIT0gaW50OF90KDB4MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDQ4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDI0X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5
SWRBcnJheUxlbmd0aDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ0OQogICAgdDMg
PSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMTI4KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDUwCiAgICBpZiAodDMuaTMyKCkgIT0gdDEuaTMyKCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE0NTEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19nZXRWYWx1ZVNsb3c7CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPih0Mi5pOHAoKSAr
IDEzMik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NTIK
ICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDEzNik7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ1MwogICAgaWYgKHQxLmkzMigpIDwgaW50
MzJfdCgweDY0KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMzkwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzQyNF9sb2FkUHJvcGVydHlBdFZh
cmlhYmxlT2Zmc2V0X19pc0lubGluZTsKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAo
KSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5
MQogICAgdDEgPSAodWludDMyX3QpKC10MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkyCiAgICB0MSA9IHQxLmkzMigpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEzOTMKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MjRfbG9hZFByb3BlcnR5QXRWYXJp
YWJsZU9mZnNldF9fcmVhZHk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5NAoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzQyNF9sb2FkUHJvcGVydHlBdFZhcmlhYmxl
T2Zmc2V0X19pc0lubGluZSkKICAgIHQzID0gdDMuaSgpICsgaW50cHRyX3QoLTc2OCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5NgoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzQyNF9sb2FkUHJvcGVydHlBdFZhcmlh
YmxlT2Zmc2V0X19yZWFkeSkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgKHQx
LmkoKSA8PCAzKSArIGludHB0cl90KDB4MzEwKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTM5OAogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgMTUyKSA9IHQwLmk2NCgpOyAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDIgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyODQ0CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykp
ID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODQ2CiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDI0X3BlcmZvcm1HZXRC
eUlESGVscGVyX19vcEdldEJ5SWRBcnJheUxlbmd0aCkKICAgIGlmICh0MS5pOCgpICE9IGludDhf
dCgweDMpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ1OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzQyNF9wZXJmb3JtR2V0QnlJREhlbHBlcl9fb3BHZXRCeUlkVW5zZXQ7CiAg
ICB0MCA9IHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NjAKICAgIHQ1ID0gKkNBU1Q8dWludDMyX3Qq
Pih0MC5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjExNTcKICAgICpDQVNUPGludDMyX3QqPih0Mi5pOHAoKSArIDEyOCkgPSB0NS5pMzIoKTsg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExNTgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHQwLmk4cCgpICsgNCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjExNTkKICAgIGlmICgodDAuaTMyKCkgJiBpbnQzMl90KDB4MSkpID09IDAp
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2MgogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dl
dFZhbHVlU2xvdzsKICAgIGlmICgodDAuaTMyKCkgJiBpbnQzMl90KDB4ZSkpID09IDApICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2MwogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dldFZhbHVl
U2xvdzsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDgpOyAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDYxCiAgICB0MCA9ICpDQVNUPHVp
bnQzMl90Kj4odDAuaThwKCkgLSA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE0NjUKICAgIGlmICh0MC5pMzIoKSA8IGludDMyX3QoMHgwKSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2NgogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2dl
dFZhbHVlU2xvdzsKICAgIHQwID0gdDAuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2NwogICAgKkNBU1Q8
aW50NjRfdCo+KHQyLmk4cCgpICsgMTUyKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODQ0
CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAg
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODQ2CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDI0X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdl
dEJ5SWRVbnNldCkKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3MgogICAgdDAgPSAq
Q0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMTI4KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNDczCiAgICBpZiAodDAuaTMyKCkgIT0gdDEuaTMyKCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
NzQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19nZXRWYWx1ZVNsb3c7CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAxNTIpID0g
aW50NjRfdCgweGEpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0
MiA9IGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4NDQKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4
NDYKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19n
ZXRWYWx1ZVNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2l0ZXJhdG9yX25leHRfZ2V0X3ZhbHVlKHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9pdGVyYXRvcl9uZXh0X3dpZGUxNikKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50
MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDgpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NjkKICAgIGlmICgodDAuaTY0KCkgJiB0MC5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjc4MAogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDMwX2ZuX19pdGVyYXRvck5leHRH
ZW5lcmljOwogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJl
bnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3Vs
dCA9IGl0ZXJhdG9yX25leHRfdHJ5X2Zhc3Rfd2lkZTE2KHQwLCB0MSk7CiAgICAgICAgZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgaWYgKHQxLmk4KCkg
PT0gaW50OF90KDB4MSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyNzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX180MzBfZm5fX2l0ZXJhdG9yTmV4dEdlbmVyaWM7CiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4MTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MzBfZm5fX2l0ZXJhdG9yTmV4
dEdlbmVyaWMpCiAgICB0NSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSAr
IDgpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0NS5pMzIo
KSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX21ldGFkYXRhX180MjRfbWV0YWRhdGFfX3Nl
dFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkg
KyAxMzYpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19jYWxsSGVscGVyX19tZXRhZGF0YV9fNDI0X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQw
ID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHhlKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQwID0gKHVpbnQzMl90
KSh0MC5pMzIoKSAqIGludDMyX3QoMHhiMCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3QpKHQ1LmkzMigpICsgdDAuaTMyKCkpOyAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1
LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDgpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgNDAp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDkwCiAgICBp
ZiAodDAuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzQyNF9sb2FkX19jb25zdGFudDsKICAgIHQzID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X180MjRfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2NhbGxIZWxwZXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQyNF9s
b2FkX19jb25zdGFudCkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MyA9
ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThw
KCkgKyAodDAuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fNDI0X2xvYWRfX2RvbmUpCiAgICBpZiAodDMuaTY0KCkgIT0gdDIuaTY0
KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjIwOTIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX180MjZfY2FsbEhlbHBlcl9fb3BDYWxsU2xvdzsKICAgIHQzID0gKkNBU1Q8dWlu
dDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhjKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSA8
PCAoaW50cHRyX3QoMHgzKSAmIDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjA5NQogICAgdDMgPSAtdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDk2CiAgICB0MyA9IHQzLmkoKSAr
IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIwOTcKICAgICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArIDI0KSA9IHQy
Lmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5OAogICAg
dDIgPSBpbnRwdHJfdCgweDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODEwCiAgICAqQ0FTVDxpbnQzMl90Kj4oY2ZyLmk4
cCgpICsgMzIpID0gcGMuaTMyKCk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI3CiAgICAqQ0FTVDxpbnQzMl90Kj4odDMuaThwKCkgKyAzNikgPSB0Mi5pMzIoKTsgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxMDEKICAgIHNwID0gdDMuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjEwMgogICAgc3AgPSBzcC5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA2NAogICAg
bHIgPSBnZXRPcGNvZGUobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzEwKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA0NQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDUuaThwKCkgKyA0OCk7CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX0dMVUVf
TEFCRUwobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzEwKQoKT0ZGTElORV9BU01fR0xV
RV9MQUJFTChvcF9pdGVyYXRvcl9uZXh0X3JldHVybl9sb2NhdGlvbl93aWRlMTYpCiAgICB0MiA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxMDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThw
KCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkK
ICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9
PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQy
ID0gdDIuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEw
MTEKICAgIHBjID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsg
ODgpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQxID0gKGlu
dDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo4OAogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUu
aThwKCkgKyA4KTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAo
dDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19jYWxsVGFyZ2V0RnVuY3Rpb25f
X2Rpc3BhdGNoQWZ0ZXJDYWxsX180MjVfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDIgPSAq
Q0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAxMzYpOyAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19jYWxsVGFy
Z2V0RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX180MjVfbWV0YWRhdGFfX3NldFVwT2Zmc2V0
KQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweGUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDEgPSAo
dWludDMyX3QpKHQxLmkzMigpICogaW50MzJfdCgweGIwKSk7ICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKyB0MS5p
MzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAg
IHQyID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgp
ICsgNTYpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo3OQogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180
MzBfZm5fX2dldERvbmVTdGFydDsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNzk4CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX180MjZfY2FsbEhlbHBlcl9fb3BDYWxsU2xvdykKICAgICpDQVNUPGludDMyX3Qq
PihjZnIuaThwKCkgKyAzMikgPSBwYy5pMzIoKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjcKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9
IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM4NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
ODUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5z
ZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlw
ZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfaXRlcmF0b3JfbmV4dF9jYWxsKHQwLCB0MSk7CiAg
ICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIGlmICh0MS5pKCkg
PT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjExMzcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxs
U2xvd1BhdGhfXzQyNl9hY3Rpb25fX2RvbnRVcGRhdGVTUDsKICAgIHNwID0gdDEuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjExMzgKICAgIHNwID0gc3AuaSgpICsgaW50cHRyX3QoMHgxMCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNjQKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fNDI2X2Fj
dGlvbl9fZG9udFVwZGF0ZVNQKQogICAgbHIgPSBnZXRPcGNvZGUobGxpbnRfY2xvb3BfZGlkX3Jl
dHVybl9mcm9tX2pzXzExKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA0NQogICAg
b3Bjb2RlID0gdDAub3Bjb2RlKCk7CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X0dMVUVfTEFCRUwobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzExKQoKT0ZGTElORV9B
U01fR0xVRV9MQUJFTChvcF9pdGVyYXRvcl9uZXh0X3Nsb3dfcmV0dXJuX2xvY2F0aW9uX3dpZGUx
NikKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8dWludDMy
X3QqPih0Mi5pOHAoKSArIDIwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjk5OQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1
aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTAwMAogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIuaSgpIC0g
dDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTAxMQogICAgcGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgcGNCYXNl
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4NQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihwY0Jh
c2UuaThwKCkgKyA4OCk7ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4Ngog
ICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4obWV0
YWRhdGFUYWJsZS5pOHAoKSArIDgpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
OTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRo
Rm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rp
c3BhdGNoQWZ0ZXJDYWxsX180MjZfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDIgPSAqQ0FT
VDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAxMzYpOyAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19zbG93UGF0aEZv
ckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNw
YXRjaEFmdGVyQ2FsbF9fNDI2X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8
dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhlKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIo
KSAqIGludDMyX3QoMHhiMCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5NwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICsgdDEuaTMyKCkpOyAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MiA9IHQyLmkoKSArIG1l
dGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDU2KSA9IHQwLmk2NCgp
OyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDMwX2ZuX19nZXREb25lU3Rh
cnQ7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjc5OAoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MzBfZm5fX2dl
dERvbmVTdGFydCkKICAgIHQzID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0NwogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAz
KSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjkKICAgIGlmICgodDMuaTY0
KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjgyNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fNDMwX2ZuX19nZXREb25lU2xvdzsKICAgIHQyID0gKkNBU1Q8dWlu
dDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgOCk7ICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdl
dEJ5SURIZWxwZXJfX21ldGFkYXRhX180MjdfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDIg
PSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAxMzYpOyAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhl
bHBlcl9fbWV0YWRhdGFfXzQyN19tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MSA9ICpDQVNU
PHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4ZSkp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMy
KCkgKiBpbnQzMl90KDB4YjApKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkzMigpKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBt
ZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206Mzk5CiAgICB0MSA9ICpDQVNUPHVpbnQ4X3QqPih0Mi5pOHAoKSArIDk2KTsgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MzUKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fXzQyOF9wZXJmb3JtR2V0QnlJREhlbHBlcl9fb3BHZXRCeUlkRGVmYXVsdCkKICAgIGlm
ICh0MS5pOCgpICE9IGludDhfdCgweDEpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQzOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQyOF9wZXJmb3JtR2V0QnlJREhlbHBlcl9f
b3BHZXRCeUlkUHJvdG9Mb2FkOwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHQzLmk4cCgpKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDM5CiAg
ICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyA4MCk7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDAKICAgIGlmICh0MC5pMzIoKSAhPSB0MS5p
MzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ0MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fNDMwX2ZuX19nZXREb25lU2xvdzsKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHQy
Lmk4cCgpICsgODQpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTQ0MgogICAgaWYgKHQxLmkzMigpIDwgaW50MzJfdCgweDY0KSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkwCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5
SURIZWxwZXJfXzQyN19sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZTsKICAg
IHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MQogICAgdDEgPSAodWludDMyX3QpKC10MS5p
MzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMzkyCiAgICB0MSA9IHQxLmkzMigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTMKICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlE
SGVscGVyX180MjdfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxw
ZXJfXzQyN19sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZSkKICAgIHQzID0g
dDMuaSgpICsgaW50cHRyX3QoLTc2OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURI
ZWxwZXJfXzQyN19sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeSkKICAgIHQwID0g
KkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MzEw
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5OAogICAgKkNBU1Q8aW50NjRfdCo+KHQy
Lmk4cCgpICsgMTA0KSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo3OQogICAgdDAgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODE5CiAgICB0MSA9IChp
bnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjgyMQogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX180MzBfZm5fX2dldFZhbHVlU3RhcnQ7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjgyMgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDI4X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdl
dEJ5SWRQcm90b0xvYWQpCiAgICBpZiAodDEuaTgoKSAhPSBpbnQ4X3QoMHgwKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDgKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180Mjhf
cGVyZm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJZEFycmF5TGVuZ3RoOwogICAgdDEgPSAqQ0FT
VDx1aW50MzJfdCo+KHQzLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDQ5CiAgICB0MyA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkg
KyA4MCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NTAK
ICAgIGlmICh0My5pMzIoKSAhPSB0MS5pMzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ1MQogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDMwX2ZuX19nZXREb25lU2xvdzsKICAg
IHQxID0gKkNBU1Q8aW50MzJfdCo+KHQyLmk4cCgpICsgODQpOyAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ1MgogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQyLmk4cCgpICsgODgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNDUzCiAgICBpZiAodDEuaTMyKCkgPCBpbnQzMl90KDB4NjQpKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTAKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0
QnlJREhlbHBlcl9fNDI4X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lOwog
ICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkxCiAgICB0MSA9ICh1aW50MzJfdCkoLXQx
LmkzMigpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjEzOTIKICAgIHQxID0gdDEuaTMyKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MwogICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5
SURIZWxwZXJfXzQyOF9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhl
bHBlcl9fNDI4X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5saW5lKQogICAgdDMg
PSB0My5pKCkgKyBpbnRwdHJfdCgtNzY4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk2CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJ
REhlbHBlcl9fNDI4X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5KQogICAgdDAg
PSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoMHgz
MTApKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk4CiAgICAqQ0FTVDxpbnQ2NF90Kj4o
dDIuaThwKCkgKyAxMDQpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjc5CiAgICB0MCA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4MTkKICAgIHQxID0g
KGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyODIxCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fXzQzMF9mbl9fZ2V0VmFsdWVTdGFydDsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyODIyCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MjhfcGVyZm9ybUdldEJ5SURIZWxwZXJfX29w
R2V0QnlJZEFycmF5TGVuZ3RoKQogICAgaWYgKHQxLmk4KCkgIT0gaW50OF90KDB4MykpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDU5CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
NDI4X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRVbnNldDsKICAgIHQwID0gdDMuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ2MAogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1NwogICAg
KkNBU1Q8aW50MzJfdCo+KHQyLmk4cCgpICsgODApID0gdDUuaTMyKCk7ICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4odDAu
aThwKCkgKyA0KTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTE1OQogICAgaWYgKCh0MC5pMzIoKSAmIGludDMyX3QoMHgxKSkgPT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDYyCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MzBfZm5fX2dldERvbmVTbG93
OwogICAgaWYgKCh0MC5pMzIoKSAmIGludDMyX3QoMHhlKSkgPT0gMCkgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDYzCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MzBfZm5fX2dldERvbmVTbG93Owog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjEKICAgIHQwID0gKkNBU1Q8dWludDMyX3Qq
Pih0MC5pOHAoKSAtIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ2NQogICAgaWYgKHQwLmkzMigpIDwgaW50MzJfdCgweDApKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDY2CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MzBfZm5fX2dldERv
bmVTbG93OwogICAgdDAgPSB0MC5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDY3CiAgICAqQ0FTVDxpbnQ2
NF90Kj4odDIuaThwKCkgKyAxMDQpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjc5CiAgICB0MCA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4MTkKICAg
IHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODIxCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzQzMF9mbl9fZ2V0VmFsdWVTdGFydDsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyODIyCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MjhfcGVyZm9ybUdldEJ5SURIZWxw
ZXJfX29wR2V0QnlJZFVuc2V0KQogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHQzLmk4cCgpKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDcyCiAg
ICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyA4MCk7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NzMKICAgIGlmICh0MC5pMzIoKSAhPSB0MS5p
MzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ3NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fNDMwX2ZuX19nZXREb25lU2xvdzsKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAo
KSArIDEwNCkgPSBpbnQ2NF90KDB4YSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NzkKICAgIHQwID0gaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjgxOQogICAgdDEgPSAoaW50NjRf
dCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjI4MjEKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fNDMwX2ZuX19nZXRWYWx1ZVN0YXJ0OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjI4MjIKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fNDMwX2ZuX19nZXREb25lU2xvdykKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfaXRlcmF0
b3JfbmV4dF9nZXRfZG9uZSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQw
LCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBw
Yy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
KCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIwMTcK
ICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIwMTgKICAgIGlmICgqQ0FTVDxpbnRwdHJfdCo+
KHQzLmk4cCgpICsgMTIwMTM2KSA9PSAwKSAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjIwMTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX180MjhfYnJhbmNoSWZFeGNlcHRpb25fX25vRXhjZXB0aW9uOwogICAgZ290byBs
bGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lOyAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MjAyMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDI4X2JyYW5jaElmRXhjZXB0
aW9uX19ub0V4Y2VwdGlvbikKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0NwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjkKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fNDMwX2ZuX19nZXRWYWx1ZVN0YXJ0KQogICAgaWYgKCh0MC5pNjQoKSAmIGludDY0X3QoLTE2
KSkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
ODM4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X180MzBfZm5fX2dldFZhbHVlU2xvdzsKICAgIGlmICgodDAuaTMyKCkgJiBpbnQzMl90KDB4MSkp
ID09IDApICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjgz
OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
NDMwX2ZuX19ub3REb25lOwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fNDMwX2ZuX19ub3REb25lKQogICAgdDMgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ3CiAgICB0MyA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2OQog
ICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA4KTsgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fbWV0YWRhdGFfXzQyOF9tZXRhZGF0YV9fc2V0
VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSAr
IDEzNik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X3BlcmZvcm1HZXRCeUlESGVscGVyX19tZXRhZGF0YV9fNDI4X21ldGFkYXRhX19zZXRVcE9mZnNl
dCkKICAgIHQxID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHhlKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQxID0g
KHVpbnQzMl90KSh0MS5pMzIoKSAqIGludDMyX3QoMHhiMCkpOyAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICsgdDEu
aTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAg
ICB0MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQxID0gKkNBU1Q8dWludDhfdCo+KHQy
Lmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTQzNQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDMwX3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5
SWREZWZhdWx0KQogICAgaWYgKHQxLmk4KCkgIT0gaW50OF90KDB4MSkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDM4CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDMwX3BlcmZv
cm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRQcm90b0xvYWQ7CiAgICB0MSA9ICpDQVNUPHVpbnQz
Ml90Kj4odDMuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE0MzkKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDEyOCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ0MAogICAgaWYg
KHQwLmkzMigpICE9IHQxLmkzMigpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MzBfZm5fX2dldFZhbHVlU2xvdzsKICAgIHQxID0g
KkNBU1Q8aW50MzJfdCo+KHQyLmk4cCgpICsgMTMyKTsgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ0MgogICAgaWYgKHQxLmkzMigpIDwgaW50MzJfdCgweDY0
KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MzkwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzQyOV9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zm
c2V0X19pc0lubGluZTsKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDgpOyAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MQogICAgdDEg
PSAodWludDMyX3QpKC10MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkyCiAgICB0MSA9IHQxLmkzMigpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjEzOTMKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MjlfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNl
dF9fcmVhZHk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5NAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
cGVyZm9ybUdldEJ5SURIZWxwZXJfXzQyOV9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19p
c0lubGluZSkKICAgIHQzID0gdDMuaSgpICsgaW50cHRyX3QoLTc2OCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5NgoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzQyOV9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0
X19yZWFkeSkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAz
KSArIGludHB0cl90KDB4MzEwKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5OAogICAg
KkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgMTUyKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyODQ0CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2
NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjg0NgogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQzMF9wZXJmb3JtR2V0QnlJREhlbHBl
cl9fb3BHZXRCeUlkUHJvdG9Mb2FkKQogICAgaWYgKHQxLmk4KCkgIT0gaW50OF90KDB4MCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQ4
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fNDMwX3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRBcnJheUxlbmd0aDsKICAgIHQx
ID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ0OQogICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KHQy
Lmk4cCgpICsgMTI4KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxNDUwCiAgICBpZiAodDMuaTMyKCkgIT0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NTEKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQzMF9mbl9fZ2V0VmFsdWVT
bG93OwogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4odDIuaThwKCkgKyAxMzIpOyAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDUyCiAgICB0MyA9ICpDQVNUPGlu
dHB0cl90Kj4odDIuaThwKCkgKyAxMzYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE0NTMKICAgIGlmICh0MS5pMzIoKSA8IGludDMyX3QoMHg2NCkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3Bl
cmZvcm1HZXRCeUlESGVscGVyX180MzBfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJ
bmxpbmU7CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA4KTsgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTEKICAgIHQxID0gKHVpbnQz
Ml90KSgtdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTM5MgogICAgdDEgPSB0MS5pMzIoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkzCiAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJm
b3JtR2V0QnlJREhlbHBlcl9fNDMwX2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1H
ZXRCeUlESGVscGVyX180MzBfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmUp
CiAgICB0MyA9IHQzLmkoKSArIGludHB0cl90KC03NjgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTYKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZv
cm1HZXRCeUlESGVscGVyX180MzBfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHkp
CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRw
dHJfdCgweDMxMCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTgKICAgICpDQVNUPGlu
dDY0X3QqPih0Mi5pOHAoKSArIDE1MikgPSB0MC5pNjQoKTsgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjg0NAog
ICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4NDYKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHgxMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MzBfcGVyZm9ybUdldEJ5SURIZWxwZXJfX29wR2V0
QnlJZEFycmF5TGVuZ3RoKQogICAgaWYgKHQxLmk4KCkgIT0gaW50OF90KDB4MykpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDU5CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDMw
X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRVbnNldDsKICAgIHQwID0gdDMuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTQ2MAogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1NwogICAgKkNB
U1Q8aW50MzJfdCo+KHQyLmk4cCgpICsgMTI4KSA9IHQ1LmkzMigpOyAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTE1OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4odDAuaThw
KCkgKyA0KTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTE1
OQogICAgaWYgKCh0MC5pMzIoKSAmIGludDMyX3QoMHgxKSkgPT0gMCkgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDYyCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MzBfZm5fX2dldFZhbHVlU2xvdzsK
ICAgIGlmICgodDAuaTMyKCkgJiBpbnQzMl90KDB4ZSkpID09IDApICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ2MwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDMwX2ZuX19nZXRWYWx1ZVNsb3c7CiAg
ICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2MQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+
KHQwLmk4cCgpIC0gOCk7ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxNDY1CiAgICBpZiAodDAuaTMyKCkgPCBpbnQzMl90KDB4MCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NjYKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQzMF9mbl9fZ2V0VmFs
dWVTbG93OwogICAgdDAgPSB0MC5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDY3CiAgICAqQ0FTVDxpbnQ2
NF90Kj4odDIuaThwKCkgKyAxNTIpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjc5CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4NDQKICAg
IHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODQ2CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4
MTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkp
OyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigm
Z19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDMwX3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5
SWRVbnNldCkKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3MgogICAgdDAgPSAqQ0FT
VDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMTI4KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDczCiAgICBpZiAodDAuaTMyKCkgIT0gdDEuaTMyKCkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NzQK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQz
MF9mbl9fZ2V0VmFsdWVTbG93OwogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgMTUyKSA9
IGludDY0X3QoMHhhKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAg
dDIgPSBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODQ0CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGlu
dDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
Mjg0NgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDMw
X2ZuX19nZXRWYWx1ZVNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2l0ZXJhdG9yX25leHRfZ2V0X3ZhbHVlKHQw
LCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBj
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09Q
Q09ERV9MQUJFTChvcF9pdGVyYXRvcl9uZXh0X3dpZGUzMikKICAgIHQwID0gKkNBU1Q8aW50MzJf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGUpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjkK
ICAgIGlmICgodDAuaTY0KCkgJiB0MC5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjc4MAogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDM2X2ZuX19pdGVyYXRvck5leHRHZW5l
cmljOwogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRT
dGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IGl0ZXJhdG9yX25leHRfdHJ5X2Zhc3Rfd2lkZTMyKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgaWYgKHQxLmk4KCkgPT0g
aW50OF90KDB4MSkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyNzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX180MzZfZm5fX2l0ZXJhdG9yTmV4dEdlbmVyaWM7CiAgICBwYyA9IHBjLmko
KSArIGludHB0cl90KDB4MWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEg
PSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MzZfZm5fX2l0ZXJhdG9yTmV4dEdl
bmVyaWMpCiAgICB0NSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDgp
OyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0NS5pMzIoKSAh
PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX21ldGFkYXRhX180MzBfbWV0YWRhdGFfX3NldFVw
T2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAx
MzYpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19j
YWxsSGVscGVyX19tZXRhZGF0YV9fNDMwX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQwID0g
KkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgxYSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0MCA9ICh1aW50MzJfdCko
dDAuaTMyKCkgKiBpbnQzMl90KDB4YjApKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5pMzIoKSArIHQwLmkzMigpKTsgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDUgPSB0NS5p
KCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk5CiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhlKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTUKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSArIDQwKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5MAogICAgaWYgKHQwLmkoKSA+
PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX180MzBfbG9hZF9fY29uc3RhbnQ7CiAgICB0MyA9ICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDMwX2xvYWRf
X2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxs
SGVscGVyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180MzBfbG9hZF9fY29uc3Rh
bnQpCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDMgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQzLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODgKICAgIHQwID0gdDAuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MyA9
ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDMwX2xvYWRfX2RvbmUpCiAgICBpZiAodDMu
aTY0KCkgIT0gdDIuaTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjIwOTIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MzJfY2FsbEhlbHBlcl9fb3BDYWxsU2xvdzsKICAg
IHQzID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHgxNikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0MyA9ICh1aW50
MzJfdCkodDMuaTMyKCkgPDwgKGludHB0cl90KDB4MykgJiAweDFmKSk7ICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjIwOTUKICAgIHQzID0gLXQzLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5Ngog
ICAgdDMgPSB0My5pKCkgKyBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDk3CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDMu
aThwKCkgKyAyNCkgPSB0Mi5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIwOTgKICAgIHQyID0gaW50cHRyX3QoMHgxKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjgxMAogICAgKkNBU1Q8
aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKSA9IHBjLmkzMigpOyAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgKkNBU1Q8aW50MzJfdCo+KHQzLmk4cCgpICsgMzYp
ID0gdDIuaTMyKCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTAx
CiAgICBzcCA9IHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxMDIKICAgIHNwID0gc3AuaSgpICsgaW50
cHRyX3QoMHgxMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEwNjQKICAgIGxyID0gZ2V0T3Bjb2RlKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJv
bV9qc18xMik7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNDUKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQ1Lmk4cCgpICsgNDgpOwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc18xMikK
Ck9GRkxJTkVfQVNNX0dMVUVfTEFCRUwob3BfaXRlcmF0b3JfbmV4dF9yZXR1cm5fbG9jYXRpb25f
d2lkZTMyKQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwNQogICAgdDIgPSAqQ0FTVDx1
aW50MzJfdCo+KHQyLmk4cCgpICsgMjApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206OTk5CiAgICB0MiA9IHQyLmkoKSA8PCAoaW50cHRyX3QoMHgzKSAmICgoc2l6
ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMDAwCiAgICB0MiA9IHQyLmkoKSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDAxCiAgICBzcCA9IGNmci5p
KCkgLSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxMDExCiAgICBwYyA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgpICsg
MzIpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBw
Y0Jhc2UgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg1CiAgICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJfdCo+
KHBjQmFzZS5pOHAoKSArIDg4KTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg2CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNU
PGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0
YVRhYmxlLmk4cCgpICsgOCk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5Mgog
ICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fY2FsbFRhcmdldEZ1
bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNDMxX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAg
IHQyID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTM2KTsgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9f
Y2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNDMxX21ldGFkYXRhX19zZXRV
cE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgxYSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAg
ICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKiBpbnQzMl90KDB4YjApKTsgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIo
KSArIHQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4o
dDIuaThwKCkgKyA1NikgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjc5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fXzQzNl9mbl9fZ2V0RG9uZVN0YXJ0OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3
OTgKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzQzMl9jYWxsSGVscGVyX19vcENhbGxTbG93KQogICAgKkNBU1Q8
aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKSA9IHBjLmkzMigpOyAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQK
ICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzg0CiAgICB0MSA9IHBjLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM4NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9v
cFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhS
ZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9pdGVyYXRvcl9uZXh0X2NhbGwodDAs
IHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgaWYg
KHQxLmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTEzNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRoRm9yQ2FsbF9f
Y2FsbENhbGxTbG93UGF0aF9fNDMyX2FjdGlvbl9fZG9udFVwZGF0ZVNQOwogICAgc3AgPSB0MS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTEzOAogICAgc3AgPSBzcC5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA2NAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRo
X180MzJfYWN0aW9uX19kb250VXBkYXRlU1ApCiAgICBsciA9IGdldE9wY29kZShsbGludF9jbG9v
cF9kaWRfcmV0dXJuX2Zyb21fanNfMTMpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MDQ1CiAgICBvcGNvZGUgPSB0MC5vcGNvZGUoKTsKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fR0xVRV9MQUJFTChsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfMTMpCgpP
RkZMSU5FX0FTTV9HTFVFX0xBQkVMKG9wX2l0ZXJhdG9yX25leHRfc2xvd19yZXR1cm5fbG9jYXRp
b25fd2lkZTMyKQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwNQogICAgdDIgPSAqQ0FT
VDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMjApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206OTk5CiAgICB0MiA9IHQyLmkoKSA8PCAoaW50cHRyX3QoMHgzKSAmICgo
c2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMDAwCiAgICB0MiA9IHQyLmkoKSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDAxCiAgICBzcCA9IGNm
ci5pKCkgLSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMDExCiAgICBwYyA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgp
ICsgMzIpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAg
ICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg1CiAgICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJf
dCo+KHBjQmFzZS5pOHAoKSArIDg4KTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjg2CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPihtZXRh
ZGF0YVRhYmxlLmk4cCgpICsgOCk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fc2xvd1BhdGhG
b3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fX2NhbGxUYXJnZXRGdW5jdGlvbl9fZGlz
cGF0Y2hBZnRlckNhbGxfXzQzMl9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNU
PHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDEzNik7ICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRoRm9y
Q2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3Bh
dGNoQWZ0ZXJDYWxsX180MzJfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDEgPSAqQ0FTVDx1
aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDFhKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIo
KSAqIGludDMyX3QoMHhiMCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5NwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICsgdDEuaTMyKCkpOyAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MiA9IHQyLmkoKSArIG1l
dGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDU2KSA9IHQwLmk2NCgp
OyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDM2X2ZuX19nZXREb25lU3Rh
cnQ7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjc5OAoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MzZfZm5fX2dl
dERvbmVTdGFydCkKICAgIHQzID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQog
ICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjkKICAgIGlmICgodDMuaTY0KCkgJiBub3RD
ZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjgyNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fNDM2X2ZuX19nZXREb25lU2xvdzsKICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPiht
ZXRhZGF0YVRhYmxlLmk4cCgpICsgOCk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxw
ZXJfX21ldGFkYXRhX180MzNfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDIgPSAqQ0FTVDx1
aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAxMzYpOyAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9fbWV0
YWRhdGFfXzQzM19tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MSA9ICpDQVNUPHVpbnQzMl90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MWEpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MQogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICogaW50
MzJfdCgweGIwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAg
ICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKyB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQyID0gdDIuaSgpICsgbWV0YWRhdGFU
YWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5OQogICAgdDEgPSAqQ0FTVDx1aW50OF90Kj4odDIuaThwKCkgKyA5Nik7ICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDM1CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180
MzRfcGVyZm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJZERlZmF1bHQpCiAgICBpZiAodDEuaTgo
KSAhPSBpbnQ4X3QoMHgxKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE0MzgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MzRfcGVyZm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJ
ZFByb3RvTG9hZDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0My5pOHAoKSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQzOQogICAgdDAgPSAq
Q0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgODApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQwCiAgICBpZiAodDAuaTMyKCkgIT0gdDEuaTMyKCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0
NDEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
XzQzNl9mbl9fZ2V0RG9uZVNsb3c7CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPih0Mi5pOHAoKSAr
IDg0KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDIK
ICAgIGlmICh0MS5pMzIoKSA8IGludDMyX3QoMHg2NCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MAogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVy
X180MzNfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmU7CiAgICB0MyA9ICpD
QVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEzOTEKICAgIHQxID0gKHVpbnQzMl90KSgtdDEuaTMyKCkpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5
MgogICAgdDEgPSB0MS5pMzIoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkzCiAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJmb3JtR2V0QnlJREhlbHBlcl9f
NDMzX2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3JlYWR5OyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjEzOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MzNf
bG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9faXNJbmxpbmUpCiAgICB0MyA9IHQzLmkoKSAr
IGludHB0cl90KC03NjgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjEzOTYKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180
MzNfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHkpCiAgICB0MCA9ICpDQVNUPGlu
dDY0X3QqPih0My5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDMxMCkpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTgKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSAr
IDEwNCkgPSB0MC5pNjQoKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NzkKICAgIHQwID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjgxOQogICAgdDEgPSAqQ0FTVDxpbnQz
Ml90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4
MjEKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDM2
X2ZuX19nZXRWYWx1ZVN0YXJ0OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4MjIKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fXzQzNF9wZXJmb3JtR2V0QnlJREhlbHBlcl9fb3BHZXRCeUlkUHJvdG9Mb2FkKQog
ICAgaWYgKHQxLmk4KCkgIT0gaW50OF90KDB4MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQ4CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDM0X3BlcmZvcm1HZXRCeUlESGVs
cGVyX19vcEdldEJ5SWRBcnJheUxlbmd0aDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0My5p
OHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTQ0OQogICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgODApOyAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDUwCiAgICBpZiAodDMuaTMyKCkg
IT0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE0NTEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fXzQzNl9mbl9fZ2V0RG9uZVNsb3c7CiAgICB0MSA9ICpDQVNUPGludDMy
X3QqPih0Mi5pOHAoKSArIDg0KTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE0NTIKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDg4KTsg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ1MwogICAgaWYg
KHQxLmkzMigpIDwgaW50MzJfdCgweDY0KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzQzNF9s
b2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZTsKICAgIHQzID0gKkNBU1Q8aW50
cHRyX3QqPih0My5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTM5MQogICAgdDEgPSAodWludDMyX3QpKC10MS5pMzIoKSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkyCiAgICB0
MSA9IHQxLmkzMigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTMKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVscGVyX180MzRfbG9h
ZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzQzNF9sb2FkUHJv
cGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZSkKICAgIHQzID0gdDMuaSgpICsgaW50cHRy
X3QoLTc2OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTM5NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfXzQzNF9sb2Fk
UHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeSkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+
KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MzEwKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTM5OAogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgMTA0KSA9
IHQwLmk2NCgpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAg
dDAgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODE5CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgp
IDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjgyMQogICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MzZfZm5fX2dl
dFZhbHVlU3RhcnQ7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjgyMgoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fNDM0X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRBcnJheUxlbmd0aCkKICAgIGlm
ICh0MS5pOCgpICE9IGludDhfdCgweDMpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ1OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQzNF9wZXJmb3JtR2V0QnlJREhlbHBlcl9f
b3BHZXRCeUlkVW5zZXQ7CiAgICB0MCA9IHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NjAKICAgIHQ1
ID0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExNTcKICAgICpDQVNUPGludDMyX3QqPih0Mi5pOHAoKSAr
IDgwKSA9IHQ1LmkzMigpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEx
NTgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHQwLmk4cCgpICsgNCk7ICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExNTkKICAgIGlmICgodDAuaTMyKCkgJiBp
bnQzMl90KDB4MSkpID09IDApICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTQ2MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fNDM2X2ZuX19nZXREb25lU2xvdzsKICAgIGlmICgodDAuaTMyKCkgJiBpbnQz
Ml90KDB4ZSkpID09IDApICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQ2MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fNDM2X2ZuX19nZXREb25lU2xvdzsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0
My5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDYxCiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkgLSA4KTsgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NjUKICAgIGlmICh0MC5pMzIo
KSA8IGludDMyX3QoMHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ2NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fNDM2X2ZuX19nZXREb25lU2xvdzsKICAgIHQwID0gdDAuaTY0KCkg
fCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTQ2NwogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgMTA0KSA9IHQw
Lmk2NCgpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgdDAg
PSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODE5CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8
IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjgyMQogICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180MzZfZm5fX2dldFZh
bHVlU3RhcnQ7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjgyMgoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
NDM0X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRVbnNldCkKICAgIHQxID0gKkNBU1Q8
dWludDMyX3QqPih0My5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTQ3MgogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsg
ODApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDczCiAg
ICBpZiAodDAuaTMyKCkgIT0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NzQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQzNl9mbl9fZ2V0RG9uZVNsb3c7CiAgICAq
Q0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAxMDQpID0gaW50NjRfdCgweGEpOyAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MCA9IGludHB0cl90KDB4YSk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjI4MTkKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODIxCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzQzNl9mbl9fZ2V0VmFsdWVTdGFydDsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyODIyCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQzNl9mbl9fZ2V0RG9uZVNsb3cpCiAgICBw
YyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRl
cihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xv
d19wYXRoX2l0ZXJhdG9yX25leHRfZ2V0X2RvbmUodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MyA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToyMDE3CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA4MCk7ICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMDE4CiAgICBpZiAoKkNB
U1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDEyMDEzNikgPT0gMCkgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToyMDE5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDM0X2JyYW5jaElmRXhjZXB0aW9uX19ub0V4Y2VwdGlv
bjsKICAgIGdvdG8gbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZTsgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIwMjAKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQzNF9i
cmFuY2hJZkV4Y2VwdGlvbl9fbm9FeGNlcHRpb24pCiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fXzQzNl9mbl9fZ2V0VmFsdWVTdGFydCkKICAgIGlmICgodDAuaTY0KCkgJiBpbnQ2NF90
KC0xNikpICE9IDApICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjgzOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fNDM2X2ZuX19nZXRWYWx1ZVNsb3c7CiAgICBpZiAoKHQwLmkzMigpICYgaW50MzJfdCgw
eDEpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjI4MzkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fXzQzNl9mbl9fbm90RG9uZTsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxZSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzQzNl9mbl9fbm90RG9uZSkKICAgIHQzID0gKkNBU1Q8aW50MzJfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NQogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQz
LmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjkKICAgIHQy
ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgOCk7ICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzkz
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fcGVyZm9ybUdldEJ5SURIZWxwZXJfX21ldGFkYXRhX180MzRfbWV0YWRhdGFfX3NldFVwT2Zm
c2V0OwogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAxMzYp
OyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJm
b3JtR2V0QnlJREhlbHBlcl9fbWV0YWRhdGFfXzQzNF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAg
ICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4MWEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MQogICAgdDEgPSAodWlu
dDMyX3QpKHQxLmkzMigpICogaW50MzJfdCgweGIwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKyB0MS5pMzIo
KSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQy
ID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDEgPSAqQ0FTVDx1aW50OF90Kj4odDIuaThw
KCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
NDM1CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX180MzZfcGVyZm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJZERl
ZmF1bHQpCiAgICBpZiAodDEuaTgoKSAhPSBpbnQ4X3QoMHgxKSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0MzgKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MzZfcGVyZm9ybUdl
dEJ5SURIZWxwZXJfX29wR2V0QnlJZFByb3RvTG9hZDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3Qq
Pih0My5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTQzOQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMTI4KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDQwCiAgICBpZiAodDAu
aTMyKCkgIT0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE0NDEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fXzQzNl9mbl9fZ2V0VmFsdWVTbG93OwogICAgdDEgPSAqQ0FT
VDxpbnQzMl90Kj4odDIuaThwKCkgKyAxMzIpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxNDQyCiAgICBpZiAodDEuaTMyKCkgPCBpbnQzMl90KDB4NjQpKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTAK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19wZXJmb3JtR2V0QnlJREhlbHBlcl9fNDM1X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRf
X2lzSW5saW5lOwogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgOCk7ICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkxCiAgICB0MSA9ICh1
aW50MzJfdCkoLXQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjEzOTIKICAgIHQxID0gdDEuaTMyKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5
MwogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
cGVyZm9ybUdldEJ5SURIZWxwZXJfXzQzNV9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19y
ZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wZXJm
b3JtR2V0QnlJREhlbHBlcl9fNDM1X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX2lzSW5s
aW5lKQogICAgdDMgPSB0My5pKCkgKyBpbnRwdHJfdCgtNzY4KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk2CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19w
ZXJmb3JtR2V0QnlJREhlbHBlcl9fNDM1X2xvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRfX3Jl
YWR5KQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDEuaSgpIDw8IDMpICsg
aW50cHRyX3QoMHgzMTApKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzk4CiAgICAqQ0FT
VDxpbnQ2NF90Kj4odDIuaThwKCkgKyAxNTIpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4
NDQKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyODQ2CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MWUp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fNDM2X3BlcmZvcm1HZXRCeUlESGVscGVyX19vcEdldEJ5SWRQ
cm90b0xvYWQpCiAgICBpZiAodDEuaTgoKSAhPSBpbnQ4X3QoMHgwKSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NDgKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MzZfcGVyZm9y
bUdldEJ5SURIZWxwZXJfX29wR2V0QnlJZEFycmF5TGVuZ3RoOwogICAgdDEgPSAqQ0FTVDx1aW50
MzJfdCo+KHQzLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxNDQ5CiAgICB0MyA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAxMjgp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NTAKICAgIGlm
ICh0My5pMzIoKSAhPSB0MS5pMzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ1MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDM2X2ZuX19nZXRWYWx1ZVNsb3c7CiAgICB0MSA9
ICpDQVNUPGludDMyX3QqPih0Mi5pOHAoKSArIDEzMik7ICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE0NTIKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5p
OHAoKSArIDEzNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTQ1MwogICAgaWYgKHQxLmkzMigpIDwgaW50MzJfdCgweDY0KSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMzkwCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURI
ZWxwZXJfXzQzNl9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZTsKICAgIHQz
ID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5MQogICAgdDEgPSAodWludDMyX3QpKC10MS5pMzIo
KSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMzkyCiAgICB0MSA9IHQxLmkzMigpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEzOTMKICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3BlcmZvcm1HZXRCeUlESGVs
cGVyX180MzZfbG9hZFByb3BlcnR5QXRWYXJpYWJsZU9mZnNldF9fcmVhZHk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxwZXJf
XzQzNl9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19pc0lubGluZSkKICAgIHQzID0gdDMu
aSgpICsgaW50cHRyX3QoLTc2OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTM5NgoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcGVyZm9ybUdldEJ5SURIZWxw
ZXJfXzQzNl9sb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0X19yZWFkeSkKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KDB4MzEwKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTM5OAogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4
cCgpICsgMTUyKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo3OQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODQ0CiAgICB0MSA9ICpDQVNU
PGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206Mjg0NgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDFlKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzQzNl9wZXJmb3JtR2V0QnlJREhlbHBlcl9fb3BHZXRCeUlkQXJyYXlMZW5ndGgpCiAgICBp
ZiAodDEuaTgoKSAhPSBpbnQ4X3QoMHgzKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MzZfcGVyZm9ybUdldEJ5SURIZWxwZXJf
X29wR2V0QnlJZFVuc2V0OwogICAgdDAgPSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxNDYwCiAgICB0
NSA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMTU3CiAgICAqQ0FTVDxpbnQzMl90Kj4odDIuaThwKCkg
KyAxMjgpID0gdDUuaTMyKCk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MTU4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPih0MC5pOHAoKSArIDQpOyAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTU5CiAgICBpZiAoKHQwLmkzMigpICYg
aW50MzJfdCgweDEpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE0NjIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzQzNl9mbl9fZ2V0VmFsdWVTbG93OwogICAgaWYgKCh0MC5pMzIoKSAmIGlu
dDMyX3QoMHhlKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNDYzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX180MzZfZm5fX2dldFZhbHVlU2xvdzsKICAgIHQwID0gKkNBU1Q8aW50cHRyX3Qq
Pih0My5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDYxCiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkgLSA4KTsgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NjUKICAgIGlmICh0MC5p
MzIoKSA8IGludDMyX3QoMHgwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTQ2NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fNDM2X2ZuX19nZXRWYWx1ZVNsb3c7CiAgICB0MCA9IHQwLmk2
NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE0NjcKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDE1Mikg
PSB0MC5pNjQoKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAg
IHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjg0NAogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmko
KSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4NDYKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180MzZfcGVy
Zm9ybUdldEJ5SURIZWxwZXJfX29wR2V0QnlJZFVuc2V0KQogICAgdDEgPSAqQ0FTVDx1aW50MzJf
dCo+KHQzLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxNDcyCiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAxMjgpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE0NzMKICAgIGlmICh0
MC5pMzIoKSAhPSB0MS5pMzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTQ3NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDM2X2ZuX19nZXRWYWx1ZVNsb3c7CiAgICAqQ0FTVDxp
bnQ2NF90Kj4odDIuaThwKCkgKyAxNTIpID0gaW50NjRfdCgweGEpOyAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MiA9IGludHB0cl90KDB4YSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4NDQK
ICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyODQ2CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MWUpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX180MzZfZm5fX2dldFZhbHVlU2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBw
Yy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3
CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAg
ICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfaXRlcmF0b3Jf
bmV4dF9nZXRfdmFsdWUodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwg
dDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMu
aSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MWUpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9pbnRlcm5hbF9maWVsZCkKICAgIHQx
ID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MSA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ2OQogICAgdDIgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0Mi5pKCkgPDwg
MykgKyBpbnRwdHJfdCgweDEwKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjg2NQogICAg
dDMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2OQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KG1l
dGFkYXRhVGFibGUuaThwKCkgKyAxMTYpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzkyCiAgICBpZiAodDEuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19yZXR1cm5fX21ldGFkYXRhX180MzZfbWV0YWRh
dGFfX3NldFVwT2Zmc2V0OwogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUu
aThwKCkgKyAzNTIpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUHJvZmlsZV9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ha2VSZXR1cm5Qcm9maWxlZF9fZm5fX2ZuX19y
ZXR1cm5fX21ldGFkYXRhX180MzZfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDIgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMy
KCkgKiBpbnQzMl90KDB4MTgpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTcKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSArIHQyLmkzMigpKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDEgPSB0MS5pKCkgKyBt
ZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkpID0gdDMuaTY0KCk7ICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICB0MSA9IChp
bnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfaW50ZXJuYWxfZmllbGRfd2lkZTE2KQogICAg
dDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICB0MSA9
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ2OQogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0MwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDIuaSgp
IDw8IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4NjUK
ICAgIHQzID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjkKICAgIHQxID0gKkNBU1Q8dWludDE2X3Qq
PihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTE2KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5MgogICAgaWYgKHQxLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fNDM3X21l
dGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRh
YmxlLmk4cCgpICsgMzUyKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19m
bl9fcmV0dXJuX19tZXRhZGF0YV9fNDM3X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQyID0g
KkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHg4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQyID0gKHVpbnQzMl90KSh0
Mi5pMzIoKSAqIGludDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5NwogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICsgdDIuaTMyKCkpOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MSA9IHQxLmko
KSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSkgPSB0My5pNjQo
KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQx
ID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfaW50ZXJuYWxfZmllbGRfd2lkZTMy
KQogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICB0MSA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ2OQogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDIuaSgpIDw8
IDMpICsgaW50cHRyX3QoMHgxMCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4NjUKICAg
IHQzID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjkKICAgIHQxID0gKkNBU1Q8dWludDE2X3QqPiht
ZXRhZGF0YVRhYmxlLmk4cCgpICsgMTE2KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5MgogICAgaWYgKHQxLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9fcmV0dXJuX19tZXRhZGF0YV9fNDM4X21ldGFk
YXRhX19zZXRVcE9mZnNldDsKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxl
Lmk4cCgpICsgMzUyKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFByb2ZpbGVfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tYWtlUmV0dXJuUHJvZmlsZWRfX2ZuX19mbl9f
cmV0dXJuX19tZXRhZGF0YV9fNDM4X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQyID0gKkNB
U1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhl
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5p
MzIoKSAqIGludDMyX3QoMHgxOCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5NwogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICsgdDIuaTMyKCkpOyAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MSA9IHQxLmkoKSAr
IG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSkgPSB0My5pNjQoKTsg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHQxID0g
KkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNm
ci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDMuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo3MwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEyKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF9wdXRfaW50ZXJuYWxfZmllbGQpCiAgICB0MCA9IChpbnQ2NF90
KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NjkKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM5CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fNDM4X2xvYWRfX2NvbnN0YW50OwogICAgdDIgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDM4X2xvYWRfX2RvbmU7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzQzOF9sb2FkX19jb25zdGFudCkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDc1CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNDQpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDIgPSAqQ0FTVDxpbnQ2
NF90Kj4odDIuaThwKCkgKyAodDEuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX180MzhfbG9hZF9fZG9uZSkKICAgIHQxID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNQogICAgKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSAr
IGludHB0cl90KDB4MTApKSA9IHQyLmk2NCgpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4
NzQKICAgIGlmICgodDIuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUyCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkNlbGxBbmRWYWx1
ZVdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmU7CiAgICBpZiAodDIuaTY0KCkgPT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjU1MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fd3JpdGVCYXJyaWVyT25DZWxsQW5kVmFsdWVXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25l
OwogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI2MQogICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTI2MgogICAgaWYgKCpDQVNUPHVpbnQ4X3QqPih0MC5pOHAoKSArIDcpID4gdWludDhf
dCgweDApKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fd3JpdGVCYXJyaWVyT25DZWxsQW5kVmFsdWVXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJPbkNl
bGxXaXRoUmVsb2FkX180Mzhfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5fX2RvbmU7CiAgICBQ
VVNIKHBjQmFzZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0MgogICAgUFVTSChwYyk7CiAgICB0MSA9IHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjU0MwogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDQKICAg
IGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTI1CiAgICBsbGludF93cml0ZV9iYXJyaWVyX3Ns
b3codDAsIHQxKTsKICAgIFBPUChwYyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQ2CiAgICBQT1AocGNC
YXNlKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fd3JpdGVCYXJyaWVyT25DZWxsQW5kVmFsdWVXaXRoUmVsb2FkX193cml0
ZUJhcnJpZXJPbkNlbGxXaXRoUmVsb2FkX180Mzhfc2tpcElmSXNSZW1lbWJlcmVkT3JJbkVkZW5f
X2RvbmUpCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX3dyaXRlQmFycmllck9uQ2VsbEFuZFZhbHVlV2l0aFJlbG9hZF9fd3Jp
dGVCYXJyaWVyRG9uZSkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAq
Q0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZM
SU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHV0X2ludGVybmFsX2ZpZWxkX3dpZGUxNikKICAgIHQw
ID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgdDAgPSAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjkKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQzOV9sb2FkX19jb25zdGFudDsKICAgIHQyID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQzOV9sb2FkX19k
b25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX180MzlfbG9hZF9fY29uc3RhbnQpCiAgICB0MiA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ4MQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgMTQ0
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQy
ID0gKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01
MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDM5X2xvYWRfX2RvbmUpCiAgICB0MSA9ICpDQVNUPHVpbnQx
Nl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAo
dDEuaSgpIDw8IDMpICsgaW50cHRyX3QoMHgxMCkpID0gdDIuaTY0KCk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206Mjg3NAogICAgaWYgKCh0Mi5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAh
PSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NTIKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fXzQzOV93cml0ZUJh
cnJpZXJPbkNlbGxBbmRWYWx1ZVdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmU7CiAgICBpZiAo
dDIuaTY0KCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjU1MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fNDM5X3dyaXRlQmFycmllck9uQ2VsbEFuZFZhbHVlV2l0aFJl
bG9hZF9fd3JpdGVCYXJyaWVyRG9uZTsKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjEK
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNjIKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4o
dDAuaThwKCkgKyA3KSA+IHVpbnQ4X3QoMHgwKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX3dyaXRlQmFycmllck9uQ2VsbEFuZFZhbHVlV2l0aFJl
bG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fNDM5X3NraXBJZklzUmVtZW1iZXJl
ZE9ySW5FZGVuX19kb25lOwogICAgUFVTSChwY0Jhc2UpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDIKICAgIFBV
U0gocGMpOwogICAgdDEgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDMKICAgIHQwID0gY2ZyLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTQ0CiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIo
c3AudnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEyNQogICAg
bGxpbnRfd3JpdGVfYmFycmllcl9zbG93KHQwLCB0MSk7CiAgICBQT1AocGMpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU0NgogICAgUE9QKHBjQmFzZSk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX3dyaXRlQmFycmllck9uQ2VsbEFu
ZFZhbHVlV2l0aFJlbG9hZF9fd3JpdGVCYXJyaWVyT25DZWxsV2l0aFJlbG9hZF9fNDM5X3NraXBJ
ZklzUmVtZW1iZXJlZE9ySW5FZGVuX19kb25lKQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX180Mzlfd3JpdGVCYXJyaWVyT25D
ZWxsQW5kVmFsdWVXaXRoUmVsb2FkX193cml0ZUJhcnJpZXJEb25lKQogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXRfaW50
ZXJuYWxfZmllbGRfd2lkZTMyKQogICAgdDAgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjU1CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2OQogICAgdDEgPSAqQ0FTVDxp
bnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4YSkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDEuaSgpID49IGludHB0cl90KDB4
NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDQwX2xvYWRfX2NvbnN0YW50OwogICAg
dDIgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDQw
X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ0MF9sb2FkX19jb25zdGFudCkKICAgIHQyID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDIuaThw
KCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
OAogICAgdDEgPSB0MS5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQyID0gKkNBU1Q8aW50NjRf
dCo+KHQyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ0
MF9sb2FkX19kb25lKQogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MQogICAgKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90
KDB4MTApKSA9IHQyLmk2NCgpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4NzQKICAgIGlm
ICgodDIuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX180NDBfd3JpdGVCYXJyaWVyT25DZWxsQW5kVmFsdWVXaXRo
UmVsb2FkX193cml0ZUJhcnJpZXJEb25lOwogICAgaWYgKHQyLmk2NCgpID09IDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
NTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fXzQ0
MF93cml0ZUJhcnJpZXJPbkNlbGxBbmRWYWx1ZVdpdGhSZWxvYWRfX3dyaXRlQmFycmllckRvbmU7
CiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjYxCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMjYyCiAgICBpZiAoKkNBU1Q8dWludDhfdCo+KHQwLmk4cCgpICsgNykgPiB1aW50OF90
KDB4MCkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X193cml0ZUJhcnJpZXJPbkNlbGxBbmRWYWx1ZVdpdGhSZWxvYWRfX3dyaXRlQmFycmllck9uQ2Vs
bFdpdGhSZWxvYWRfXzQ0MF9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9fZG9uZTsKICAgIFBV
U0gocGNCYXNlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTQyCiAgICBQVVNIKHBjKTsKICAgIHQxID0gdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTQzCiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU0NAogICAg
Y2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOyAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMjUKICAgIGxsaW50X3dyaXRlX2JhcnJpZXJfc2xv
dyh0MCwgdDEpOwogICAgUE9QKHBjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NDYKICAgIFBPUChwY0Jh
c2UpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX193cml0ZUJhcnJpZXJPbkNlbGxBbmRWYWx1ZVdpdGhSZWxvYWRfX3dyaXRl
QmFycmllck9uQ2VsbFdpdGhSZWxvYWRfXzQ0MF9za2lwSWZJc1JlbWVtYmVyZWRPckluRWRlbl9f
ZG9uZSkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fNDQwX3dyaXRlQmFycmllck9uQ2VsbEFuZFZhbHVlV2l0aFJlbG9hZF9f
d3JpdGVCYXJyaWVyRG9uZSkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbG9nX3NoYWRvd19jaGlja2VuX3Byb2xvZ3VlKQog
ICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk3OQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQxLmk4cCgpICsgODApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTk4MAogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTIwNDE2KTsgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk4MQogICAgdDAgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTk4MgogICAgaWYgKHQwLnUoKSA+PSAqQ0FTVDx1aW50cHRyX3QqPih0Mi5p
OHAoKSArIDI0KSkgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk4MwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fb3BMb2dTaGFkb3dD
aGlja2VuUHJvbG9ndWVTbG93OwogICAgdDEgPSBpbnRwdHJfdCgweDM4KSArIHQwLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk4NAogICAg
KkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE2KSA9IHQxLmkoKTsgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk4NQogICAgKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAo
KSArIDE2KSA9IGNmci5pKCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyODgyCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpKTsgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4ODMKICAgICpDQVNUPGludHB0
cl90Kj4odDAuaThwKCkgKyAyNCkgPSB0MS5pKCk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206Mjg4NAogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAr
IDI0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODg1CiAg
ICAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgOCkgPSB0MS5pKCk7ICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4ODYKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIu
aThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ2OQogICAgKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDMyKSA9IHQxLmkoKTsgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODg4CiAgICBwYyA9IHBjLmkoKSAr
IGludHB0cl90KDB4Mik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19vcExvZ1NoYWRvd0NoaWNrZW5Qcm9sb2d1ZVNs
b3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0
YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0g
bGxpbnRfc2xvd19wYXRoX2xvZ19zaGFkb3dfY2hpY2tlbl9wcm9sb2d1ZSh0MCwgdDEpOwogICAg
ICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBj
ID0gcGMuaSgpICsgaW50cHRyX3QoMHgyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwo
b3BfbG9nX3NoYWRvd19jaGlja2VuX3Byb2xvZ3VlX3dpZGUxNikKICAgIHQxID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjE5NzkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDgwKTsg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5ODAKICAgIHQyID0g
KkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDEyMDQxNik7ICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjE5ODEKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAo
KSArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5ODIK
ICAgIGlmICh0MC51KCkgPj0gKkNBU1Q8dWludHB0cl90Kj4odDIuaThwKCkgKyAyNCkpICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5ODMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fNDQwX2ZuX19vcExvZ1NoYWRvd0NoaWNrZW5Qcm9sb2d1
ZVNsb3c7CiAgICB0MSA9IGludHB0cl90KDB4MzgpICsgdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTg0CiAgICAqQ0FTVDxpbnRwdHJf
dCo+KHQyLmk4cCgpICsgMTYpID0gdDEuaSgpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxOTg1CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTYpID0gY2Zy
LmkoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4ODIKICAgIHQx
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjg4MwogICAgKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAo
KSArIDI0KSA9IHQxLmkoKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyODg0CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMjQpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4ODUKICAgICpDQVNUPGludHB0
cl90Kj4odDAuaThwKCkgKyA4KSA9IHQxLmkoKTsgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206Mjg4NgogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEu
aSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2OQogICAgKkNB
U1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDMyKSA9IHQxLmkoKTsgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODg4CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4
NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkp
OyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigm
Z19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19j
b21tb25PcF9fZm5fXzQ0MF9mbl9fb3BMb2dTaGFkb3dDaGlja2VuUHJvbG9ndWVTbG93KQogICAg
cGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50
ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Ns
b3dfcGF0aF9sb2dfc2hhZG93X2NoaWNrZW5fcHJvbG9ndWUodDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmko
KSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEg
PSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2xvZ19z
aGFkb3dfY2hpY2tlbl9wcm9sb2d1ZV93aWRlMzIpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxOTc5CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyA4MCk7ICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTgwCiAgICB0MiA9ICpDQVNUPGlu
dHB0cl90Kj4odDEuaThwKCkgKyAxMjA0MTYpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxOTgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNik7
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTgyCiAgICBpZiAo
dDAudSgpID49ICpDQVNUPHVpbnRwdHJfdCo+KHQyLmk4cCgpICsgMjQpKSAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxOTgzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9w
X19jb21tb25PcF9fZm5fXzQ0MV9mbl9fb3BMb2dTaGFkb3dDaGlja2VuUHJvbG9ndWVTbG93Owog
ICAgdDEgPSBpbnRwdHJfdCgweDM4KSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk4NAogICAgKkNBU1Q8aW50cHRyX3QqPih0Mi5p
OHAoKSArIDE2KSA9IHQxLmkoKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTk4NQogICAgKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE2KSA9IGNmci5pKCk7ICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODgyCiAgICB0MSA9ICpDQVNU
PGludHB0cl90Kj4oY2ZyLmk4cCgpKTsgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI4ODMKICAgICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAyNCkg
PSB0MS5pKCk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjg4NAog
ICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDI0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyODg1CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQw
Lmk4cCgpICsgOCkgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI4ODYKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQog
ICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjkKICAgICpDQVNUPGludHB0cl90Kj4odDAu
aThwKCkgKyAzMikgPSB0MS5pKCk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206Mjg4OAogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX180NDFf
Zm5fX29wTG9nU2hhZG93Q2hpY2tlblByb2xvZ3VlU2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBw
Yy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3
CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAg
ICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfbG9nX3NoYWRv
d19jaGlja2VuX3Byb2xvZ3VlKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwg
dDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9
IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9sb2dfc2hhZG93X2NoaWNrZW5fdGFp
bCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5NzkKICAgIHQxID0gKkNBU1Q8aW50cHRy
X3QqPih0MS5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjE5ODAKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDEyMDQxNik7
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5ODEKICAgIHQwID0gKkNB
U1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjE5ODIKICAgIGlmICh0MC51KCkgPj0gKkNBU1Q8dWludHB0cl90Kj4o
dDIuaThwKCkgKyAyNCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5ODMKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX29wTG9nU2hh
ZG93Q2hpY2tlblRhaWxTbG93OwogICAgdDEgPSBpbnRwdHJfdCgweDM4KSArIHQwLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk4NAogICAg
KkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE2KSA9IHQxLmkoKTsgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk4NQogICAgKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAo
KSArIDE2KSA9IGNmci5pKCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyODk4CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgOCkgPSBpbnRwdHJfdCgweDdh
MTEpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4OTkKICAgIHQxID0gKGludDY0
X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MSA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ2OQogICAgKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSkgPSB0MS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTAxCiAgICB0MSA9
IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgdDEgPSAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0NjkKICAgICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAzMikg
PSB0MS5pKCk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjkwMwog
ICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTA0CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQw
Lmk4cCgpICsgNDApID0gdDEuaSgpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI5MDUKICAgICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSArIDQ4KSA9IHBjLmkzMigp
OyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjkwNgogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fb3BMb2dTaGFkb3dDaGlja2VuVGFp
bFNsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVu
dFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0
ID0gbGxpbnRfc2xvd19wYXRoX2xvZ19zaGFkb3dfY2hpY2tlbl90YWlsKHQwLCB0MSk7CiAgICAg
ICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF9sb2dfc2hhZG93X2NoaWNrZW5fdGFpbF93aWRlMTYpCiAgICB0MSA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxOTc5CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyA4MCk7ICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTgwCiAgICB0MiA9ICpDQVNU
PGludHB0cl90Kj4odDEuaThwKCkgKyAxMjA0MTYpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxOTgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAx
Nik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTgyCiAgICBp
ZiAodDAudSgpID49ICpDQVNUPHVpbnRwdHJfdCo+KHQyLmk4cCgpICsgMjQpKSAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxOTgzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dE9wX19jb21tb25PcF9fZm5fXzQ0MV9mbl9fb3BMb2dTaGFkb3dDaGlja2VuVGFpbFNsb3c7CiAg
ICB0MSA9IGludHB0cl90KDB4MzgpICsgdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTg0CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4
cCgpICsgMTYpID0gdDEuaSgpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxOTg1CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTYpID0gY2ZyLmkoKTsgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI4OTgKICAgICpDQVNUPGludHB0
cl90Kj4odDAuaThwKCkgKyA4KSA9IGludHB0cl90KDB4N2ExMSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206Mjg5OQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEu
aSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2OQogICAgKkNB
U1Q8aW50cHRyX3QqPih0MC5pOHAoKSkgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTAxCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5
CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMzIpID0gdDEuaSgpOyAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI5MDMKICAgIHQxID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjkwNAogICAgKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDQwKSA9IHQxLmko
KTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTA1CiAgICAqQ0FT
VDxpbnQzMl90Kj4odDAuaThwKCkgKyA0OCkgPSBwYy5pMzIoKTsgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjI5MDYKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fNDQxX2ZuX19vcExvZ1NoYWRvd0NoaWNrZW5UYWlsU2xvdykKICAgIHBjID0g
cGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNw
LnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3Bh
dGhfbG9nX3NoYWRvd19jaGlja2VuX3RhaWwodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgK
ICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2xvZ19zaGFkb3dfY2hp
Y2tlbl90YWlsX3dpZGUzMikKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAx
Nik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5NzkKICAgIHQx
ID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5ODAKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0MS5p
OHAoKSArIDEyMDQxNik7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5
ODEKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5ODIKICAgIGlmICh0MC51KCkgPj0gKkNB
U1Q8dWludHB0cl90Kj4odDIuaThwKCkgKyAyNCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjE5ODMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fNDQyX2ZuX19vcExvZ1NoYWRvd0NoaWNrZW5UYWlsU2xvdzsKICAgIHQxID0gaW50cHRyX3Qo
MHgzOCkgKyB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjE5ODQKICAgICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAxNikgPSB0MS5p
KCk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5ODUKICAgICpDQVNU
PGludHB0cl90Kj4odDAuaThwKCkgKyAxNikgPSBjZnIuaSgpOyAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206Mjg5OAogICAgKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSAr
IDgpID0gaW50cHRyX3QoMHg3YTExKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
ODk5CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQxID0g
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpKSA9
IHQxLmkoKTsgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI5
MDEKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDEgPSAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjkKICAgICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAz
MikgPSB0MS5pKCk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjkw
MwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTA0CiAgICAqQ0FTVDxpbnRwdHJfdCo+
KHQwLmk4cCgpICsgNDApID0gdDEuaSgpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjI5MDUKICAgICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSArIDQ4KSA9IHBjLmkz
MigpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjkwNgogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX180NDJfZm5fX29wTG9nU2hhZG93Q2hp
Y2tlblRhaWxTbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNl
dEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9sb2dfc2hhZG93X2NoaWNrZW5fdGFpbCh0MCwgdDEp
OwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVf
TEFCRUwob3BfaGFzX3N0cnVjdHVyZV9wcm9wZXJ0eSkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4
MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9faGFzU3RydWN0dXJlUHJvcGVy
dHlJbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NDJfbG9hZF9fY29uc3Rh
bnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19oYXNTdHJ1Y3R1cmVQcm9wZXJ0eUltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzQ0Ml9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19oYXNTdHJ1
Y3R1cmVQcm9wZXJ0eUltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ0Ml9s
b2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MSA9
ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19oYXNTdHJ1Y3R1cmVQcm9wZXJ0eUltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzQ0Ml9sb2FkX19kb25lKQogICAgaWYgKCh0MS5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgp
KSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTE2CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19oYXNTdHJ1Y3R1cmVQcm9wZXJ0eUltcGxf
X3Nsb3dQYXRoOwogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5CiAgICB0MSA9ICpDQVNUPHVp
bnQzMl90Kj4odDEuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjI5MTkKICAgIGlmICh0MS5pMzIoKSAhPSAqQ0FTVDxpbnQzMl90Kj4odDAu
aThwKCkgKyAyNCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjkyMAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9faGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19z
bG93UGF0aDsKICAgIHQyID0gaW50cHRyX3QoMHg3KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0
X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19oYXNTdHJ1Y3R1cmVQcm9w
ZXJ0eUltcGxfX3Nsb3dQYXRoKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAg
IHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0
YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9oYXNfc3RydWN0dXJlX3Byb3BlcnR5KHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9oYXNfc3RydWN0dXJlX3Byb3BlcnR5X3dpZGUxNikKICAgIHQwID0gKGludDY0X3Qp
KkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQwLmkoKSA+PSBpbnRw
dHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2hhc1N0cnVjdHVy
ZVByb3BlcnR5SW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDQzX2xvYWRf
X2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9faGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX180NDNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
aGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X180NDNfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQog
ICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+
KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9faGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX180NDNfbG9hZF9fZG9uZSkKICAgIGlmICgodDEuaTY0KCkgJiBub3RDZWxsTWFz
ay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjkxNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDQzX2hhc1N0cnVjdHVyZVBy
b3BlcnR5SW1wbF9fc2xvd1BhdGg7CiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg4KSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5CiAgICB0
MSA9ICpDQVNUPHVpbnQzMl90Kj4odDEuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI5MTkKICAgIGlmICh0MS5pMzIoKSAhPSAqQ0FTVDxp
bnQzMl90Kj4odDAuaThwKCkgKyAyNCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjkyMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDQzX2hhc1N0cnVjdHVy
ZVByb3BlcnR5SW1wbF9fc2xvd1BhdGg7CiAgICB0MiA9IGludHB0cl90KDB4Nyk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYw
CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAg
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
XzQ0M19oYXNTdHJ1Y3R1cmVQcm9wZXJ0eUltcGxfX3Nsb3dQYXRoKQogICAgcGMgPSBwYy5pKCkg
KyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0
MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7
CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9oYXNfc3RydWN0
dXJlX3Byb3BlcnR5KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQx
KTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmko
KSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0
MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2Rl
TWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsK
Ck9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9oYXNfc3RydWN0dXJlX3Byb3BlcnR5X3dpZGUz
MikKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQw
LmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2hhc1N0cnVjdHVyZVByb3BlcnR5SW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fNDQ0X2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgK
ICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9faGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NDRfbG9hZF9fZG9uZTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9faGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX180NDRfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQwID0gdDAu
aSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19oYXNTdHJ1Y3R1
cmVQcm9wZXJ0eUltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ0NF9sb2Fk
X19kb25lKQogICAgaWYgKCh0MS5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTE2CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX180NDRfaGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19zbG93UGF0
aDsKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweGUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDAgPSAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjkKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0MS5pOHAo
KSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mjkx
OQogICAgaWYgKHQxLmkzMigpICE9ICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSArIDI0KSkgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTIwCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX180NDRfaGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19zbG93UGF0aDsKICAg
IHQyID0gaW50cHRyX3QoMHg3KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkg
PDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweDEyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fNDQ0X2hhc1N0cnVjdHVyZVByb3BlcnR5SW1wbF9fc2xvd1Bh
dGgpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0
YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0g
c2xvd19wYXRoX2hhc19zdHJ1Y3R1cmVfcHJvcGVydHkodDAsIHQxKTsKICAgICAgICBkZWNvZGVS
ZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSAr
IGludHB0cl90KDB4MTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2hhc19vd25f
c3RydWN0dXJlX3Byb3BlcnR5KQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzkKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19oYXNTdHJ1Y3R1cmVQcm9wZXJ0eUltcGxfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ0NV9sb2FkX19jb25zdGFudDsKICAgIHQxID0g
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2hh
c1N0cnVjdHVyZVByb3BlcnR5SW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
NDQ1X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2hhc1N0cnVjdHVyZVByb3BlcnR5
SW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDQ1X2xvYWRfX2NvbnN0YW50
KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQxID0gKkNBU1Q8aW50cHRy
X3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDc2CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2hhc1N0cnVjdHVy
ZVByb3BlcnR5SW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDQ1X2xvYWRf
X2RvbmUpCiAgICBpZiAoKHQxLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI5MTYKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fXzQ0NV9oYXNTdHJ1Y3R1cmVQcm9wZXJ0eUltcGxfX3Nsb3dQYXRo
OwogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAg
IHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDY5CiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4o
dDEuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI5MTkKICAgIGlmICh0MS5pMzIoKSAhPSAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAy
NCkpICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjkyMAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fNDQ1X2hhc1N0cnVjdHVyZVByb3BlcnR5SW1wbF9fc2xvd1Bh
dGg7CiAgICB0MiA9IGludHB0cl90KDB4Nyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpD
QVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDQ1X2hhc1N0cnVjdHVyZVByb3Bl
cnR5SW1wbF9fc2xvd1BhdGgpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2hhc19vd25fc3RydWN0dXJlX3Byb3BlcnR5KHQwLCB0
MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0g
dDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF9oYXNfb3duX3N0cnVjdHVyZV9wcm9wZXJ0eV93aWRlMTYpCiAgICB0MCA9IChp
bnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0MC5pKCkg
Pj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19oYXNT
dHJ1Y3R1cmVQcm9wZXJ0eUltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ0
Nl9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2hhc1N0cnVjdHVyZVByb3BlcnR5SW1wbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDQ2X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2hhc1N0cnVjdHVyZVByb3BlcnR5SW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fNDQ2X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODEKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MSA9ICpDQVNUPGlu
dDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2hhc1N0cnVjdHVyZVByb3BlcnR5SW1wbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fNDQ2X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQxLmk2NCgpICYgbm90
Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI5MTYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQ0Nl9oYXNTdHJ1
Y3R1cmVQcm9wZXJ0eUltcGxfX3Nsb3dQYXRoOwogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQx
Nl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4OCkpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ2
OQogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHQxLmk4cCgpKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTE5CiAgICBpZiAodDEuaTMyKCkgIT0g
KkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMjQpKSAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjI5MjAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzQ0Nl9oYXNT
dHJ1Y3R1cmVQcm9wZXJ0eUltcGxfX3Nsb3dQYXRoOwogICAgdDIgPSBpbnRwdHJfdCgweDcpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MAogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5p
NjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX180NDZfaGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19zbG93UGF0aCkKICAgIHBjID0g
cGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNw
LnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfaGFz
X293bl9zdHJ1Y3R1cmVfcHJvcGVydHkodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVz
dWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAg
IHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2hhc19vd25fc3RydWN0dXJl
X3Byb3BlcnR5X3dpZGUzMikKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1NQogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2hhc1N0cnVjdHVyZVByb3BlcnR5SW1wbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fNDQ3X2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9faGFzU3RydWN0dXJl
UHJvcGVydHlJbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NDdfbG9hZF9f
ZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9faGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NDdfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4
cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODgKICAgIHQwID0gdDAuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MSA9ICpDQVNUPGludDY0
X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19oYXNTdHJ1Y3R1cmVQcm9wZXJ0eUltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzQ0N19sb2FkX19kb25lKQogICAgaWYgKCh0MS5pNjQoKSAmIG5vdENlbGxNYXNrLmk2
NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTE2
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180NDdfaGFzU3RydWN0dXJlUHJvcGVy
dHlJbXBsX19zbG93UGF0aDsKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1NQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjkKICAgIHQxID0gKkNBU1Q8dWlu
dDMyX3QqPih0MS5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjkxOQogICAgaWYgKHQxLmkzMigpICE9ICpDQVNUPGludDMyX3QqPih0MC5p
OHAoKSArIDI0KSkgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTIwCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180NDdfaGFzU3RydWN0dXJlUHJvcGVydHlJbXBs
X19zbG93UGF0aDsKICAgIHQyID0gaW50cHRyX3QoMHg3KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNB
U1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEyKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDQ3X2hhc1N0cnVjdHVyZVByb3Bl
cnR5SW1wbF9fc2xvd1BhdGgpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2hhc19vd25fc3RydWN0dXJlX3Byb3BlcnR5KHQwLCB0
MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0g
dDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEyKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF9pbl9zdHJ1Y3R1cmVfcHJvcGVydHkpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNU
PGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgw
eDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2hhc1N0cnVjdHVyZVByb3Bl
cnR5SW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDQ4X2xvYWRfX2NvbnN0
YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9faGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX180NDhfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9faGFzU3Ry
dWN0dXJlUHJvcGVydHlJbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NDhf
bG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDEg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9faGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX180NDhfbG9hZF9fZG9uZSkKICAgIGlmICgodDEuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQo
KSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjkxNgog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDQ4X2hhc1N0cnVjdHVyZVByb3BlcnR5
SW1wbF9fc2xvd1BhdGg7CiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozOQogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjkKICAgIHQxID0gKkNB
U1Q8dWludDMyX3QqPih0MS5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjkxOQogICAgaWYgKHQxLmkzMigpICE9ICpDQVNUPGludDMyX3Qq
Pih0MC5pOHAoKSArIDI0KSkgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTIw
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180NDhfaGFzU3RydWN0dXJlUHJvcGVy
dHlJbXBsX19zbG93UGF0aDsKICAgIHQyID0gaW50cHRyX3QoMHg3KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQx
ID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180NDhfaGFz
U3RydWN0dXJlUHJvcGVydHlJbXBsX19zbG93UGF0aCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAg
ICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAg
IFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfaW5fc3RydWN0dXJlX3Byb3Bl
cnR5KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0K
ICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF9pbl9zdHJ1Y3R1cmVfcHJvcGVydHlfd2lkZTE2KQogICAgdDAg
PSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDAu
aSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
aGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X180NDlfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQog
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19oYXNTdHJ1Y3R1cmVQcm9wZXJ0eUltcGxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ0OV9sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19oYXNTdHJ1Y3R1cmVQcm9wZXJ0eUltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzQ0OV9sb2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDgxCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDEgPSAqQ0FT
VDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19oYXNTdHJ1Y3R1cmVQcm9wZXJ0eUltcGxfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzQ0OV9sb2FkX19kb25lKQogICAgaWYgKCh0MS5pNjQoKSAm
IG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyOTE2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180NDlfaGFz
U3RydWN0dXJlUHJvcGVydHlJbXBsX19zbG93UGF0aDsKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8
aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDgpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NjkKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPih0MS5pOHAoKSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjkxOQogICAgaWYgKHQxLmkzMigp
ICE9ICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSArIDI0KSkgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyOTIwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180NDlf
aGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19zbG93UGF0aDsKICAgIHQyID0gaW50cHRyX3QoMHg3
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0g
dDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fNDQ5X2hhc1N0cnVjdHVyZVByb3BlcnR5SW1wbF9fc2xvd1BhdGgpCiAgICBw
YyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRl
cihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRo
X2luX3N0cnVjdHVyZV9wcm9wZXJ0eSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1
bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAg
cGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfaW5fc3RydWN0dXJlX3Byb3Bl
cnR5X3dpZGUzMikKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQog
ICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2hhc1N0cnVjdHVyZVByb3BlcnR5SW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fNDUwX2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9faGFzU3RydWN0dXJlUHJvcGVy
dHlJbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NTBfbG9hZF9fZG9uZTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9faGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX180NTBfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNU
PGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsg
MTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAg
IHQwID0gdDAuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19o
YXNTdHJ1Y3R1cmVQcm9wZXJ0eUltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzQ1MF9sb2FkX19kb25lKQogICAgaWYgKCh0MS5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAh
PSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTE2CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX180NTBfaGFzU3RydWN0dXJlUHJvcGVydHlJbXBs
X19zbG93UGF0aDsKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweGUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQog
ICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NjkKICAgIHQxID0gKkNBU1Q8dWludDMyX3Qq
Pih0MS5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjkxOQogICAgaWYgKHQxLmkzMigpICE9ICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSAr
IDI0KSkgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyOTIwCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX180NTBfaGFzU3RydWN0dXJlUHJvcGVydHlJbXBsX19zbG93
UGF0aDsKICAgIHQyID0gaW50cHRyX3QoMHg3KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50
MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEyKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNDUwX2hhc1N0cnVjdHVyZVByb3BlcnR5SW1w
bF9fc2xvd1BhdGgpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gc2xvd19wYXRoX2luX3N0cnVjdHVyZV9wcm9wZXJ0eSh0MCwgdDEpOwogICAgICAg
IGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0g
cGMuaSgpICsgaW50cHRyX3QoMHgxMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAg
ICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bf
Y3JlYXRlX2Nsb25lZF9hcmd1bWVudHMpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNs
b29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2NyZWF0ZV9jbG9uZWRfYXJndW1lbnRzKHQw
LCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBj
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDIpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09Q
Q09ERV9MQUJFTChvcF9jcmVhdGVfY2xvbmVkX2FyZ3VtZW50c193aWRlMTYpCiAgICBwYyA9IHBj
LmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQK
ICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52
cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2NyZWF0
ZV9jbG9uZWRfYXJndW1lbnRzKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwg
dDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9
IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9jcmVhdGVfY2xvbmVkX2FyZ3VtZW50
c193aWRlMzIpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3Vy
cmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gc2xvd19wYXRoX2NyZWF0ZV9jbG9uZWRfYXJndW1lbnRzKHQwLCB0MSk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9j
cmVhdGVfYXJndW1lbnRzX2J1dHRlcmZseSkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAg
Y2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfY3JlYXRlX2FyZ3VtZW50c19idXR0ZXJm
bHkodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQog
ICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Mik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX2NyZWF0ZV9hcmd1bWVudHNfYnV0dGVyZmx5X3dpZGUxNikKICAg
IHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2lu
dGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3Bh
dGhfY3JlYXRlX2FyZ3VtZW50c19idXR0ZXJmbHkodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NyZWF0ZV9hcmd1
bWVudHNfYnV0dGVyZmx5X3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0
CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xv
b3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfY3JlYXRlX2FyZ3VtZW50c19idXR0ZXJmbHko
dDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAg
cGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX2NyZWF0ZV9kaXJlY3RfYXJndW1lbnRzKQogICAgcGMgPSBwYy5pKCkg
KyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0
MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7
CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9jcmVhdGVfZGly
ZWN0X2FyZ3VtZW50cyh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0
MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5p
KCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgyKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfY3JlYXRlX2RpcmVjdF9hcmd1bWVudHNfd2lk
ZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRT
dGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IHNsb3dfcGF0aF9jcmVhdGVfZGlyZWN0X2FyZ3VtZW50cyh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfY3JlYXRl
X2RpcmVjdF9hcmd1bWVudHNfd2lkZTMyKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBj
bG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1Bh
dGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9jcmVhdGVfZGlyZWN0X2FyZ3VtZW50cyh0
MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBw
YyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9P
UENPREVfTEFCRUwob3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQpCiAgICBwYyA9IHBjLmko
KSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAg
IHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgp
KTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2NyZWF0ZV9s
ZXhpY2FsX2Vudmlyb25tZW50KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwg
dDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9
IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9u
bWVudF93aWRlMTYpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gc2xvd19wYXRoX2NyZWF0ZV9sZXhpY2FsX2Vudmlyb25tZW50KHQwLCB0MSk7CiAg
ICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAg
cGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJF
TChvcF9jcmVhdGVfbGV4aWNhbF9lbnZpcm9ubWVudF93aWRlMzIpCiAgICBwYyA9IHBjLmkoKSAr
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQx
ID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2NyZWF0ZV9sZXhp
Y2FsX2Vudmlyb25tZW50KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAs
IHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBj
LmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEyKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9jcmVhdGVfcmVzdCkKICAgIHBjID0gcGMu
aSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAog
ICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZw
KCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfY3JlYXRl
X3Jlc3QodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAg
fQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX2NyZWF0ZV9yZXN0X3dpZGUxNikKICAgIHBjID0gcGMuaSgp
ICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAg
dDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkp
OwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfY3JlYXRlX3Jl
c3QodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQog
ICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX2NyZWF0ZV9yZXN0X3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfY3JlYXRlX3Jlc3Qo
dDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAg
cGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX2NyZWF0ZV9zY29wZWRfYXJndW1lbnRzKQogICAgcGMgPSBwYy5pKCkg
KyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0
MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7
CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9jcmVhdGVfc2Nv
cGVkX2FyZ3VtZW50cyh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0
MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5p
KCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgzKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfY3JlYXRlX3Njb3BlZF9hcmd1bWVudHNfd2lk
ZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRT
dGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IHNsb3dfcGF0aF9jcmVhdGVfc2NvcGVkX2FyZ3VtZW50cyh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfY3JlYXRl
X3Njb3BlZF9hcmd1bWVudHNfd2lkZTMyKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBj
bG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1Bh
dGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9jcmVhdGVfc2NvcGVkX2FyZ3VtZW50cyh0
MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBw
YyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9P
UENPREVfTEFCRUwob3BfY3JlYXRlX3RoaXMpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAg
IGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93
UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2NyZWF0ZV90aGlzKHQwLCB0MSk7CiAg
ICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAg
cGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJF
TChvcF9jcmVhdGVfdGhpc193aWRlMTYpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNs
b29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2NyZWF0ZV90aGlzKHQwLCB0MSk7CiAgICAg
ICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF9jcmVhdGVfdGhpc193aWRlMzIpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAog
ICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29w
U3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJl
dHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2NyZWF0ZV90aGlzKHQwLCB0MSk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweDEyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9j
cmVhdGVfcHJvbWlzZSkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9
IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5z
ZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlw
ZSByZXN1bHQgPSBzbG93X3BhdGhfY3JlYXRlX3Byb21pc2UodDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmko
KSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEg
PSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NyZWF0
ZV9wcm9taXNlX3dpZGUxNikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0
MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFj
ay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJu
VHlwZSByZXN1bHQgPSBzbG93X3BhdGhfY3JlYXRlX3Byb21pc2UodDAsIHQxKTsKICAgICAgICBk
ZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2Ny
ZWF0ZV9wcm9taXNlX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAg
ICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BT
dGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0
dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfY3JlYXRlX3Byb21pc2UodDAsIHQxKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4MTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X2NyZWF0ZV9nZW5lcmF0b3IpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2NyZWF0ZV9nZW5lcmF0b3IodDAsIHQxKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X2NyZWF0ZV9nZW5lcmF0b3Jfd2lkZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBj
bG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1Bh
dGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9jcmVhdGVfZ2VuZXJhdG9yKHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9jcmVhdGVfZ2VuZXJhdG9yX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAg
ICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAg
IFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfY3JlYXRlX2dlbmVyYXRvcih0
MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBw
YyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9P
UENPREVfTEFCRUwob3BfY3JlYXRlX2FzeW5jX2dlbmVyYXRvcikKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfY3JlYXRlX2FzeW5j
X2dlbmVyYXRvcih0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7
CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkg
LSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfY3JlYXRlX2FzeW5jX2dlbmVyYXRvcl93aWRlMTYp
CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNr
UG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xv
d19wYXRoX2NyZWF0ZV9hc3luY19nZW5lcmF0b3IodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NyZWF0ZV9hc3lu
Y19nZW5lcmF0b3Jfd2lkZTMyKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAg
IHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0
YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9jcmVhdGVfYXN5bmNfZ2VuZXJhdG9yKHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9kZWZpbmVfYWNjZXNzb3JfcHJvcGVydHkpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwog
ICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAg
ICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2RlZmluZV9hY2Nlc3Nvcl9w
cm9wZXJ0eSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAg
ICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAq
Q0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZM
SU5FX0FTTV9PUENPREVfTEFCRUwob3BfZGVmaW5lX2FjY2Vzc29yX3Byb3BlcnR5X3dpZGUxNikK
ICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQ
b2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93
X3BhdGhfZGVmaW5lX2FjY2Vzc29yX3Byb3BlcnR5KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9kZWZpbmVfYWNj
ZXNzb3JfcHJvcGVydHlfd2lkZTMyKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQK
ICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9v
cFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhS
ZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9kZWZpbmVfYWNjZXNzb3JfcHJvcGVydHkodDAs
IHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMg
PSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTYpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BD
T0RFX0xBQkVMKG9wX2RlZmluZV9kYXRhX3Byb3BlcnR5KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBj
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcK
ICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9kZWZpbmVfZGF0YV9wcm9w
ZXJ0eSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9
CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg1KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5F
X0FTTV9PUENPREVfTEFCRUwob3BfZGVmaW5lX2RhdGFfcHJvcGVydHlfd2lkZTE2KQogICAgcGMg
PSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIo
c3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9k
ZWZpbmVfZGF0YV9wcm9wZXJ0eSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMg
PSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhh
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZGVmaW5lX2RhdGFfcHJvcGVydHlf
d2lkZTMyKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJl
bnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3Vs
dCA9IHNsb3dfcGF0aF9kZWZpbmVfZGF0YV9wcm9wZXJ0eSh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHgxMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZW51bWVy
YXRvcl9nZW5lcmljX3BuYW1lKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAg
IHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0
YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9lbnVtZXJhdG9yX2dlbmVyaWNfcG5hbWUodDAsIHQx
KTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0
MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5
CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX2VudW1lcmF0b3JfZ2VuZXJpY19wbmFtZV93aWRlMTYpCiAgICBwYyA9IHBjLmko
KSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAg
IHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgp
KTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2VudW1lcmF0
b3JfZ2VuZXJpY19wbmFtZSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQw
LCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBw
Yy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAog
ICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29w
Y29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZW51bWVyYXRvcl9nZW5lcmljX3BuYW1l
X3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJy
ZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1
bHQgPSBzbG93X3BhdGhfZW51bWVyYXRvcl9nZW5lcmljX3BuYW1lKHQwLCB0MSk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9l
bnVtZXJhdG9yX3N0cnVjdHVyZV9wbmFtZSkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAg
Y2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfZW51bWVyYXRvcl9zdHJ1Y3R1cmVfcG5h
bWUodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQog
ICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX2VudW1lcmF0b3Jfc3RydWN0dXJlX3BuYW1lX3dpZGUxNikKICAg
IHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2lu
dGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3Bh
dGhfZW51bWVyYXRvcl9zdHJ1Y3R1cmVfcG5hbWUodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2VudW1lcmF0b3Jf
c3RydWN0dXJlX3BuYW1lX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0
CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xv
b3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfZW51bWVyYXRvcl9zdHJ1Y3R1cmVfcG5hbWUo
dDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAg
cGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX2dldF9ieV9pZF93aXRoX3RoaXMpCiAgICBwYyA9IHBjLmkoKSArIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0g
cGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
NwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAg
ICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2dldF9ieV9pZF93aXRo
X3RoaXModDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAg
fQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9ieV9pZF93aXRoX3RoaXNfd2lkZTE2KQogICAgcGMg
PSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIo
c3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9n
ZXRfYnlfaWRfd2l0aF90aGlzKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwg
dDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9
IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGMp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfYnlfaWRfd2l0aF90aGlzX3dp
ZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50
U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQg
PSBzbG93X3BhdGhfZ2V0X2J5X2lkX3dpdGhfdGhpcyh0MCwgdDEpOwogICAgICAgIGRlY29kZVJl
c3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHgxNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ2V0X2J5X3Zh
bF93aXRoX3RoaXMpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gc2xvd19wYXRoX2dldF9ieV92YWxfd2l0aF90aGlzKHQwLCB0MSk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9n
ZXRfYnlfdmFsX3dpdGhfdGhpc193aWRlMTYpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAg
IGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93
UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2dldF9ieV92YWxfd2l0aF90aGlzKHQw
LCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBj
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGMpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09Q
Q09ERV9MQUJFTChvcF9nZXRfYnlfdmFsX3dpdGhfdGhpc193aWRlMzIpCiAgICBwYyA9IHBjLmko
KSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAg
IHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgp
KTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2dldF9ieV92
YWxfd2l0aF90aGlzKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQx
KTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmko
KSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDE2KTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0
MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2Rl
TWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsK
Ck9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfZGlyZWN0X3BuYW1lKQogICAgcGMgPSBw
Yy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0
CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3Au
dnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9nZXRf
ZGlyZWN0X3BuYW1lKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQx
KTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmko
KSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDcpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0
MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2Rl
TWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsK
Ck9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfZGlyZWN0X3BuYW1lX3dpZGUxNikKICAg
IHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2lu
dGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3Bh
dGhfZ2V0X2RpcmVjdF9wbmFtZSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMg
PSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhl
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ2V0X2RpcmVjdF9wbmFtZV93aWRl
MzIpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0
YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0g
c2xvd19wYXRoX2dldF9kaXJlY3RfcG5hbWUodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgK
ICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4MWEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dldF9lbnVtZXJhYmxl
X2xlbmd0aCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJy
ZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1
bHQgPSBzbG93X3BhdGhfZ2V0X2VudW1lcmFibGVfbGVuZ3RoKHQwLCB0MSk7CiAgICAgICAgZGVj
b2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5p
KCkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRf
ZW51bWVyYWJsZV9sZW5ndGhfd2lkZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBj
bG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1Bh
dGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9nZXRfZW51bWVyYWJsZV9sZW5ndGgodDAs
IHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMg
PSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BD
T0RFX0xBQkVMKG9wX2dldF9lbnVtZXJhYmxlX2xlbmd0aF93aWRlMzIpCiAgICBwYyA9IHBjLmko
KSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAg
IHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgp
KTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2dldF9lbnVt
ZXJhYmxlX2xlbmd0aCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0
MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5p
KCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZ2V0X3Byb3BlcnR5X2VudW1lcmF0b3IpCiAg
ICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19w
YXRoX2dldF9wcm9wZXJ0eV9lbnVtZXJhdG9yKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4
CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9nZXRfcHJvcGVydHlf
ZW51bWVyYXRvcl93aWRlMTYpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2dldF9wcm9wZXJ0eV9lbnVtZXJhdG9yKHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9nZXRfcHJvcGVydHlfZW51bWVyYXRvcl93aWRlMzIpCiAgICBwYyA9IHBjLmkoKSAr
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQx
ID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2dldF9wcm9wZXJ0
eV9lbnVtZXJhdG9yKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQx
KTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmko
KSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0
MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2Rl
TWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsK
Ck9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9ncmVhdGVyKQogICAgcGMgPSBwYy5pKCkgKyBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9
IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9ncmVhdGVyKHQwLCB0
MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0g
dDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF9ncmVhdGVyX3dpZGUxNikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAg
Y2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfZ3JlYXRlcih0MCwgdDEpOwogICAgICAg
IGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0g
cGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAg
ICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bf
Z3JlYXRlcl93aWRlMzIpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAg
PSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2su
c2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5
cGUgcmVzdWx0ID0gc2xvd19wYXRoX2dyZWF0ZXIodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dyZWF0ZXJlcSkK
ICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQ
b2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93
X3BhdGhfZ3JlYXRlcmVxKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAs
IHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBj
LmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9ncmVhdGVyZXFfd2lkZTE2KQogICAgcGMg
PSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIo
c3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9n
cmVhdGVyZXEodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwog
ICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0g
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2dyZWF0ZXJlcV93aWRlMzIpCiAgICBwYyA9IHBjLmko
KSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAg
IHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgp
KTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2dyZWF0ZXJl
cSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAg
ICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2Uu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9PUENPREVfTEFCRUwob3BfaGFzX2dlbmVyaWNfcHJvcGVydHkpCiAgICBwYyA9IHBjLmkoKSAr
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQx
ID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2hhc19nZW5lcmlj
X3Byb3BlcnR5KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsK
ICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAt
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9oYXNfZ2VuZXJpY19wcm9wZXJ0eV93aWRlMTYpCiAg
ICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19w
YXRoX2hhc19nZW5lcmljX3Byb3BlcnR5KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJl
c3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAg
ICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9oYXNfZ2VuZXJpY19wcm9w
ZXJ0eV93aWRlMzIpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gc2xvd19wYXRoX2hhc19nZW5lcmljX3Byb3BlcnR5KHQwLCB0MSk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9o
YXNfaW5kZXhlZF9wcm9wZXJ0eSkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAg
ICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BT
dGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0
dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfaGFzX2luZGV4ZWRfcHJvcGVydHkodDAsIHQxKTsK
ICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAg
ICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xB
QkVMKG9wX2hhc19pbmRleGVkX3Byb3BlcnR5X3dpZGUxNikKICAgIHBjID0gcGMuaSgpICsgcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBw
Yy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3
CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAg
ICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfaGFzX2luZGV4ZWRfcHJv
cGVydHkodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAg
fQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX2hhc19pbmRleGVkX3Byb3BlcnR5X3dpZGUzMikKICAgIHBj
ID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVy
KHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhf
aGFzX2luZGV4ZWRfcHJvcGVydHkodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0
LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBj
ID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4
MTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkp
OyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigm
Z19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2luX2J5X2lkKQogICAgcGMgPSBw
Yy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0
CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3Au
dnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9pbl9i
eV9pZCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9
CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5F
X0FTTV9PUENPREVfTEFCRUwob3BfaW5fYnlfaWRfd2lkZTE2KQogICAgcGMgPSBwYy5pKCkgKyBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9
IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9pbl9ieV9pZCh0MCwg
dDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9
IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENP
REVfTEFCRUwob3BfaW5fYnlfaWRfd2lkZTMyKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAg
ICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xv
d1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9pbl9ieV9pZCh0MCwgdDEpOwogICAg
ICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBj
ID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwo
b3BfaW5fYnlfdmFsKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNl
dEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IHNsb3dfcGF0aF9pbl9ieV92YWwodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2luX2J5X3ZhbF93
aWRlMTYpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVu
dFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0
ID0gc2xvd19wYXRoX2luX2J5X3ZhbCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1
bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAg
cGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfaW5fYnlfdmFsX3dpZGUzMikK
ICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQ
b2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93
X3BhdGhfaW5fYnlfdmFsKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAs
IHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBj
LmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEyKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9pc19mdW5jdGlvbikKICAgIHBjID0gcGMu
aSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAog
ICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZw
KCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfaXNfZnVu
Y3Rpb24odDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAg
fQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX2lzX2Z1bmN0aW9uX3dpZGUxNikKICAgIHBjID0gcGMuaSgp
ICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAg
dDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkp
OwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfaXNfZnVuY3Rp
b24odDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQog
ICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX2lzX2Z1bmN0aW9uX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfaXNfZnVuY3Rpb24o
dDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAg
cGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX2lzX2NvbnN0cnVjdG9yKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2Uu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAg
ICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAg
U2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9pc19jb25zdHJ1Y3Rvcih0MCwg
dDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9
IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENP
REVfTEFCRUwob3BfaXNfY29uc3RydWN0b3Jfd2lkZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBj
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcK
ICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9pc19jb25zdHJ1Y3Rvcih0
MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBw
YyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9P
UENPREVfTEFCRUwob3BfaXNfY29uc3RydWN0b3Jfd2lkZTMyKQogICAgcGMgPSBwYy5pKCkgKyBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9
IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9pc19jb25zdHJ1Y3Rv
cih0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAg
ICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2Uu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9PUENPREVfTEFCRUwob3BfaXNfb2JqZWN0X29yX251bGwpCiAgICBwYyA9IHBjLmkoKSArIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0g
cGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
NwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAg
ICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2lzX29iamVjdF9vcl9u
dWxsKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0K
ICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF9pc19vYmplY3Rfb3JfbnVsbF93aWRlMTYpCiAgICBwYyA9IHBj
LmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQK
ICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52
cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2lzX29i
amVjdF9vcl9udWxsKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQx
KTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmko
KSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0
MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2Rl
TWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsK
Ck9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9pc19vYmplY3Rfb3JfbnVsbF93aWRlMzIpCiAg
ICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19w
YXRoX2lzX29iamVjdF9vcl9udWxsKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBw
YyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgw
eGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9sZXNzKQogICAgcGMgPSBwYy5p
KCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAg
ICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAo
KSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9sZXNzKHQw
LCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBj
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09Q
Q09ERV9MQUJFTChvcF9sZXNzX3dpZGUxNikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAg
Y2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfbGVzcyh0MCwgdDEpOwogICAgICAgIGRl
Y29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbGVz
c193aWRlMzIpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3Vy
cmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gc2xvd19wYXRoX2xlc3ModDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0
LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBj
ID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4
ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkp
OyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigm
Z19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2xlc3NlcSkKICAgIHBjID0gcGMu
aSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAog
ICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZw
KCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfbGVzc2Vx
KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAg
IHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9sZXNzZXFfd2lkZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2Uu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAg
ICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAg
U2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9sZXNzZXEodDAsIHQxKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX2xlc3NlcV93aWRlMzIpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2xlc3NlcSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJl
c3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbW9kKQogICAg
cGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50
ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0
aF9tb2QodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAg
fQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX21vZF93aWRlMTYpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwog
ICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAg
ICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX21vZCh0MCwgdDEpOwogICAg
ICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBj
ID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwo
b3BfbW9kX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9
IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5z
ZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlw
ZSByZXN1bHQgPSBzbG93X3BhdGhfbW9kKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJl
c3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAg
ICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9uZXdfYXJyYXlfYnVmZmVy
KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFj
a1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNs
b3dfcGF0aF9uZXdfYXJyYXlfYnVmZmVyKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJl
c3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAg
ICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9uZXdfYXJyYXlfYnVmZmVy
X3dpZGUxNikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJy
ZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1
bHQgPSBzbG93X3BhdGhfbmV3X2FycmF5X2J1ZmZlcih0MCwgdDEpOwogICAgICAgIGRlY29kZVJl
c3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3X2FycmF5
X2J1ZmZlcl93aWRlMzIpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAg
PSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2su
c2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5
cGUgcmVzdWx0ID0gc2xvd19wYXRoX25ld19hcnJheV9idWZmZXIodDAsIHQxKTsKICAgICAgICBk
ZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4MTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25l
d19hcnJheV93aXRoX3NwcmVhZCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAg
ICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BT
dGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0
dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfbmV3X2FycmF5X3dpdGhfc3ByZWFkKHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9uZXdfYXJyYXlfd2l0aF9zcHJlYWRfd2lkZTE2KQogICAgcGMgPSBwYy5pKCkgKyBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9
IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9uZXdfYXJyYXlfd2l0
aF9zcHJlYWQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwog
ICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0g
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25ld19hcnJheV93aXRoX3NwcmVhZF93aWRlMzIpCiAg
ICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19w
YXRoX25ld19hcnJheV93aXRoX3NwcmVhZCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChy
ZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAog
ICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHgxMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcG93KQogICAgcGMgPSBw
Yy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0
CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3Au
dnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9wb3co
dDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAg
cGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX3Bvd193aWRlMTYpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAg
IGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93
UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3Bvdyh0MCwgdDEpOwogICAgICAgIGRl
Y29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcG93
X3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJy
ZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1
bHQgPSBzbG93X3BhdGhfcG93KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwg
dDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9
IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXNoX3dpdGhfc2NvcGUpCiAgICBw
YyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRl
cihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRo
X3B1c2hfd2l0aF9zY29wZSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQw
LCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBw
Yy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAog
ICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29w
Y29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHVzaF93aXRoX3Njb3BlX3dpZGUxNikK
ICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQ
b2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93
X3BhdGhfcHVzaF93aXRoX3Njb3BlKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBw
YyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgw
eDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXNoX3dpdGhfc2NvcGVfd2lk
ZTMyKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRT
dGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IHNsb3dfcGF0aF9wdXNoX3dpdGhfc2NvcGUodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgK
ICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1dF9ieV9pZF93aXRo
X3RoaXMpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVu
dFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0
ID0gc2xvd19wYXRoX3B1dF9ieV9pZF93aXRoX3RoaXModDAsIHQxKTsKICAgICAgICBkZWNvZGVS
ZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSAr
IGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1dF9ieV9p
ZF93aXRoX3RoaXNfd2lkZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAg
IHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0
YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9wdXRfYnlfaWRfd2l0aF90aGlzKHQwLCB0MSk7CiAg
ICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAg
cGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJF
TChvcF9wdXRfYnlfaWRfd2l0aF90aGlzX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAg
ICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAg
IFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfcHV0X2J5X2lkX3dpdGhfdGhp
cyh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAg
ICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2Uu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxNik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9PUENPREVfTEFCRUwob3BfcHV0X2J5X3ZhbF93aXRoX3RoaXMpCiAgICBwYyA9IHBjLmkoKSAr
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQx
ID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3B1dF9ieV92YWxf
d2l0aF90aGlzKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsK
ICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAt
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXRfYnlfdmFsX3dpdGhfdGhpc193aWRlMTYpCiAg
ICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19w
YXRoX3B1dF9ieV92YWxfd2l0aF90aGlzKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJl
c3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAg
ICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXRfYnlfdmFsX3dpdGhf
dGhpc193aWRlMzIpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gc2xvd19wYXRoX3B1dF9ieV92YWxfd2l0aF90aGlzKHQwLCB0MSk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweDE2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9y
ZXNvbHZlX3Njb3BlX2Zvcl9ob2lzdGluZ19mdW5jX2RlY2xfaW5fZXZhbCkKICAgIHBjID0gcGMu
aSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAog
ICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZw
KCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfcmVzb2x2
ZV9zY29wZV9mb3JfaG9pc3RpbmdfZnVuY19kZWNsX2luX2V2YWwodDAsIHQxKTsKICAgICAgICBk
ZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3Jl
c29sdmVfc2NvcGVfZm9yX2hvaXN0aW5nX2Z1bmNfZGVjbF9pbl9ldmFsX3dpZGUxNikKICAgIHBj
ID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVy
KHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhf
cmVzb2x2ZV9zY29wZV9mb3JfaG9pc3RpbmdfZnVuY19kZWNsX2luX2V2YWwodDAsIHQxKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX3Jlc29sdmVfc2NvcGVfZm9yX2hvaXN0aW5nX2Z1bmNfZGVjbF9pbl9ldmFsX3dpZGUzMikK
ICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQ
b2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93
X3BhdGhfcmVzb2x2ZV9zY29wZV9mb3JfaG9pc3RpbmdfZnVuY19kZWNsX2luX2V2YWwodDAsIHQx
KTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0
MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5
CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX3NwcmVhZCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0
MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFj
ay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJu
VHlwZSByZXN1bHQgPSBzbG93X3BhdGhfc3ByZWFkKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9zcHJlYWRfd2lk
ZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRT
dGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IHNsb3dfcGF0aF9zcHJlYWQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0
MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0g
cGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3NwcmVhZF93aWRlMzIpCiAgICBwYyA9
IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihz
cC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3Nw
cmVhZCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9
CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5F
X0FTTV9PUENPREVfTEFCRUwob3Bfc3RyY2F0KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAg
ICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xv
d1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9zdHJjYXQodDAsIHQxKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X3N0cmNhdF93aWRlMTYpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAg
PSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2su
c2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5
cGUgcmVzdWx0ID0gc2xvd19wYXRoX3N0cmNhdCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3Vs
dChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50
cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8
dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bfc3RyY2F0X3dpZGUz
MikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBz
bG93X3BhdGhfc3RyY2F0KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAs
IHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBj
LmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF90aHJvd19zdGF0aWNfZXJyb3IpCiAgICBw
YyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRl
cihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRo
X3Rocm93X3N0YXRpY19lcnJvcih0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMg
PSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgz
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfdGhyb3dfc3RhdGljX2Vycm9yX3dp
ZGUxNikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50
U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQg
PSBzbG93X3BhdGhfdGhyb3dfc3RhdGljX2Vycm9yKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF90aHJvd19zdGF0
aWNfZXJyb3Jfd2lkZTMyKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQw
ID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNr
LnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5U
eXBlIHJlc3VsdCA9IHNsb3dfcGF0aF90aHJvd19zdGF0aWNfZXJyb3IodDAsIHQxKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X3RvX2luZGV4X3N0cmluZykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0
MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFj
ay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJu
VHlwZSByZXN1bHQgPSBzbG93X3BhdGhfdG9faW5kZXhfc3RyaW5nKHQwLCB0MSk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF90
b19pbmRleF9zdHJpbmdfd2lkZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQK
ICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9v
cFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhS
ZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF90b19pbmRleF9zdHJpbmcodDAsIHQxKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX3RvX2luZGV4X3N0cmluZ193aWRlMzIpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAg
IGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93
UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX3RvX2luZGV4X3N0cmluZyh0MCwgdDEp
OwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVf
TEFCRUwob3BfdHlwZW9mKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQw
ID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNr
LnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5U
eXBlIHJlc3VsdCA9IHNsb3dfcGF0aF90eXBlb2YodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3R5cGVvZl93aWRl
MTYpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0
YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0g
c2xvd19wYXRoX3R5cGVvZih0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQw
LCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBw
Yy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAog
ICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29w
Y29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfdHlwZW9mX3dpZGUzMikKICAgIHBjID0g
cGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNw
LnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfdHlw
ZW9mKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0K
ICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF91bnJlYWNoYWJsZSkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAg
ICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAg
IFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfdW5yZWFjaGFibGUodDAsIHQx
KTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0
MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5
CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX3VucmVhY2hhYmxlX3dpZGUxNikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAg
ICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNs
b3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfdW5yZWFjaGFibGUodDAsIHQxKTsK
ICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAg
ICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Mik7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xB
QkVMKG9wX3VucmVhY2hhYmxlX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAg
Y2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfdW5yZWFjaGFibGUodDAsIHQxKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4Mik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX25ld19wcm9taXNlKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQw
ID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNr
LnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5U
eXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9uZXdfcHJvbWlzZSh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3X3By
b21pc2Vfd2lkZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNl
dEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IHNsb3dfcGF0aF9uZXdfcHJvbWlzZSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJl
c3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3X3Byb21p
c2Vfd2lkZTMyKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2Zy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1
cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IHNsb3dfcGF0aF9uZXdfcHJvbWlzZSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3Vs
dChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50
cHRyX3QoMHhhKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8
dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3X2dlbmVyYXRv
cikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBz
bG93X3BhdGhfbmV3X2dlbmVyYXRvcih0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1
bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAg
cGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHgyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3X2dlbmVyYXRvcl93aWRl
MTYpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0
YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0g
c2xvd19wYXRoX25ld19nZW5lcmF0b3IodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVz
dWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAg
IHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25ld19nZW5lcmF0b3Jfd2lk
ZTMyKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRT
dGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IHNsb3dfcGF0aF9uZXdfZ2VuZXJhdG9yKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJl
c3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAg
ICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9kZWxfYnlfaWQpCiAgICBw
YyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRl
cihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xv
d19wYXRoX2RlbF9ieV9pZCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQw
LCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBw
Yy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg1KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAog
ICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29w
Y29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZGVsX2J5X2lkX3dpZGUxNikKICAgIHBj
ID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVy
KHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93
X3BhdGhfZGVsX2J5X2lkKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAs
IHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBj
LmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9kZWxfYnlfaWRfd2lkZTMyKQogICAgcGMg
PSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIo
c3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3df
cGF0aF9kZWxfYnlfaWQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwg
dDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMu
aSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTIpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2RlbF9ieV92YWwpCiAgICBwYyA9IHBjLmko
KSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAg
IHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgp
KTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2Rl
bF9ieV92YWwodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwog
ICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0g
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2RlbF9ieV92YWxfd2lkZTE2KQogICAgcGMgPSBwYy5p
KCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAg
ICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAo
KSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9k
ZWxfYnlfdmFsKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsK
ICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAt
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9kZWxfYnlfdmFsX3dpZGUzMikKICAgIHBjID0gcGMu
aSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAog
ICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZw
KCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhf
ZGVsX2J5X3ZhbCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7
CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkg
LSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxMik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfaW5zdGFuY2VvZikKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfaW5zdGFu
Y2VvZih0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9
CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5F
X0FTTV9PUENPREVfTEFCRUwob3BfaW5zdGFuY2VvZl93aWRlMTYpCiAgICBwYyA9IHBjLmkoKSAr
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQx
ID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2luc3Rh
bmNlb2YodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAg
fQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX2luc3RhbmNlb2Zfd2lkZTMyKQogICAgcGMgPSBwYy5pKCkg
KyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0
MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7
CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9pbnN0
YW5jZW9mKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAg
IH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJ
TkVfQVNNX09QQ09ERV9MQUJFTChvcF9pbnN0YW5jZW9mX2N1c3RvbSkKICAgIHBjID0gcGMuaSgp
ICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAg
dDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkp
OwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfaW5z
dGFuY2VvZl9jdXN0b20odDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwg
dDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMu
aSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2luc3RhbmNlb2ZfY3VzdG9tX3dpZGUxNikK
ICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQ
b2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGlu
dF9zbG93X3BhdGhfaW5zdGFuY2VvZl9jdXN0b20odDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2luc3RhbmNlb2Zf
Y3VzdG9tX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9
IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5z
ZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlw
ZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfaW5zdGFuY2VvZl9jdXN0b20odDAsIHQxKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4MTIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX25ld19hcnJheSkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9
IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5z
ZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlw
ZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfbmV3X2FycmF5KHQwLCB0MSk7CiAgICAgICAgZGVj
b2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5p
KCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9uZXdf
YXJyYXlfd2lkZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNl
dEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9uZXdfYXJyYXkodDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmko
KSArIGludHB0cl90KDB4Yyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEg
PSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25ld19h
cnJheV93aWRlMzIpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX25ld19hcnJheSh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHgxNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3X2Fy
cmF5X3dpdGhfc2l6ZSkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9
IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5z
ZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlw
ZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfbmV3X2FycmF5X3dpdGhfc2l6ZSh0MCwgdDEpOwog
ICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFC
RUwob3BfbmV3X2FycmF5X3dpdGhfc2l6ZV93aWRlMTYpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwog
ICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAg
ICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX25ld19hcnJheV93
aXRoX3NpemUodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwog
ICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0g
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25ld19hcnJheV93aXRoX3NpemVfd2lkZTMyKQogICAg
cGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50
ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Ns
b3dfcGF0aF9uZXdfYXJyYXlfd2l0aF9zaXplKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4
CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9uZXdfYXN5bmNfZnVu
YykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfbmV3X2FzeW5jX2Z1bmModDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25ld19hc3luY19m
dW5jX3dpZGUxNikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNm
ci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUK
ICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRD
dXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSBy
ZXN1bHQgPSBsbGludF9zbG93X3BhdGhfbmV3X2FzeW5jX2Z1bmModDAsIHQxKTsKICAgICAgICBk
ZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25l
d19hc3luY19mdW5jX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAg
ICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BT
dGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0
dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfbmV3X2FzeW5jX2Z1bmModDAsIHQxKTsK
ICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAg
ICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xB
QkVMKG9wX25ld19hc3luY19mdW5jX2V4cCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAg
Y2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfbmV3X2FzeW5jX2Z1bmNfZXhw
KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAg
IHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9uZXdfYXN5bmNfZnVuY19leHBfd2lkZTE2KQogICAgcGMgPSBwYy5p
KCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAg
ICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAo
KSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9u
ZXdfYXN5bmNfZnVuY19leHAodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0
MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0g
cGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25ld19hc3luY19mdW5jX2V4cF93aWRl
MzIpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0
YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0g
bGxpbnRfc2xvd19wYXRoX25ld19hc3luY19mdW5jX2V4cCh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3X2Fz
eW5jX2dlbmVyYXRvcl9mdW5jKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAg
IHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0
YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9uZXdfYXN5bmNfZ2VuZXJhdG9yX2Z1bmMo
dDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAg
cGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX25ld19hc3luY19nZW5lcmF0b3JfZnVuY193aWRlMTYpCiAgICBwYyA9
IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihz
cC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19w
YXRoX25ld19hc3luY19nZW5lcmF0b3JfZnVuYyh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3Vs
dChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50
cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8
dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3X2FzeW5jX2dl
bmVyYXRvcl9mdW5jX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAg
ICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BT
dGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0
dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfbmV3X2FzeW5jX2dlbmVyYXRvcl9mdW5j
KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAg
IHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9uZXdfYXN5bmNfZ2VuZXJhdG9yX2Z1bmNfZXhwKQogICAgcGMgPSBw
Yy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0
CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3Au
dnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0
aF9uZXdfYXN5bmNfZ2VuZXJhdG9yX2Z1bmNfZXhwKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9uZXdfYXN5bmNf
Z2VuZXJhdG9yX2Z1bmNfZXhwX3dpZGUxNikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAg
Y2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfbmV3X2FzeW5jX2dlbmVyYXRv
cl9mdW5jX2V4cCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7
CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkg
LSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3X2FzeW5jX2dlbmVyYXRvcl9mdW5jX2V4cF93
aWRlMzIpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVu
dFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0
ID0gbGxpbnRfc2xvd19wYXRoX25ld19hc3luY19nZW5lcmF0b3JfZnVuY19leHAodDAsIHQxKTsK
ICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAg
ICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xB
QkVMKG9wX25ld19mdW5jKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQw
ID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNr
LnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5U
eXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9uZXdfZnVuYyh0MCwgdDEpOwogICAgICAgIGRl
Y29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3
X2Z1bmNfd2lkZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNl
dEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9uZXdfZnVuYyh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3X2Z1
bmNfd2lkZTMyKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2Zy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1
cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9uZXdfZnVuYyh0MCwgdDEpOwogICAgICAgIGRlY29kZVJl
c3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3X2Z1bmNf
ZXhwKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRT
dGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IGxsaW50X3Nsb3dfcGF0aF9uZXdfZnVuY19leHAodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25ld19mdW5jX2V4
cF93aWRlMTYpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3Vy
cmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gbGxpbnRfc2xvd19wYXRoX25ld19mdW5jX2V4cCh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3X2Z1
bmNfZXhwX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9
IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5z
ZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlw
ZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfbmV3X2Z1bmNfZXhwKHQwLCB0MSk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9u
ZXdfZ2VuZXJhdG9yX2Z1bmMpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX25ld19nZW5lcmF0b3JfZnVuYyh0MCwgdDEp
OwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVf
TEFCRUwob3BfbmV3X2dlbmVyYXRvcl9mdW5jX3dpZGUxNikKICAgIHBjID0gcGMuaSgpICsgcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBw
Yy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3
CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAg
ICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfbmV3X2dlbmVy
YXRvcl9mdW5jKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsK
ICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAt
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9uZXdfZ2VuZXJhdG9yX2Z1bmNfd2lkZTMyKQogICAg
cGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50
ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Ns
b3dfcGF0aF9uZXdfZ2VuZXJhdG9yX2Z1bmModDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgK
ICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25ld19nZW5lcmF0b3Jf
ZnVuY19leHApCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3Vy
cmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gbGxpbnRfc2xvd19wYXRoX25ld19nZW5lcmF0b3JfZnVuY19leHAodDAsIHQxKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX25ld19nZW5lcmF0b3JfZnVuY19leHBfd2lkZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBj
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcK
ICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9uZXdfZ2VuZXJh
dG9yX2Z1bmNfZXhwKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQx
KTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmko
KSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0
MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2Rl
TWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsK
Ck9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9uZXdfZ2VuZXJhdG9yX2Z1bmNfZXhwX3dpZGUz
MikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfbmV3X2dlbmVyYXRvcl9mdW5jX2V4cCh0MCwgdDEpOwogICAgICAgIGRl
Y29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3
X29iamVjdCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJy
ZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1
bHQgPSBsbGludF9zbG93X3BhdGhfbmV3X29iamVjdCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJl
c3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3X29iamVj
dF93aWRlMTYpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3Vy
cmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gbGxpbnRfc2xvd19wYXRoX25ld19vYmplY3QodDAsIHQxKTsKICAgICAgICBkZWNvZGVS
ZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSAr
IGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25ld19vYmpl
Y3Rfd2lkZTMyKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2Zy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1
cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9uZXdfb2JqZWN0KHQwLCB0MSk7CiAgICAgICAgZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9uZXdfcmVn
ZXhwKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRT
dGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IGxsaW50X3Nsb3dfcGF0aF9uZXdfcmVnZXhwKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4
CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9uZXdfcmVnZXhwX3dp
ZGUxNikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50
U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQg
PSBsbGludF9zbG93X3BhdGhfbmV3X3JlZ2V4cCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3Vs
dChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50
cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8
dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfbmV3X3JlZ2V4cF93
aWRlMzIpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVu
dFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0
ID0gbGxpbnRfc2xvd19wYXRoX25ld19yZWdleHAodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1dF9nZXR0ZXJf
YnlfaWQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVu
dFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0
ID0gbGxpbnRfc2xvd19wYXRoX3B1dF9nZXR0ZXJfYnlfaWQodDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmko
KSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEg
PSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1dF9n
ZXR0ZXJfYnlfaWRfd2lkZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAg
IHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0
YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9wdXRfZ2V0dGVyX2J5X2lkKHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9wdXRfZ2V0dGVyX2J5X2lkX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAg
ICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAg
IFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfcHV0X2dldHRlcl9i
eV9pZCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9
CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxMik7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5F
X0FTTV9PUENPREVfTEFCRUwob3BfcHV0X2dldHRlcl9ieV92YWwpCiAgICBwYyA9IHBjLmkoKSAr
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQx
ID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3B1dF9n
ZXR0ZXJfYnlfdmFsKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQx
KTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmko
KSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0
MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2Rl
TWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsK
Ck9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXRfZ2V0dGVyX2J5X3ZhbF93aWRlMTYpCiAg
ICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRf
c2xvd19wYXRoX3B1dF9nZXR0ZXJfYnlfdmFsKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4
CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXRfZ2V0dGVyX2J5
X3ZhbF93aWRlMzIpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3B1dF9nZXR0ZXJfYnlfdmFsKHQwLCB0MSk7CiAgICAg
ICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweDEyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF9wdXRfZ2V0dGVyX3NldHRlcl9ieV9pZCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAg
Y2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfcHV0X2dldHRlcl9zZXR0ZXJf
YnlfaWQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAg
fQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1dF9nZXR0ZXJfc2V0dGVyX2J5X2lkX3dpZGUxNikKICAg
IHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2lu
dGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9z
bG93X3BhdGhfcHV0X2dldHRlcl9zZXR0ZXJfYnlfaWQodDAsIHQxKTsKICAgICAgICBkZWNvZGVS
ZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSAr
IGludHB0cl90KDB4Yyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1dF9nZXR0
ZXJfc2V0dGVyX2J5X2lkX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0
CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xv
b3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfcHV0X2dldHRlcl9zZXR0ZXJfYnlf
aWQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQog
ICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTYpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX3B1dF9zZXR0ZXJfYnlfaWQpCiAgICBwYyA9IHBjLmkoKSArIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0g
cGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjEx
NwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAg
ICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3B1dF9zZXR0
ZXJfYnlfaWQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwog
ICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0g
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3B1dF9zZXR0ZXJfYnlfaWRfd2lkZTE2KQogICAgcGMg
PSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIo
c3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3df
cGF0aF9wdXRfc2V0dGVyX2J5X2lkKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBw
YyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgw
eGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9wdXRfc2V0dGVyX2J5X2lkX3dp
ZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50
U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQg
PSBsbGludF9zbG93X3BhdGhfcHV0X3NldHRlcl9ieV9pZCh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHgxMik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfcHV0X3Nl
dHRlcl9ieV92YWwpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3B1dF9zZXR0ZXJfYnlfdmFsKHQwLCB0MSk7CiAgICAg
ICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF9wdXRfc2V0dGVyX2J5X3ZhbF93aWRlMTYpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAg
IGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93
UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3B1dF9zZXR0ZXJfYnlfdmFs
KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAg
IHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF9wdXRfc2V0dGVyX2J5X3ZhbF93aWRlMzIpCiAgICBwYyA9IHBjLmko
KSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAg
IHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgp
KTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3B1
dF9zZXR0ZXJfYnlfdmFsKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAs
IHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBj
LmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEyKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9zZXRfZnVuY3Rpb25fbmFtZSkKICAgIHBj
ID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVy
KHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93
X3BhdGhfc2V0X2Z1bmN0aW9uX25hbWUodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVz
dWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAg
IHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3NldF9mdW5jdGlvbl9uYW1l
X3dpZGUxNikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJy
ZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1
bHQgPSBsbGludF9zbG93X3BhdGhfc2V0X2Z1bmN0aW9uX25hbWUodDAsIHQxKTsKICAgICAgICBk
ZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3Nl
dF9mdW5jdGlvbl9uYW1lX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0
CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xv
b3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfc2V0X2Z1bmN0aW9uX25hbWUodDAs
IHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMg
PSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BD
T0RFX0xBQkVMKG9wX3N1cGVyX3NhbXBsZXJfYmVnaW4pCiAgICBwYyA9IHBjLmkoKSArIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwog
ICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAg
ICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3N1cGVyX3NhbXBs
ZXJfYmVnaW4odDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwog
ICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0g
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3N1cGVyX3NhbXBsZXJfYmVnaW5fd2lkZTE2KQogICAg
cGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50
ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Ns
b3dfcGF0aF9zdXBlcl9zYW1wbGVyX2JlZ2luKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4
CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9zdXBlcl9zYW1wbGVy
X2JlZ2luX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9
IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5z
ZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlw
ZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfc3VwZXJfc2FtcGxlcl9iZWdpbih0MCwgdDEpOwog
ICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFC
RUwob3Bfc3VwZXJfc2FtcGxlcl9lbmQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNs
b29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3N1cGVyX3NhbXBsZXJfZW5kKHQw
LCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBj
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09Q
Q09ERV9MQUJFTChvcF9zdXBlcl9zYW1wbGVyX2VuZF93aWRlMTYpCiAgICBwYyA9IHBjLmkoKSAr
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQx
ID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3N1cGVy
X3NhbXBsZXJfZW5kKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQx
KTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmko
KSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDIpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0
MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2Rl
TWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsK
Ck9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9zdXBlcl9zYW1wbGVyX2VuZF93aWRlMzIpCiAg
ICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRf
c2xvd19wYXRoX3N1cGVyX3NhbXBsZXJfZW5kKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4
CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF90aHJvdykKICAgIHBj
ID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVy
KHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93
X3BhdGhfdGhyb3codDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEp
OwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgp
IC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Mik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQw
ID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVN
YXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
T0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3Rocm93X3dpZGUxNikKICAgIHBjID0gcGMuaSgp
ICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAg
dDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkp
OwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfdGhy
b3codDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQog
ICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX3Rocm93X3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAg
ICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAg
IFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfdGhyb3codDAsIHQx
KTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0
MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5
CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX3RyeV9nZXRfYnlfaWQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNs
b29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3RyeV9nZXRfYnlfaWQodDAsIHQx
KTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0
MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5
CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NSk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX3RyeV9nZXRfYnlfaWRfd2lkZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2Uu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAg
ICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAg
U2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF90cnlfZ2V0X2J5X2lk
KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAg
IHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNN
X09QQ09ERV9MQUJFTChvcF90cnlfZ2V0X2J5X2lkX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfdHJ5X2dl
dF9ieV9pZCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAg
ICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxMik7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAq
Q0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZM
SU5FX0FTTV9PUENPREVfTEFCRUwob3Bfc3dpdGNoX3N0cmluZykKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfc3dpdGNo
X3N0cmluZyh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAg
ICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3N3aXRjaF9z
dHJpbmdfd2lkZTE2KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNl
dEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9zd2l0Y2hfc3RyaW5nKHQwLCB0MSk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAq
Q0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZM
SU5FX0FTTV9PUENPREVfTEFCRUwob3Bfc3dpdGNoX3N0cmluZ193aWRlMzIpCiAgICBwYyA9IHBj
LmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQK
ICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52
cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRo
X3N3aXRjaF9zdHJpbmcodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwg
dDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMu
aSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9l
cSkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAg
ICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYg
KHQwLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFs
aXR5Q29tcGFyaXNvbk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ1MV9sb2FkX19jb25zdGFudDsKICAgIHQx
ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5
Q29tcGFyaXNvbk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ1MV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9l
cXVhbGl0eUNvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMy
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NTFfbG9hZF9fY29uc3RhbnQpCiAg
ICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0NzYKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29uT3BfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fNDUxX2xvYWRfX2RvbmUpCiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcu
dTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUzMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29uT3BfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
NDUyX2ZuX19zbG93OwogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbk9wX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ1Ml9s
b2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3Rv
IF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbk9wX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ1Ml9sb2Fk
X19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180
NTJfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAg
dDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQw
Lmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1
YWxpdHlDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDUyX2xvYWRfX2RvbmUpCiAgICBpZiAo
dDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUzMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxp
dHlDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fNDUyX2ZuX19zbG93OwogICAgdDAgPSAodDAudTMyKCkgPT0g
dDEudTMyKCkpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTg0NwogICAgdDAgPSB0MC5pNjQoKSB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4MTAKICAgIHQyID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8
PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX180NTJfZm5fX3Nsb3cpCiAgICBw
YyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRl
cihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRo
X2VxKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0K
ICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF9lcV93aWRlMTYpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGlu
dDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50MTZf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbk9wX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzQ1M19sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5
CiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbk9wX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzQ1M19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25PcF9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX180NTNfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4MQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50
NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fZXF1YWxpdHlDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDUzX2xvYWRfX2RvbmUp
CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzMAogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fZXF1YWxpdHlDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fNDU0X2ZuX19zbG93OwogICAgaWYgKHQyLmko
KSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29t
cGFyaXNvbk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ1NF9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFy
aXNvbk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzQ1NF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0
eUNvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NTRfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4
cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGlu
dHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29uT3BfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fNDU0X2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzMAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29uT3BfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fNDU0X2Zu
X19zbG93OwogICAgdDAgPSAodDAudTMyKCkgPT0gdDEudTMyKCkpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTg0NwogICAgdDAgPSB0MC5pNjQo
KSB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo4MTAKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQx
ID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJp
c29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fNDU0X2ZuX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBj
bG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1Bh
dGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9lcSh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZXFfd2lk
ZTMyKQogICAgdDAgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICB0MiA9
ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MC5pKCkgPj0gaW50
cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25P
cF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX180NTVfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25PcF9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX180NTVfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJp
c29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDU1X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0
NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0
MCA9IHQwLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlDb21w
YXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDU1X2xvYWRfX2RvbmUpCiAgICBpZiAodDEudTY0KCkg
PCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUzMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJp
c29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fNDU2X2ZuX19zbG93OwogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDQw
MDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbk9wX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzQ1Nl9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5p
OHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbk9wX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzQ1Nl9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25PcF9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX180NTZfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQyID0gdDIuaSgp
IC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0
Mi5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25PcF9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX180NTZfbG9hZF9fZG9uZSkKICAgIGlmICh0MC51NjQoKSA8IG51bWJlclRh
Zy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTMwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25PcF9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X180NTZfZm5fX3Nsb3c7CiAgICB0MCA9ICh0MC51MzIoKSA9PSB0MS51MzIoKSk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxODQ3CiAgICB0MCA9
IHQwLmk2NCgpIHwgaW50NjRfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjgxMAogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MAogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlz
b25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX180NTZfZm5fX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNs
b29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2VxKHQwLCB0MSk7CiAgICAgICAgZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9uZXEpCiAg
ICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgdDIg
PSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MC5p
KCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUNv
bXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NTdfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBh
cmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX180NTdfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxp
dHlDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDU3X2xvYWRfX2NvbnN0YW50KQogICAgdDEg
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5p
OHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDc2CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykgKyBp
bnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbk9wX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzQ1N19sb2FkX19kb25lKQogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzAK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbk9wX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fXzQ1OF9m
bl9fc2xvdzsKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NThfbG9hZF9f
Y29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8
IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2Zm
bGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NThfbG9hZF9fZG9u
ZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDU4X2xv
YWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0g
KkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAo
KSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsaXR5
Q29tcGFyaXNvbk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ1OF9sb2FkX19kb25lKQogICAgaWYgKHQwLnU2
NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MzAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29t
cGFyaXNvbk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fXzQ1OF9mbl9fc2xvdzsKICAgIHQwID0gKHQwLnUzMigpICE9IHQxLnUz
MigpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjE4NTEKICAgIHQwID0gdDAuaTY0KCkgfCBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODEwCiAgICB0MiA9IHQwLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykp
ID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5p
KCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fZXF1YWxpdHlDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fNDU4X2ZuX19zbG93KQogICAgcGMgPSBw
Yy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0
CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3Au
dnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9uZXEo
dDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAg
cGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX25lcV93aWRlMTYpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbk9wX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzQ1OV9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAg
ICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbk9wX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ1
OV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlzb25PcF9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX180NTlfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
MQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRf
dCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fZXF1YWxpdHlDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVJ
bnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDU5X2xvYWRfX2RvbmUpCiAg
ICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
ZXF1YWxpdHlDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fNDYwX2ZuX19zbG93OwogICAgaWYgKHQyLmkoKSA+
PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFy
aXNvbk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzQ2MF9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNv
bk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzQ2MF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUNv
bXBhcmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NjBfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgp
ICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIK
ICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGludHB0
cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29uT3BfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fNDYwX2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzMAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29uT3BfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fNDYwX2ZuX19z
bG93OwogICAgdDAgPSAodDAudTMyKCkgIT0gdDEudTMyKCkpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTg1MQogICAgdDAgPSB0MC5pNjQoKSB8
IGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4MTAKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0g
KGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0
MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2Rl
TWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29u
T3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fNDYwX2ZuX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQK
ICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9v
cFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhS
ZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9uZXEodDAsIHQxKTsKICAgICAgICBkZWNvZGVS
ZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSAr
IGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX25lcV93aWRl
MzIpCiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQyID0g
KkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQwLmkoKSA+PSBpbnRw
dHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbk9w
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzQ2MV9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbk9wX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzQ2MV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlz
b25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX180NjFfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQw
ID0gdDAuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBh
cmlzb25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX180NjFfbG9hZF9fZG9uZSkKICAgIGlmICh0MS51NjQoKSA8
IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTMwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUNvbXBhcmlz
b25PcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX180NjJfZm5fX3Nsb3c7CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDAw
MDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
NwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29uT3BfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fNDYyX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4
cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTgKICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlDb21wYXJpc29uT3BfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fNDYyX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbk9wX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzQ2Ml9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDIgPSB0Mi5pKCkg
LSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQy
LmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbk9wX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzQ2Ml9sb2FkX19kb25lKQogICAgaWYgKHQwLnU2NCgpIDwgbnVtYmVyVGFn
LnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MzAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNvbk9wX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
XzQ2Ml9mbl9fc2xvdzsKICAgIHQwID0gKHQwLnUzMigpICE9IHQxLnUzMigpKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE4NTEKICAgIHQwID0g
dDAuaTY0KCkgfCBpbnQ2NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODEwCiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYw
CiAgICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsaXR5Q29tcGFyaXNv
bk9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fXzQ2Ml9mbl9fc2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0
CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xv
b3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhfbmVxKHQwLCB0MSk7CiAgICAgICAgZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9iZWxvdykK
ICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0
MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQw
LmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVV
bnNpZ25lZE9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NjNf
bG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290
byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fNDYzX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNp
Z25lZE9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NjNfbG9h
ZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDEgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZVVu
c2lnbmVkT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ2M19s
b2FkX19kb25lKQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZE9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX180NjRfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRPcF9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDY0X2xvYWRfX2RvbmU7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZE9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX180NjRfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ3NQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzQ2NF9sb2FkX19kb25lKQogICAgdDAgPSAodDAudTMyKCkgPCB0MS51
MzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTg1NQogICAgdDAgPSB0MC5pNjQoKSB8IGludDY0X3QoMHg2KTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDAxCiAgICB0MiA9IHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9i
ZWxvd193aWRlMTYpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDcKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NwogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NvbXBhcmVVbnNpZ25lZE9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX180NjVfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRPcF9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDY1X2xvYWRfX2RvbmU7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2NvbXBhcmVVbnNpZ25lZE9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX180NjVfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4MQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50
NjRfdCo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fY29tcGFyZVVuc2lnbmVkT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzQ2NV9sb2FkX19kb25lKQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDQw
KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZE9wX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NjZfbG9hZF9fY29uc3RhbnQ7CiAgICB0
MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJl
VW5zaWduZWRPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDY2
X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZE9wX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NjZfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4
cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGlu
dHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkT3BfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ2Nl9sb2FkX19kb25lKQogICAgdDAgPSAo
dDAudTMyKCkgPCB0MS51MzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTg1NQogICAgdDAgPSB0MC5pNjQoKSB8IGludDY0X3QoMHg2KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDAx
CiAgICB0MiA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYwCiAgICB0MSA9IChpbnQ2NF90KSpDQVNU
PGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDEuaSgpIDw8IDMpKSA9IHQyLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NjIKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9P
UENPREVfTEFCRUwob3BfYmVsb3dfd2lkZTMyKQogICAgdDIgPSAqQ0FTVDxpbnQzMl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjU1CiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTUKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9jb21wYXJlVW5zaWduZWRPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fNDY3X2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkT3BfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ2N19sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9jb21wYXJlVW5zaWduZWRPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fNDY3X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MCA9IHQwLmkoKSAtIGlu
dHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ4OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkT3BfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ2N19sb2FkX19kb25lKQogICAgaWYg
KHQyLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBh
cmVVbnNpZ25lZE9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180
NjhfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAg
Z290byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDY4X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVV
bnNpZ25lZE9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180Njhf
bG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQyID0gdDIuaSgpIC0gaW50cHRyX3QoMHg0
MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRPcF9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDY4X2xvYWRfX2RvbmUpCiAgICB0MCA9ICh0MC51MzIo
KSA8IHQxLnUzMigpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxODU1CiAgICB0MCA9IHQwLmk2NCgpIHwgaW50NjRfdCgweDYpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwMDEKICAgIHQy
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MgogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9i
ZWxvd2VxKQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAg
ICBpZiAodDAuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZVVuc2lnbmVkT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzQ2OV9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAw
CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZE9wX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NjlfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29t
cGFyZVVuc2lnbmVkT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzQ2OV9sb2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkg
KyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAg
ICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9j
b21wYXJlVW5zaWduZWRPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fNDY5X2xvYWRfX2RvbmUpCiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4MTApKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkT3BfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ3MF9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25l
ZE9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NzBfbG9hZF9f
ZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkT3BfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzQ3MF9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8
aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAx
NDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAg
dDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3Qo
LTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRPcF9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDcwX2xvYWRfX2RvbmUpCiAgICB0MCA9ICh0MC51MzIo
KSA8PSB0MS51MzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxODU5CiAgICB0MCA9IHQwLmk2NCgpIHwgaW50NjRfdCgweDYpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwMDEKICAgIHQy
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQx
LmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjYyCiAg
ICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xB
QkVMKG9wX2JlbG93ZXFfd2lkZTE2KQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ3CiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDcKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDcxX2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkT3Bf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ3MV9sb2FkX19kb25l
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fNDcxX2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODEKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MSA9
ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZE9wX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX180NzFfbG9hZF9fZG9uZSkKICAgIGlmICh0Mi5pKCkgPj0gaW50
cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRPcF9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDcyX2xvYWRfX2NvbnN0
YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVh
c21fY29tcGFyZVVuc2lnbmVkT3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzQ3Ml9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRPcF9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDcyX2xvYWRfX2NvbnN0YW50
KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQwID0gKkNBU1Q8aW50cHRy
X3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDgyCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkg
PDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZE9wX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NzJfbG9hZF9fZG9uZSkK
ICAgIHQwID0gKHQwLnUzMigpIDw9IHQxLnUzMigpKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE4NTkKICAgIHQwID0gdDAuaTY0KCkgfCBpbnQ2
NF90KDB4Nik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjAwMQogICAgdDIgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2MAogICAgdDEgPSAoaW50
NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0Mi5pNjQoKTsgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjYyCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2JlbG93ZXFfd2lkZTMyKQogICAgdDIgPSAqQ0FTVDxp
bnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTUKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDczX2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkT3Bf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ3M19sb2FkX19kb25l
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRPcF9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fNDczX2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MCA9
IHQwLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVk
T3BfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ3M19sb2FkX19k
b25lKQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NvbXBhcmVVbnNpZ25lZE9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX180NzRfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRPcF9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDc0X2xvYWRfX2RvbmU7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2NvbXBhcmVVbnNpZ25lZE9wX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX180NzRfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQyID0gdDIuaSgpIC0g
aW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5p
KCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRPcF9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDc0X2xvYWRfX2RvbmUpCiAgICB0
MCA9ICh0MC51MzIoKSA8PSB0MS51MzIoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxODU5CiAgICB0MCA9IHQwLmk2NCgpIHwgaW50NjRfdCgw
eDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjIwMDEKICAgIHQyID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NjAKICAgIHQxID0gKkNBU1Q8aW50
MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSAr
ICh0MS5pKCkgPDwgMykpID0gdDIuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo2
MgogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF9qbXApCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozOQogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19pbXBsX19qdW1wX180NzRfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBw
YyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19qdW1wX180NzRfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQpCiAg
ICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRf
c2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7CiAgICAgICAgZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9PUENPREVfTEFCRUwob3Bfam1wX3dpZGUxNikKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50
MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAz
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX180NzVfanVtcEltcGxfX291dE9mTGluZUp1
bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX180NzVfanVtcEltcGxfX291dE9mTGlu
ZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQog
ICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29w
Y29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bfam1wX3dpZGUzMikKICAgIHQwID0gKkNB
U1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQwLmkzMigpID09IDApICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX180NzZfanVtcEltcGxfX291dE9m
TGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wV2l0aEp1bXBfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX180NzZfanVtcEltcGxfX291
dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQw
LCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBj
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfanRydWUpCiAgICB0MSA9IChp
bnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQxLmkoKSA+
PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVP
ckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ3Nl9sb2FkX19jb25z
dGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5l
YXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzQ3Nl9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NzZfbG9hZF9fY29uc3RhbnQpCiAgICB0
MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQw
Lmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NzYKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSAr
IGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDc2X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQw
Lmk2NCgpICYgaW50NjRfdCgtMTYpKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE4MjIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50SnVt
cFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2ltcGxfX21heWJlQ2VsbDsKICAgIGlmICgodDAuaTMyKCkgJiBpbnQzMl90KDB4
MSkpICE9IDApICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE4
NjkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ3N19pbXBsX190
YXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19tYXliZUNl
bGwpCiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4MjcKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ3N19pbXBsX19zbG93OwogICAgaWYgKCpDQVNUPHVp
bnQ4X3QqPih0MC5pOHAoKSArIDUpIDw9IHVpbnQ4X3QoMHgyKSkgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxODI4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVl
T3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX180NzdfaW1wbF9fc2xvdzsKICAgIGlmICgoKkNBU1Q8aW50OF90Kj4odDAuaThwKCkgKyA2
KSAmIGludDhfdCgweDEpKSAhPSAwKSAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTgyOQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDc3X2ltcGxfX3Nsb3c7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZh
bHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzQ3N19pbXBsX190YXJnZXQpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozOQogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX180NzdfanVtcEltcGxf
X291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JG
YWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19pbXBsX19qdW1wX180NzdfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9
IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihz
cC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19w
YXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4
CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ3N19pbXBsX19zbG93KQog
ICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1Bv
aW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50
X3Nsb3dfcGF0aF9qdHJ1ZSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQw
LCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBw
Yy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X2p0cnVlX3dpZGUxNikKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NwogICAgaWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzQ3N19sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ3N19sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X180NzdfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+
KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
NDc3X2xvYWRfX2RvbmUpCiAgICBpZiAoKHQwLmk2NCgpICYgaW50NjRfdCgtMTYpKSAhPSAwKSAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4MjIKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ3OF9pbXBsX19tYXliZUNlbGw7
CiAgICBpZiAoKHQwLmkzMigpICYgaW50MzJfdCgweDEpKSAhPSAwKSAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxODY5CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX180NzhfaW1wbF9fdGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fNDc4X2ltcGxfX21heWJlQ2VsbCkKICAgIGlmICgodDAuaTY0KCkg
JiBub3RDZWxsTWFzay5pNjQoKSkgIT0gMCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTgyNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9y
RmFsc2VPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fNDc4X2ltcGxfX3Nsb3c7CiAgICBpZiAoKkNBU1Q8dWludDhfdCo+KHQwLmk4cCgpICsgNSkg
PD0gdWludDhfdCgweDIpKSAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4MjgKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ3OF9pbXBsX19zbG93Owog
ICAgaWYgKCgqQ0FTVDxpbnQ4X3QqPih0MC5pOHAoKSArIDYpICYgaW50OF90KDB4MSkpICE9IDAp
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODI5CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX180NzhfaW1wbF9fc2xvdzsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDc4X2ltcGxfX3RhcmdldCkKICAg
IHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYg
KHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludEp1
bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbXBsX19qdW1wX180NzhfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7
CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX180NzhfanVt
cEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAg
IGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93
UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBf
dGFyZ2V0KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAg
IH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzQ3OF9pbXBsX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBj
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcK
ICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qdHJ1ZSh0MCwg
dDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9
IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkp
OyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigm
Z19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09Q
Q09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2p0cnVlX3dpZGUzMikKICAgIHQx
ID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQxLmkoKSA+PSBp
bnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZh
bHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ3OF9sb2FkX19jb25zdGFu
dDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzQ3OF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NzhfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4
cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0
X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180Nzhf
bG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBpbnQ2NF90KC0xNikpICE9IDApICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTgyMgogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDc5X2ltcGxfX21heWJlQ2VsbDsKICAg
IGlmICgodDAuaTMyKCkgJiBpbnQzMl90KDB4MSkpICE9IDApICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE4NjkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzQ3OV9pbXBsX190YXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX180NzlfaW1wbF9fbWF5YmVDZWxsKQogICAgaWYgKCh0MC5pNjQoKSAmIG5v
dENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxODI3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxz
ZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180
NzlfaW1wbF9fc2xvdzsKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDAuaThwKCkgKyA1KSA8PSB1
aW50OF90KDB4MikpICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTgyOAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDc5X2ltcGxfX3Nsb3c7CiAgICBp
ZiAoKCpDQVNUPGludDhfdCo+KHQwLmk4cCgpICsgNikgJiBpbnQ4X3QoMHgxKSkgIT0gMCkgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4MjkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzQ3OV9pbXBsX19zbG93OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180NzlfaW1wbF9fdGFyZ2V0KQogICAgdDAg
PSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDAuaTMyKCkgPT0g
MCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo0MDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNl
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2lt
cGxfX2p1bXBfXzQ3OV9qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldDsKICAgIHBjID0gcGMu
aSgpICsgdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBfXzQ3OV9qdW1wSW1wbF9fb3V0T2ZM
aW5lSnVtcFRhcmdldCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9
IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5z
ZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlw
ZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfb3V0X29mX2xpbmVfanVtcF90YXJnZXQodDAsIHQx
KTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0
MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1
ZU9yRmFsc2VPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fNDc5X2ltcGxfX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAog
ICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29w
U3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJl
dHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2p0cnVlKHQwLCB0MSk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAq
Q0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZM
SU5FX0FTTV9PUENPREVfTEFCRUwob3BfamZhbHNlKQogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MS5pKCkgPj0gaW50cHRyX3QoMHgx
MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NzlfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9sbGludEp1bXBU
cnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180NzlfbG9hZF9f
ZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fNDc5X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9
ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzQ3OV9sb2FkX19kb25lKQogICAgaWYgKCh0MC5pNjQoKSAmIGludDY0
X3QoLTE2KSkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxODIyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODBf
aW1wbF9fbWF5YmVDZWxsOwogICAgaWYgKCh0MC5pMzIoKSAmIGludDMyX3QoMHgxKSkgPT0gMCkg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTg3NgogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDgwX2ltcGxfX3RhcmdldDsKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ4MF9pbXBsX19tYXliZUNlbGwpCiAg
ICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4MjcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzQ4MF9pbXBsX19zbG93OwogICAgaWYgKCpDQVNUPHVpbnQ4X3Qq
Pih0MC5pOHAoKSArIDUpIDw9IHVpbnQ4X3QoMHgyKSkgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxODI4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxz
ZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180
ODBfaW1wbF9fc2xvdzsKICAgIGlmICgoKkNBU1Q8aW50OF90Kj4odDAuaThwKCkgKyA2KSAmIGlu
dDhfdCgweDEpKSAhPSAwKSAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTgyOQogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDgwX2ltcGxfX3Nsb3c7CiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODBfaW1wbF9fdGFyZ2V0KQogICAgdDAg
PSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0MC5p
MzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjQwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1
ZU9yRmFsc2VPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9faW1wbF9fanVtcF9fNDgwX2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0OwogICAg
cGMgPSBwYy5pKCkgKyB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9fNDgwX2p1bXBJbXBs
X19vdXRPZkxpbmVKdW1wVGFyZ2V0KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQK
ICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9v
cFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhS
ZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9vdXRfb2ZfbGluZV9qdW1wX3Rhcmdl
dCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAg
ICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2Uu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX180ODBfaW1wbF9fc2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAg
ICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNs
b3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfamZhbHNlKHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQog
ICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29w
Y29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfamZhbHNlX3dpZGUxNikKICAgIHQxID0g
KGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQxLmko
KSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50SnVtcFRy
dWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ4MF9sb2FkX19j
b25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZs
aW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzQ4MF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBs
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180ODBfbG9hZF9fY29uc3RhbnQpCiAg
ICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+
KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQxLmkoKSA8PCAz
KSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDgwX2xvYWRfX2RvbmUpCiAgICBpZiAo
KHQwLmk2NCgpICYgaW50NjRfdCgtMTYpKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE4MjIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50
SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzQ4MV9pbXBsX19tYXliZUNlbGw7CiAgICBpZiAoKHQwLmkzMigpICYgaW50
MzJfdCgweDEpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxODc2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODFf
aW1wbF9fdGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDgxX2lt
cGxfX21heWJlQ2VsbCkKICAgIGlmICgodDAuaTY0KCkgJiBub3RDZWxsTWFzay5pNjQoKSkgIT0g
MCkgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTgyNwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDgxX2ltcGxfX3Nsb3c7CiAgICBp
ZiAoKkNBU1Q8dWludDhfdCo+KHQwLmk4cCgpICsgNSkgPD0gdWludDhfdCgweDIpKSAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4MjgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzQ4MV9pbXBsX19zbG93OwogICAgaWYgKCgqQ0FTVDxpbnQ4X3QqPih0
MC5pOHAoKSArIDYpICYgaW50OF90KDB4MSkpICE9IDApICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxODI5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODFf
aW1wbF9fc2xvdzsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ4MV9pbXBs
X190YXJnZXQpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDcKICAgIGlmICh0MC5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQwMwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9fNDgxX2p1bXBJbXBsX19vdXRPZkxp
bmVKdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9f
anVtcF9fNDgxX2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0KQogICAgcGMgPSBwYy5pKCkg
KyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0
MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7
CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9vdXRf
b2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMg
PSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODFfaW1wbF9fc2xvdykKICAgIHBjID0g
cGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNw
LnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3Bh
dGhfamZhbHNlKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsK
ICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAt
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfamZhbHNl
X3dpZGUzMikKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAg
aWYgKHQxLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ4
MV9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MS5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBn
b3RvIF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzQ4MV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVl
T3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180ODFfbG9hZF9fY29u
c3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODgKICAgIHQxID0gdDEuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0
MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0MS5pKCkgPDwgMykpOyAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX180ODFfbG9hZF9fZG9uZSkKICAgIGlmICgodDAuaTY0KCkgJiBpbnQ2NF90KC0x
NikpICE9IDApICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTgyMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDgyX2ltcGxf
X21heWJlQ2VsbDsKICAgIGlmICgodDAuaTMyKCkgJiBpbnQzMl90KDB4MSkpID09IDApICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE4NzYKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ4Ml9pbXBsX190YXJnZXQ7CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODJfaW1wbF9fbWF5YmVDZWxsKQogICAgaWYg
KCh0MC5pNjQoKSAmIG5vdENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxODI3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGlu
dEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX180ODJfaW1wbF9fc2xvdzsKICAgIGlmICgqQ0FTVDx1aW50OF90Kj4odDAu
aThwKCkgKyA1KSA8PSB1aW50OF90KDB4MikpICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTgyOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDgyX2lt
cGxfX3Nsb3c7CiAgICBpZiAoKCpDQVNUPGludDhfdCo+KHQwLmk4cCgpICsgNikgJiBpbnQ4X3Qo
MHgxKSkgIT0gMCkgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE4MjkKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZhbHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ4Ml9pbXBsX19zbG93OwogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRKdW1wVHJ1ZU9yRmFsc2VPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDgyX2ltcGxfX3RhcmdldCkKICAgIHQwID0gKkNB
U1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQwLmkzMigpID09IDApICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19q
dW1wX180ODJfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSAr
IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludEp1bXBUcnVlT3JGYWxzZU9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX180ODJfanVtcEltcGxfX291dE9mTGluZUp1
bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3Vy
cmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7CiAg
ICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50SnVtcFRydWVPckZh
bHNlT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzQ4Ml9pbXBsX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQw
ID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNr
LnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5U
eXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qZmFsc2UodDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF9qbGVzcykKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MyA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzQ4Ml9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNm
ci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzQ4Ml9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180ODJfbG9hZF9fY29uc3RhbnQp
CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDAgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NzYKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8
PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDgyX2xvYWRfX2RvbmUpCiAgICBpZiAodDMuaSgp
ID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBP
cF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1w
bF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDgzX2xvYWRfX2NvbnN0YW50Owog
ICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDgzX2xvYWRfX2Rv
bmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzQ4M19sb2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDc1CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDEgPSAqQ0FTVDxpbnQ2
NF90Kj4odDEuaThwKCkgKyAodDMuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180ODNf
bG9hZF9fZG9uZSkKICAgIGlmICh0MC51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyMgogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCgp
IDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxOTIzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBs
X19vcDJOb3RJbnQ7CiAgICBpZiAodDAuaTMyKCkgPCB0MS5pMzIoKSkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxODgzCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9faW1wbF9fb3AxTm90SW50KQogICAgaWYgKCh0MC5pNjQoKSAmIG51bWJlclRh
Zy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxOTI4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODNfaW1wbF9fc2xvdzsK
ICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyOQogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9faW1wbF9fb3AxTm90SW50T3AyTm90SW50OwogICAgZDEgPSAoZG91YmxlKXQx
LmkzMigpOyAvLyBjaTJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxOTMwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX29wMU5v
dEludFJlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzEKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fb3AxTm90SW50T3AyTm90SW50
KQogICAgaWYgKCh0MS5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTMzCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX180ODNfaW1wbF9fc2xvdzsKICAgIHQxID0gdDEuaTY0KCkgKyBudW1iZXJU
YWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTkzNAogICAgZDEgPSB0MS5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM1CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX29wMU5vdEludFJlYWR5KQog
ICAgdDAgPSB0MC5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM3CiAgICBkMCA9IHQwLmJpdHNBc0RvdWJs
ZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE5MzgKICAgIGlmIChkMC5kKCkgPCBkMS5kKCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE4ODQKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSAr
IGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbXBsX19vcDJOb3RJbnQpCiAgICBkMCA9IChkb3VibGUpdDAuaTMyKCk7IC8v
IGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE5NDMKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NAogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fNDgzX2ltcGxfX3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVt
YmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE5NDUKICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NgogICAgaWYgKGQw
LmQoKSA8IGQxLmQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTg4NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
aW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBU
YXJnZXQpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
OQogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbXBsX19qdW1wX180ODNfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7
CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX180ODNfanVtcEltcGxfX291
dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQw
LCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBj
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzQ4M19pbXBsX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQw
ID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNr
LnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5U
eXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qbGVzcyh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX2psZXNzX3dpZGUxNikKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8
aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgdDMgPSAoaW50NjRfdCkqQ0FTVDxpbnQx
Nl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDAp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fNDg0X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDg0X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Nv
bXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ4NF9sb2FkX19j
b25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MCA9ICpDQVNU
PGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAo
dDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBs
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180ODRfbG9hZF9fZG9uZSkKICAgIGlm
ICh0My5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21w
YXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180ODVfbG9hZF9fY29u
c3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDMuaSgpIDw8IDMp
KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGlu
ZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180ODVf
bG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fNDg1X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODEKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MSA9ICpD
QVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzQ4NV9sb2FkX19kb25lKQogICAgaWYgKHQwLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTIyCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODVfaW1wbF9fb3AxTm90SW50OwogICAg
aWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTIzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9j
b21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX180ODVfaW1wbF9fb3AyTm90SW50OwogICAgaWYgKHQwLmkzMigpIDwgdDEuaTMyKCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTg4MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDg1X2ltcGxfX2p1bXBUYXJn
ZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODVfaW1wbF9fb3AxTm90SW50KQogICAg
aWYgKCh0MC5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTI4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9j
b21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX180ODVfaW1wbF9fc2xvdzsKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQo
KSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTky
OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDg1X2ltcGxfX29wMU5vdEludE9w
Mk5vdEludDsKICAgIGQxID0gKGRvdWJsZSl0MS5pMzIoKTsgLy8gY2kyZHMgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzMAogICAgZ290byBfb2Zm
bGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX180ODVfaW1wbF9fb3AxTm90SW50UmVhZHk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTkzMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9j
b21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX180ODVfaW1wbF9fb3AxTm90SW50T3AyTm90SW50KQogICAgaWYgKCh0MS5pNjQoKSAm
IG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxOTMzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODVfaW1w
bF9fc2xvdzsKICAgIHQxID0gdDEuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzNAogICAgZDEgPSB0MS5i
aXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxOTM1CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzQ4NV9pbXBsX19vcDFOb3RJbnRSZWFkeSkKICAgIHQwID0gdDAuaTY0KCkg
KyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTkzNwogICAgZDAgPSB0MC5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM4CiAgICBp
ZiAoZDAuZCgpIDwgZDEuZCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxODg0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21w
YXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX180ODVfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1w
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ4
NV9pbXBsX19vcDJOb3RJbnQpCiAgICBkMCA9IChkb3VibGUpdDAuaTMyKCk7IC8vIGNpMmRzICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDMKICAg
IGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fNDg1X2ltcGxfX3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2
NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5
NDUKICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NgogICAgaWYgKGQwLmQoKSA8IGQx
LmQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTg4NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDg1X2ltcGxf
X2p1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODVfaW1wbF9fanVtcFRh
cmdldCkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NwogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbXBsX19qdW1wX180ODVfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7
CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX180ODVfanVtcEltcGxfX291
dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQw
LCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBj
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzQ4NV9pbXBsX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQw
ID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNr
LnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5U
eXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qbGVzcyh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX2psZXNzX3dpZGUzMikKICAgIHQyID0gKkNBU1Q8aW50MzJfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDMgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjU1CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
NDg2X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAg
IGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fNDg2X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ4Nl9sb2FkX19jb25zdGFudCkKICAgIHQwID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThw
KCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
OAogICAgdDIgPSB0Mi5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50NjRf
dCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBh
cmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ4Nl9sb2FkX19kb25l
KQogICAgaWYgKHQzLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ4N19s
b2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzQ4N19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX180ODdfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNU
PGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsg
MTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAg
IHQzID0gdDMuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0
MS5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180ODdfbG9hZF9fZG9uZSkKICAg
IGlmICh0MC51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fNDg3X2ltcGxfX29wMU5vdEludDsKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRh
Zy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTkyMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDg3X2ltcGxfX29wMk5v
dEludDsKICAgIGlmICh0MC5pMzIoKSA8IHQxLmkzMigpKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE4ODMKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzQ4N19pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
Y29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fNDg3X2ltcGxfX29wMU5vdEludCkKICAgIGlmICgodDAuaTY0KCkgJiBudW1iZXJU
YWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTkyOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDg3X2ltcGxfX3Nsb3c7
CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjkKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzQ4N19pbXBsX19vcDFOb3RJbnRPcDJOb3RJbnQ7CiAgICBkMSA9IChkb3Vi
bGUpdDEuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE5MzAKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDg3X2lt
cGxfX29wMU5vdEludFJlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzEKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDg3X2ltcGxfX29wMU5v
dEludE9wMk5vdEludCkKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDAp
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzMwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDg3X2ltcGxfX3Nsb3c7CiAgICB0MSA9IHQxLmk2
NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE5MzQKICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzNQoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODdfaW1wbF9f
b3AxTm90SW50UmVhZHkpCiAgICB0MCA9IHQwLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzcKICAgIGQw
ID0gdDAuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzOAogICAgaWYgKGQwLmQoKSA8IGQxLmQoKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTg4NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDg3X2ltcGxfX2p1bXBUYXJn
ZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODdfaW1wbF9fb3AyTm90SW50KQogICAg
ZDAgPSAoZG91YmxlKXQwLmkzMigpOyAvLyBjaTJkcyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQzCiAgICBpZiAoKHQxLmk2NCgpICYgbnVtYmVy
VGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE5NDQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ4N19pbXBsX19zbG93
OwogICAgdDEgPSB0MS5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQ1CiAgICBkMSA9IHQxLmJpdHNBc0Rv
dWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE5NDYKICAgIGlmIChkMC5kKCkgPCBkMS5kKCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE4ODQKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ4N19pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fNDg3X2ltcGxfX2p1bXBUYXJnZXQpCiAgICB0MCA9ICpDQVNUPGlu
dDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MC5pMzIoKSA9PSAwKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQw
MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9fNDg3X2p1bXBJ
bXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyB0MC5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBP
cF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1w
bF9fanVtcF9fNDg3X2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0KQogICAgcGMgPSBwYy5p
KCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAg
ICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAo
KSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9v
dXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1
bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAg
cGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODdfaW1wbF9fc2xvdykKICAgIHBjID0gcGMuaSgp
ICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAg
dDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkp
OwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfamxl
c3ModDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQog
ICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbmxlc3MpCiAgICB0
MiA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgdDMgPSAo
aW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlmICh0Mi5pKCkg
Pj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBs
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180ODhfbG9hZF9fY29uc3RhbnQ7CiAg
ICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9jb21w
YXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180ODhfbG9hZF9fZG9u
ZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fNDg4X2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0
X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ4OF9s
b2FkX19kb25lKQogICAgaWYgKHQzLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzQ4OV9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAw
CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzQ4OV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180ODlfbG9hZF9fY29uc3RhbnQpCiAgICB0
MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NzYKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQzLmkoKSA8PCAzKSAr
IGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDg5X2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBu
dW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE5MjIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ4OV9pbXBs
X19vcDFOb3RJbnQ7CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjMKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ4OV9pbXBsX19vcDJOb3RJbnQ7CiAgICBpZiAodDAu
aTMyKCkgPj0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxODg5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180
ODlfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ4OV9pbXBs
X19vcDFOb3RJbnQpCiAgICBpZiAoKHQwLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjgKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ4OV9pbXBsX19zbG93OwogICAgaWYgKHQxLnU2NCgp
IDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxOTI5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODlf
aW1wbF9fb3AxTm90SW50T3AyTm90SW50OwogICAgZDEgPSAoZG91YmxlKXQxLmkzMigpOyAvLyBj
aTJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
OTMwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ4OV9pbXBsX19vcDFOb3RJbnRSZWFk
eTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTMxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ4OV9pbXBsX19vcDFOb3RJbnRPcDJOb3RJbnQpCiAg
ICBpZiAoKHQxLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fXzQ4OV9pbXBsX19zbG93OwogICAgdDEgPSB0MS5pNjQoKSArIG51bWJlclRhZy5p
NjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
OTM0CiAgICBkMSA9IHQxLmJpdHNBc0RvdWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzUKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDg5X2ltcGxfX29wMU5vdEludFJlYWR5KQog
ICAgdDAgPSB0MC5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM3CiAgICBkMCA9IHQwLmJpdHNBc0RvdWJs
ZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE5MzgKICAgIGlmIChzdGQ6OmlzbmFuKGQwLmQoKSkgfHwgc3RkOjppc25hbihkMS5k
KCkpICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE4OTAKICAgICAgICB8fCAo
ZDAuZCgpID49IGQxLmQoKSkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180ODlf
aW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ4OV9pbXBsX19v
cDJOb3RJbnQpCiAgICBkMCA9IChkb3VibGUpdDAuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDMKICAgIGlmICgodDEu
aTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTk0NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
NDg5X2ltcGxfX3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDUKICAgIGQx
ID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NgogICAgaWYgKHN0ZDo6aXNuYW4oZDAuZCgpKSB8
fCBzdGQ6OmlzbmFuKGQxLmQoKSkgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTg5MAogICAgICAgIHx8IChkMC5kKCkgPj0gZDEuZCgpKSkKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzQ4OV9pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fNDg5X2ltcGxfX2p1bXBUYXJnZXQpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX180ODlfanVtcEltcGxf
X291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19q
dW1wX180ODlfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSAr
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQx
ID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9v
Zl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwg
dDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9
IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ4OV9pbXBsX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9
IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qbmxlc3Mo
dDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAg
cGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbmxlc3Nfd2lkZTE2KQog
ICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICB0
MyA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0
Mi5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180OTBfbG9hZF9fY29uc3Rh
bnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180OTBfbG9h
ZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fNDkwX2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODEKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MCA9ICpDQVNU
PGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzQ5MF9sb2FkX19kb25lKQogICAgaWYgKHQzLmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzQ5MV9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNm
ci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzQ5MV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180OTFfbG9hZF9fY29uc3RhbnQp
CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQzLmkoKSA8
PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDkxX2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTY0
KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE5MjIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1w
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5
MV9pbXBsX19vcDFOb3RJbnQ7CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjMKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5MV9pbXBsX19vcDJOb3RJbnQ7CiAgICBp
ZiAodDAuaTMyKCkgPj0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxODg5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21w
YXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX180OTFfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1w
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5
MV9pbXBsX19vcDFOb3RJbnQpCiAgICBpZiAoKHQwLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9
PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjgKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5MV9pbXBsX19zbG93OwogICAgaWYgKHQx
LnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxOTI5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X180OTFfaW1wbF9fb3AxTm90SW50T3AyTm90SW50OwogICAgZDEgPSAoZG91YmxlKXQxLmkzMigp
OyAvLyBjaTJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxOTMwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5MV9pbXBsX19vcDFOb3RJ
bnRSZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTMxCgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5MV9pbXBsX19vcDFOb3RJbnRPcDJOb3RJ
bnQpCiAgICBpZiAoKHQxLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzMKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzQ5MV9pbXBsX19zbG93OwogICAgdDEgPSB0MS5pNjQoKSArIG51bWJl
clRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxOTM0CiAgICBkMSA9IHQxLmJpdHNBc0RvdWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzUKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDkxX2ltcGxfX29wMU5vdEludFJl
YWR5KQogICAgdDAgPSB0MC5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM3CiAgICBkMCA9IHQwLmJpdHNB
c0RvdWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE5MzgKICAgIGlmIChzdGQ6OmlzbmFuKGQwLmQoKSkgfHwgc3RkOjppc25h
bihkMS5kKCkpICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE4OTAKICAgICAg
ICB8fCAoZDAuZCgpID49IGQxLmQoKSkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X180OTFfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAog
ICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29w
Y29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5MV9p
bXBsX19vcDJOb3RJbnQpCiAgICBkMCA9IChkb3VibGUpdDAuaTMyKCk7IC8vIGNpMmRzICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDMKICAgIGlm
ICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fNDkxX2ltcGxfX3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDUK
ICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NgogICAgaWYgKHN0ZDo6aXNuYW4oZDAu
ZCgpKSB8fCBzdGQ6OmlzbmFuKGQxLmQoKSkgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTg5MAogICAgICAgIHx8IChkMC5kKCkgPj0gZDEuZCgpKSkKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzQ5MV9pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fNDkxX2ltcGxfX2p1bXBUYXJnZXQpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNU
PGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlmICh0MC5pMzIoKSA9PSAwKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjQwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9fNDkxX2p1
bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
aW1wbF9fanVtcF9fNDkxX2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0KQogICAgcGMgPSBw
Yy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0
CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3Au
dnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0
aF9vdXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChy
ZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAog
ICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180OTFfaW1wbF9fc2xvdykKICAgIHBjID0gcGMu
aSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAog
ICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZw
KCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhf
am5sZXNzKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAg
IH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bfam5sZXNzX3dp
ZGUzMikKICAgIHQyID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDMg
PSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDIuaSgpID49IGlu
dHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDkyX2xvYWRfX2NvbnN0YW50OwogICAgdDAg
PSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
aW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDkyX2xvYWRfX2RvbmU7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzQ5Ml9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkg
KyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAg
ICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDIgPSB0Mi5pKCkgLSBpbnRwdHJf
dCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAz
KSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzQ5Ml9sb2FkX19kb25lKQogICAgaWYgKHQzLmkoKSA+PSBpbnRwdHJf
dCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ5M19sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ5M19sb2FkX19kb25lOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180OTNf
bG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDEg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQzID0gdDMuaSgpIC0gaW50cHRyX3QoMHg0
MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDg5CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykpOyAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX180OTNfbG9hZF9fZG9uZSkKICAgIGlmICh0MC51NjQoKSA8IG51bWJlclRhZy51
NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTkyMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDkzX2ltcGxfX29wMU5vdElu
dDsKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyMwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fNDkzX2ltcGxfX29wMk5vdEludDsKICAgIGlmICh0MC5pMzIoKSA+PSB0
MS5pMzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjE4ODkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5M19pbXBsX19q
dW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDkzX2ltcGxfX29wMU5vdElu
dCkKICAgIGlmICgodDAuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyOAogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fNDkzX2ltcGxfX3Nsb3c7CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJU
YWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE5MjkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5M19pbXBsX19vcDFO
b3RJbnRPcDJOb3RJbnQ7CiAgICBkMSA9IChkb3VibGUpdDEuaTMyKCk7IC8vIGNpMmRzICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzAKICAgIGdv
dG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDkzX2ltcGxfX29wMU5vdEludFJlYWR5OyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE5MzEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fNDkzX2ltcGxfX29wMU5vdEludE9wMk5vdEludCkKICAgIGlmICgodDEu
aTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTkzMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
NDkzX2ltcGxfX3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzQKICAgIGQx
ID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzNQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX180OTNfaW1wbF9fb3AxTm90SW50UmVhZHkpCiAgICB0MCA9IHQw
Lmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE5MzcKICAgIGQwID0gdDAuYml0c0FzRG91YmxlKCk7IC8vIGZx
MmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkz
OAogICAgaWYgKHN0ZDo6aXNuYW4oZDAuZCgpKSB8fCBzdGQ6OmlzbmFuKGQxLmQoKSkgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTg5MAogICAgICAgIHx8IChkMC5kKCkgPj0g
ZDEuZCgpKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5M19pbXBsX19qdW1w
VGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDkzX2ltcGxfX29wMk5vdEludCkK
ICAgIGQwID0gKGRvdWJsZSl0MC5pMzIoKTsgLy8gY2kyZHMgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0MwogICAgaWYgKCh0MS5pNjQoKSAmIG51
bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxOTQ0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180OTNfaW1wbF9f
c2xvdzsKICAgIHQxID0gdDEuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NQogICAgZDEgPSB0MS5iaXRz
QXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxOTQ2CiAgICBpZiAoc3RkOjppc25hbihkMC5kKCkpIHx8IHN0ZDo6aXNu
YW4oZDEuZCgpKSAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxODkwCiAgICAg
ICAgfHwgKGQwLmQoKSA+PSBkMS5kKCkpKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFy
ZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fNDkzX2ltcGxfX2p1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4ZSk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180OTNf
aW1wbF9fanVtcFRhcmdldCkKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1NQogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX180OTNfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJn
ZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX180OTNfanVtcEltcGxf
X291dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAog
ICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29w
U3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJl
dHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0
KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAg
IHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBh
cmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzQ5M19pbXBsX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAg
IHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0
YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qbmxlc3ModDAsIHQxKTsKICAgICAgICBk
ZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJ
TkVfQVNNX09QQ09ERV9MQUJFTChvcF9qZ3JlYXRlcikKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MyA9IChpbnQ2NF90KSpDQVNUPGludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzQ5NF9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ5NF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21w
YXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180OTRfbG9hZF9fY29u
c3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDAgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NzYKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQy
LmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDk0X2xvYWRfX2RvbmUpCiAgICBpZiAo
dDMuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFy
ZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDk1X2xvYWRfX2NvbnN0
YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVh
c21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDk1X2xv
YWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzQ5NV9sb2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDc1CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDEgPSAqQ0FT
VDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDMuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X180OTVfbG9hZF9fZG9uZSkKICAgIGlmICh0MC51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyMgogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDk1X2ltcGxfX29wMU5vdEludDsKICAgIGlm
ICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fNDk1X2ltcGxfX29wMk5vdEludDsKICAgIGlmICh0MC5pMzIoKSA+IHQxLmkzMigpKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE4
OTUKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5NV9pbXBsX19qdW1wVGFyZ2V0
OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDk1X2ltcGxfX29wMU5vdEludCkKICAgIGlm
ICgodDAuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fNDk1X2ltcGxfX3Nsb3c7CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjkK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5NV9pbXBsX19vcDFOb3RJbnRPcDJO
b3RJbnQ7CiAgICBkMSA9IChkb3VibGUpdDEuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzAKICAgIGdvdG8gX29mZmxp
bmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fNDk1X2ltcGxfX29wMU5vdEludFJlYWR5OyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE5MzEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fNDk1X2ltcGxfX29wMU5vdEludE9wMk5vdEludCkKICAgIGlmICgodDEuaTY0KCkgJiBu
dW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTkzMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDk1X2ltcGxf
X3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzQKICAgIGQxID0gdDEuYml0
c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTkzNQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX180OTVfaW1wbF9fb3AxTm90SW50UmVhZHkpCiAgICB0MCA9IHQwLmk2NCgpICsg
bnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE5MzcKICAgIGQwID0gdDAuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzOAogICAgaWYg
KGQwLmQoKSA+IGQxLmQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTg5NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFy
ZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fNDk1X2ltcGxfX2p1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180OTVf
aW1wbF9fb3AyTm90SW50KQogICAgZDAgPSAoZG91YmxlKXQwLmkzMigpOyAvLyBjaTJkcyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQzCiAgICBp
ZiAoKHQxLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Nv
bXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fXzQ5NV9pbXBsX19zbG93OwogICAgdDEgPSB0MS5pNjQoKSArIG51bWJlclRhZy5pNjQo
KTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQ1
CiAgICBkMSA9IHQxLmJpdHNBc0RvdWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDYKICAgIGlmIChkMC5kKCkgPiBkMS5k
KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjE4OTYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5NV9pbXBsX19q
dW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDk1X2ltcGxfX2p1bXBUYXJn
ZXQpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQog
ICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9j
b21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19qdW1wX180OTVfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAg
ICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX180OTVfanVtcEltcGxfX291dE9m
TGluZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAg
PSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2su
c2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5
cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0
MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0g
dDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1w
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5
NV9pbXBsX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0g
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNl
dEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBl
IHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qZ3JlYXRlcih0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX2pncmVhdGVyX3dpZGUxNikKICAgIHQyID0gKGludDY0X3QpKkNB
U1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgdDMgPSAoaW50NjRfdCkqQ0FTVDxp
bnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4
NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDk2X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNDk2X2xvYWRfX2RvbmU7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ5Nl9sb2Fk
X19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkg
KyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180OTZfbG9hZF9fZG9uZSkKICAg
IGlmICh0My5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9j
b21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180OTdfbG9hZF9f
Y29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDMuaSgpIDw8
IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2Zm
bGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180
OTdfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fNDk3X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODEKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MSA9
ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzQ5N19sb2FkX19kb25lKQogICAgaWYgKHQwLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTIy
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180OTdfaW1wbF9fb3AxTm90SW50Owog
ICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTIzCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX180OTdfaW1wbF9fb3AyTm90SW50OwogICAgaWYgKHQwLmkzMigpID4gdDEuaTMy
KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTg5NQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDk3X2ltcGxfX2p1bXBU
YXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180OTdfaW1wbF9fb3AxTm90SW50KQog
ICAgaWYgKCh0MC5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTI4CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX180OTdfaW1wbF9fc2xvdzsKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51
NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTkyOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDk3X2ltcGxfX29wMU5vdElu
dE9wMk5vdEludDsKICAgIGQxID0gKGRvdWJsZSl0MS5pMzIoKTsgLy8gY2kyZHMgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzMAogICAgZ290byBf
b2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX180OTdfaW1wbF9fb3AxTm90SW50UmVhZHk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTkzMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX180OTdfaW1wbF9fb3AxTm90SW50T3AyTm90SW50KQogICAgaWYgKCh0MS5pNjQo
KSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxOTMzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180OTdf
aW1wbF9fc2xvdzsKICAgIHQxID0gdDEuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzNAogICAgZDEgPSB0
MS5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM1CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzQ5N19pbXBsX19vcDFOb3RJbnRSZWFkeSkKICAgIHQwID0gdDAuaTY0
KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTkzNwogICAgZDAgPSB0MC5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM4CiAg
ICBpZiAoZDAuZCgpID4gZDEuZCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxODk2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9j
b21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX180OTdfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzQ5N19pbXBsX19vcDJOb3RJbnQpCiAgICBkMCA9IChkb3VibGUpdDAuaTMyKCk7IC8vIGNpMmRz
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDMK
ICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NAogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fNDk3X2ltcGxfX3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFn
Lmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE5NDUKICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NgogICAgaWYgKGQwLmQoKSA+
IGQxLmQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTg5NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDk3X2lt
cGxfX2p1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180OTdfaW1wbF9fanVt
cFRhcmdldCkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NwogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX180OTdfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJn
ZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX180OTdfanVtcEltcGxf
X291dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAog
ICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29w
U3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJl
dHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0
KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAg
IHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBh
cmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzQ5N19pbXBsX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAg
IHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0
YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qZ3JlYXRlcih0MCwgdDEpOwogICAgICAg
IGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2pncmVhdGVyX3dpZGUzMikKICAgIHQyID0gKkNBU1Q8
aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDMgPSAqQ0FTVDxpbnQzMl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fNDk4X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fNDk4X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1w
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2lt
cGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ5OF9sb2FkX19jb25zdGFudCkK
ICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90
Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4OAogICAgdDIgPSB0Mi5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzQ5OF9s
b2FkX19kb25lKQogICAgaWYgKHQzLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzQ5OV9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4
CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzQ5OV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180OTlfbG9hZF9fY29uc3RhbnQpCiAgICB0
MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQx
Lmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODgKICAgIHQzID0gdDMuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MSA9ICpDQVNUPGlu
dDY0X3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9j
b21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX180OTlfbG9hZF9f
ZG9uZSkKICAgIGlmICh0MC51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyMgogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fNDk5X2ltcGxfX29wMU5vdEludDsKICAgIGlmICh0MS51NjQoKSA8
IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTkyMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDk5X2lt
cGxfX29wMk5vdEludDsKICAgIGlmICh0MC5pMzIoKSA+IHQxLmkzMigpKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE4OTUKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5OV9pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fNDk5X2ltcGxfX29wMU5vdEludCkKICAgIGlmICgodDAuaTY0KCkg
JiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTkyOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDk5X2lt
cGxfX3Nsb3c7CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjkKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5OV9pbXBsX19vcDFOb3RJbnRPcDJOb3RJbnQ7CiAgICBk
MSA9IChkb3VibGUpdDEuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzAKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFy
ZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fNDk5X2ltcGxfX29wMU5vdEludFJlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5
MzEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDk5X2lt
cGxfX29wMU5vdEludE9wMk5vdEludCkKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0
KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkz
MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDk5X2ltcGxfX3Nsb3c7CiAgICB0
MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzQKICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7
IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTkzNQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180
OTlfaW1wbF9fb3AxTm90SW50UmVhZHkpCiAgICB0MCA9IHQwLmk2NCgpICsgbnVtYmVyVGFnLmk2
NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5
MzcKICAgIGQwID0gdDAuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzOAogICAgaWYgKGQwLmQoKSA+IGQx
LmQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTg5NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDk5X2ltcGxf
X2p1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180OTlfaW1wbF9fb3AyTm90
SW50KQogICAgZDAgPSAoZG91YmxlKXQwLmkzMigpOyAvLyBjaTJkcyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQzCiAgICBpZiAoKHQxLmk2NCgp
ICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE5NDQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5OV9p
bXBsX19zbG93OwogICAgdDEgPSB0MS5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQ1CiAgICBkMSA9IHQx
LmJpdHNBc0RvdWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE5NDYKICAgIGlmIChkMC5kKCkgPiBkMS5kKCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE4OTYK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzQ5OV9pbXBsX19qdW1wVGFyZ2V0Owog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNDk5X2ltcGxfX2p1bXBUYXJnZXQpCiAgICB0MCA9
ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MC5pMzIoKSA9PSAw
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjQwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9f
NDk5X2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9faW1wbF9fanVtcF9fNDk5X2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0KQogICAg
cGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50
ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Ns
b3dfcGF0aF9vdXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJl
c3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX180OTlfaW1wbF9fc2xvdykKICAgIHBj
ID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVy
KHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93
X3BhdGhfamdyZWF0ZXIodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwg
dDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMu
aSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9q
bmdyZWF0ZXIpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozOQogICAgdDMgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkK
ICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MDBfbG9h
ZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDIuaSgp
IDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBf
b2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X181MDBfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTAwX2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0
NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0
MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgt
MTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzUwMF9sb2FkX19kb25lKQogICAgaWYgKHQzLmkoKSA+PSBpbnRwdHJfdCgweDEw
KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzUwMV9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUwMV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9j
b21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MDFfbG9hZF9f
Y29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDEgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsg
KHQzLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBP
cF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1w
bF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTAxX2xvYWRfX2RvbmUpCiAgICBp
ZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Nv
bXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fXzUwMV9pbXBsX19vcDFOb3RJbnQ7CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcu
dTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE5MjMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwMV9pbXBsX19vcDJOb3RJ
bnQ7CiAgICBpZiAodDAuaTMyKCkgPD0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTAxCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX181MDFfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50
cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8
dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Nv
bXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fXzUwMV9pbXBsX19vcDFOb3RJbnQpCiAgICBpZiAoKHQwLmk2NCgpICYgbnVtYmVyVGFn
Lmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE5MjgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwMV9pbXBsX19zbG93Owog
ICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTI5CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX181MDFfaW1wbF9fb3AxTm90SW50T3AyTm90SW50OwogICAgZDEgPSAoZG91Ymxl
KXQxLmkzMigpOyAvLyBjaTJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxOTMwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwMV9pbXBs
X19vcDFOb3RJbnRSZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTMxCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwMV9pbXBsX19vcDFOb3RJ
bnRPcDJOb3RJbnQpCiAgICBpZiAoKHQxLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzMKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwMV9pbXBsX19zbG93OwogICAgdDEgPSB0MS5pNjQo
KSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxOTM0CiAgICBkMSA9IHQxLmJpdHNBc0RvdWJsZSgpOyAvLyBmcTJkICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzUKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTAxX2ltcGxfX29w
MU5vdEludFJlYWR5KQogICAgdDAgPSB0MC5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM3CiAgICBkMCA9
IHQwLmJpdHNBc0RvdWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzgKICAgIGlmIChzdGQ6OmlzbmFuKGQwLmQoKSkgfHwg
c3RkOjppc25hbihkMS5kKCkpICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5
MDIKICAgICAgICB8fCAoZDAuZCgpIDw9IGQxLmQoKSkpCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX181MDFfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBh
cmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzUwMV9pbXBsX19vcDJOb3RJbnQpCiAgICBkMCA9IChkb3VibGUpdDAuaTMyKCk7IC8vIGNp
MmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5
NDMKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NAogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fNTAxX2ltcGxfX3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVy
VGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE5NDUKICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NgogICAgaWYgKHN0ZDo6
aXNuYW4oZDAuZCgpKSB8fCBzdGQ6OmlzbmFuKGQxLmQoKSkgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTkwMgogICAgICAgIHx8IChkMC5kKCkgPD0gZDEuZCgpKSkKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwMV9pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMg
PSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fNTAxX2ltcGxfX2p1bXBUYXJnZXQpCiAgICB0MCA9IChpbnQ2
NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQwLmkzMigpID09
IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1w
X181MDFfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9j
b21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19qdW1wX181MDFfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQpCiAg
ICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRf
c2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7CiAgICAgICAgZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwMV9pbXBsX19zbG93KQogICAg
cGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50
ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Ns
b3dfcGF0aF9qbmdyZWF0ZXIodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0
MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0g
cGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF9qbmdyZWF0ZXJfd2lkZTE2KQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3CiAgICB0MyA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDcKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX181MDJfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPihjZnIuaThw
KCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUw
OQogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX181MDJfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTAyX2xvYWRfX2NvbnN0YW50KQogICAg
dDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0
MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDgyCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykg
KyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVfX3NpemVfX2tfXzUwMl9sb2FkX19kb25lKQogICAgaWYgKHQzLmkoKSA+PSBp
bnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUwM19sb2FkX19jb25zdGFudDsKICAgIHQx
ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUwM19sb2FkX19kb25lOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X181MDNfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQog
ICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+
KHQxLmk4cCgpICsgKHQzLmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
Y29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTAzX2xvYWRf
X2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjIKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzUwM19pbXBsX19vcDFOb3RJbnQ7CiAgICBpZiAodDEudTY0KCkg
PCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE5MjMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwM19p
bXBsX19vcDJOb3RJbnQ7CiAgICBpZiAodDAuaTMyKCkgPD0gdDEuaTMyKCkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTAxCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDNfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0g
cGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAg
ICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+
KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzUwM19pbXBsX19vcDFOb3RJbnQpCiAgICBpZiAoKHQwLmk2NCgp
ICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE5MjgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwM19p
bXBsX19zbG93OwogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTI5CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDNfaW1wbF9fb3AxTm90SW50T3AyTm90SW50OwogICAg
ZDEgPSAoZG91YmxlKXQxLmkzMigpOyAvLyBjaTJkcyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTMwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBh
cmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzUwM19pbXBsX19vcDFOb3RJbnRSZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
OTMxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwM19p
bXBsX19vcDFOb3RJbnRPcDJOb3RJbnQpCiAgICBpZiAoKHQxLmk2NCgpICYgbnVtYmVyVGFnLmk2
NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5
MzMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwM19pbXBsX19zbG93OwogICAg
dDEgPSB0MS5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM0CiAgICBkMSA9IHQxLmJpdHNBc0RvdWJsZSgp
OyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE5MzUKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
NTAzX2ltcGxfX29wMU5vdEludFJlYWR5KQogICAgdDAgPSB0MC5pNjQoKSArIG51bWJlclRhZy5p
NjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
OTM3CiAgICBkMCA9IHQwLmJpdHNBc0RvdWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzgKICAgIGlmIChzdGQ6OmlzbmFu
KGQwLmQoKSkgfHwgc3RkOjppc25hbihkMS5kKCkpICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjE5MDIKICAgICAgICB8fCAoZDAuZCgpIDw9IGQxLmQoKSkpCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDNfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzUwM19pbXBsX19vcDJOb3RJbnQpCiAgICBkMCA9IChkb3VibGUpdDAu
aTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE5NDMKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDAp
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTAzX2ltcGxfX3Nsb3c7CiAgICB0MSA9IHQxLmk2
NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE5NDUKICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0Ngog
ICAgaWYgKHN0ZDo6aXNuYW4oZDAuZCgpKSB8fCBzdGQ6OmlzbmFuKGQxLmQoKSkgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTkwMgogICAgICAgIHx8IChkMC5kKCkgPD0gZDEu
ZCgpKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwM19pbXBsX19qdW1wVGFy
Z2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0g
KkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTAzX2ltcGxfX2p1bXBUYXJnZXQpCiAg
ICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlm
ICh0MC5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFy
ZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9faW1wbF9fanVtcF9fNTAzX2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0OwogICAgcGMg
PSBwYy5pKCkgKyB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9fNTAzX2p1bXBJbXBsX19vdXRPZkxpbmVK
dW1wVGFyZ2V0KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2Zy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1
cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9vdXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwog
ICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDNfaW1w
bF9fc2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJy
ZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1
bHQgPSBsbGludF9zbG93X3BhdGhfam5ncmVhdGVyKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9P
UENPREVfTEFCRUwob3Bfam5ncmVhdGVyX3dpZGUzMikKICAgIHQyID0gKkNBU1Q8aW50MzJfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDMgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjU1CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
NTA0X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAg
IGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fNTA0X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUwNF9sb2FkX19jb25zdGFudCkKICAgIHQwID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThw
KCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
OAogICAgdDIgPSB0Mi5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50NjRf
dCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBh
cmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUwNF9sb2FkX19kb25l
KQogICAgaWYgKHQzLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUwNV9s
b2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5p
KCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3Rv
IF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzUwNV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX181MDVfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNU
PGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsg
MTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAg
IHQzID0gdDMuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0
MS5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MDVfbG9hZF9fZG9uZSkKICAg
IGlmICh0MC51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fNTA1X2ltcGxfX29wMU5vdEludDsKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRh
Zy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTkyMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTA1X2ltcGxfX29wMk5v
dEludDsKICAgIGlmICh0MC5pMzIoKSA8PSB0MS5pMzIoKSkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5MDEKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzUwNV9pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
Y29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fNTA1X2ltcGxfX29wMU5vdEludCkKICAgIGlmICgodDAuaTY0KCkgJiBudW1iZXJU
YWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTkyOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTA1X2ltcGxfX3Nsb3c7
CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjkKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzUwNV9pbXBsX19vcDFOb3RJbnRPcDJOb3RJbnQ7CiAgICBkMSA9IChkb3Vi
bGUpdDEuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE5MzAKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTA1X2lt
cGxfX29wMU5vdEludFJlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzEKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTA1X2ltcGxfX29wMU5v
dEludE9wMk5vdEludCkKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDAp
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzMwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTA1X2ltcGxfX3Nsb3c7CiAgICB0MSA9IHQxLmk2
NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE5MzQKICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzNQoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDVfaW1wbF9f
b3AxTm90SW50UmVhZHkpCiAgICB0MCA9IHQwLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzcKICAgIGQw
ID0gdDAuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzOAogICAgaWYgKHN0ZDo6aXNuYW4oZDAuZCgpKSB8
fCBzdGQ6OmlzbmFuKGQxLmQoKSkgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTkwMgogICAgICAgIHx8IChkMC5kKCkgPD0gZDEuZCgpKSkKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzUwNV9pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fNTA1X2ltcGxfX29wMk5vdEludCkKICAgIGQwID0gKGRvdWJsZSl0MC5pMzIoKTsgLy8g
Y2kyZHMgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTk0MwogICAgaWYgKCh0MS5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQ0CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX181MDVfaW1wbF9fc2xvdzsKICAgIHQxID0gdDEuaTY0KCkgKyBudW1i
ZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTk0NQogICAgZDEgPSB0MS5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQ2CiAgICBpZiAoc3Rk
Ojppc25hbihkMC5kKCkpIHx8IHN0ZDo6aXNuYW4oZDEuZCgpKSAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxOTAyCiAgICAgICAgfHwgKGQwLmQoKSA8PSBkMS5kKCkpKQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTA1X2ltcGxfX2p1bXBUYXJnZXQ7CiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDVfaW1wbF9fanVtcFRhcmdldCkKICAgIHQwID0gKkNB
U1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQwLmkzMigpID09IDApICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX181MDVf
anVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19pbXBsX19qdW1wX181MDVfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9
IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihz
cC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19w
YXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4
CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwNV9pbXBsX19zbG93KQogICAgcGMgPSBw
Yy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0
CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3Au
dnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0
aF9qbmdyZWF0ZXIodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEp
OwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgp
IC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbGVz
c2VxKQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkK
ICAgIHQzID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBp
ZiAodDIuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTA2X2xvYWRfX2Nv
bnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAz
KSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxp
bmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTA2
X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzUwNl9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDc1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAgPSAq
Q0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX181MDZfbG9hZF9fZG9uZSkKICAgIGlmICh0My5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX181MDdfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX181MDdfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFy
ZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTA3X2xvYWRfX2NvbnN0
YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQxID0gKkNBU1Q8aW50
cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDc2CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0My5p
KCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUwN19sb2FkX19kb25lKQogICAgaWYgKHQw
LnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxOTIyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X181MDdfaW1wbF9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTIz
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDdfaW1wbF9fb3AyTm90SW50Owog
ICAgaWYgKHQwLmkzMigpIDw9IHQxLmkzMigpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTkwNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fNTA3X2ltcGxfX2p1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X181MDdfaW1wbF9fb3AxTm90SW50KQogICAgaWYgKCh0MC5pNjQoKSAmIG51bWJlclRhZy5pNjQo
KSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTI4
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDdfaW1wbF9fc2xvdzsKICAgIGlm
ICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fNTA3X2ltcGxfX29wMU5vdEludE9wMk5vdEludDsKICAgIGQxID0gKGRvdWJsZSl0MS5p
MzIoKTsgLy8gY2kyZHMgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTkzMAogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDdfaW1wbF9fb3Ax
Tm90SW50UmVhZHk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzMQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDdfaW1wbF9fb3AxTm90SW50T3Ay
Tm90SW50KQogICAgaWYgKCh0MS5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTMzCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX181MDdfaW1wbF9fc2xvdzsKICAgIHQxID0gdDEuaTY0KCkgKyBu
dW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTkzNAogICAgZDEgPSB0MS5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM1CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwN19pbXBsX19vcDFOb3RJ
bnRSZWFkeSkKICAgIHQwID0gdDAuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzNwogICAgZDAgPSB0MC5i
aXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxOTM4CiAgICBpZiAoZDAuZCgpIDw9IGQxLmQoKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTA4CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDdfaW1wbF9fanVtcFRhcmdldDsKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwN19pbXBsX19vcDJOb3RJbnQpCiAgICBkMCA9IChk
b3VibGUpdDAuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE5NDMKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0
KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0
NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTA3X2ltcGxfX3Nsb3c7CiAgICB0
MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDUKICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7
IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTk0NgogICAgaWYgKGQwLmQoKSA8PSBkMS5kKCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTkwOAogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fNTA3X2ltcGxfX2p1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSAr
IGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX181MDdfaW1wbF9fanVtcFRhcmdldCkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MykpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDAuaTMyKCkgPT0gMCkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo0
MDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBfXzUwN19qdW1w
SW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1w
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2lt
cGxfX2p1bXBfXzUwN19qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldCkKICAgIHBjID0gcGMu
aSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAog
ICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZw
KCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhf
b3V0X29mX2xpbmVfanVtcF90YXJnZXQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVz
dWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAg
IHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTA3X2ltcGxfX3Nsb3cpCiAgICBwYyA9IHBjLmko
KSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAg
IHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgp
KTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2ps
ZXNzZXEodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAg
fQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbGVzc2VxX3dp
ZGUxNikKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NwogICAgdDMgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAg
ICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTA4X2xvYWRf
X2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8
PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29m
ZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
NTA4X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzUwOF9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAg
PSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUx
MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX181MDhfbG9hZF9fZG9uZSkKICAgIGlmICh0My5pKCkgPj0gaW50cHRyX3QoMHg0MCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX181MDlfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MDlfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTA5X2xvYWRfX2Nv
bnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQxID0gKkNBU1Q8
aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0
My5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUwOV9sb2FkX19kb25lKQogICAgaWYg
KHQwLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTIyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21w
YXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX181MDlfaW1wbF9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2
NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
OTIzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDlfaW1wbF9fb3AyTm90SW50
OwogICAgaWYgKHQwLmkzMigpIDw9IHQxLmkzMigpKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTkwNwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fNTA5X2ltcGxfX2p1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21w
YXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX181MDlfaW1wbF9fb3AxTm90SW50KQogICAgaWYgKCh0MC5pNjQoKSAmIG51bWJlclRhZy5p
NjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
OTI4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDlfaW1wbF9fc2xvdzsKICAg
IGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fNTA5X2ltcGxfX29wMU5vdEludE9wMk5vdEludDsKICAgIGQxID0gKGRvdWJsZSl0
MS5pMzIoKTsgLy8gY2kyZHMgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTkzMAogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDlfaW1wbF9f
b3AxTm90SW50UmVhZHk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzMQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDlfaW1wbF9fb3AxTm90SW50
T3AyTm90SW50KQogICAgaWYgKCh0MS5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTMzCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDlfaW1wbF9fc2xvdzsKICAgIHQxID0gdDEuaTY0KCkg
KyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTkzNAogICAgZDEgPSB0MS5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM1CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwOV9pbXBsX19vcDFO
b3RJbnRSZWFkeSkKICAgIHQwID0gdDAuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzNwogICAgZDAgPSB0
MC5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM4CiAgICBpZiAoZDAuZCgpIDw9IGQxLmQoKSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTA4
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MDlfaW1wbF9fanVtcFRhcmdldDsK
ICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwOV9pbXBsX19vcDJOb3RJbnQpCiAgICBkMCA9
IChkb3VibGUpdDAuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDMKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcu
aTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTk0NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTA5X2ltcGxfX3Nsb3c7CiAg
ICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDUKICAgIGQxID0gdDEuYml0c0FzRG91Ymxl
KCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTk0NgogICAgaWYgKGQwLmQoKSA8PSBkMS5kKCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTkwOAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fNTA5X2ltcGxfX2p1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmko
KSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEg
PSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX181MDlfaW1wbF9fanVtcFRhcmdldCkKICAgIHQwID0gKGludDY0X3QpKkNB
U1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQwLmkzMigpID09IDApICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX181MDlf
anVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19pbXBsX19qdW1wX181MDlfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9
IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihz
cC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19w
YXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4
CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUwOV9pbXBsX19zbG93KQogICAgcGMgPSBw
Yy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0
CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3Au
dnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0
aF9qbGVzc2VxKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsK
ICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAt
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bfamxlc3Nl
cV93aWRlMzIpCiAgICB0MiA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAg
IHQzID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQyLmkoKSA+
PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUxMF9sb2FkX19jb25zdGFudDsKICAg
IHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBh
cmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUxMF9sb2FkX19kb25l
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX181MTBfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4
NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQyID0gdDIuaSgpIC0gaW50
cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkg
PDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX181MTBfbG9hZF9fZG9uZSkKICAgIGlmICh0My5pKCkgPj0gaW50
cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MTFfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MTFfbG9hZF9fZG9uZTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
NTExX2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAr
IDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAg
IHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MyA9IHQzLmkoKSAtIGludHB0cl90
KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ4OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDMuaSgpIDw8IDMp
KTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fNTExX2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBudW1iZXJU
YWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE5MjIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUxMV9pbXBsX19vcDFO
b3RJbnQ7CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjMKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzUxMV9pbXBsX19vcDJOb3RJbnQ7CiAgICBpZiAodDAuaTMyKCkg
PD0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxOTA3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MTFfaW1w
bF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAq
Q0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUxMV9pbXBsX19vcDFO
b3RJbnQpCiAgICBpZiAoKHQwLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjgKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzUxMV9pbXBsX19zbG93OwogICAgaWYgKHQxLnU2NCgpIDwgbnVt
YmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxOTI5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MTFfaW1wbF9f
b3AxTm90SW50T3AyTm90SW50OwogICAgZDEgPSAoZG91YmxlKXQxLmkzMigpOyAvLyBjaTJkcyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTMwCiAg
ICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUxMV9pbXBsX19vcDFOb3RJbnRSZWFkeTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTMxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzUxMV9pbXBsX19vcDFOb3RJbnRPcDJOb3RJbnQpCiAgICBpZiAo
KHQxLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBh
cmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzUxMV9pbXBsX19zbG93OwogICAgdDEgPSB0MS5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM0CiAg
ICBkMSA9IHQxLmJpdHNBc0RvdWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzUKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTExX2ltcGxfX29wMU5vdEludFJlYWR5KQogICAgdDAg
PSB0MC5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM3CiAgICBkMCA9IHQwLmJpdHNBc0RvdWJsZSgpOyAv
LyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjE5MzgKICAgIGlmIChkMC5kKCkgPD0gZDEuZCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5MDgKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzUxMV9pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
Y29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fNTExX2ltcGxfX29wMk5vdEludCkKICAgIGQwID0gKGRvdWJsZSl0MC5pMzIoKTsg
Ly8gY2kyZHMgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTk0MwogICAgaWYgKCh0MS5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQ0CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX181MTFfaW1wbF9fc2xvdzsKICAgIHQxID0gdDEuaTY0KCkgKyBu
dW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTk0NQogICAgZDEgPSB0MS5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQ2CiAgICBpZiAo
ZDAuZCgpIDw9IGQxLmQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxOTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X181MTFfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAog
ICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29w
Y29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUxMV9p
bXBsX19qdW1wVGFyZ2V0KQogICAgdDAgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU1CiAgICBpZiAodDAuaTMyKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo0MDMKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBfXzUxMV9qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdl
dDsKICAgIHBjID0gcGMuaSgpICsgdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBfXzUxMV9qdW1wSW1wbF9f
b3V0T2ZMaW5lSnVtcFRhcmdldCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAg
ICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BT
dGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0
dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfb3V0X29mX2xpbmVfanVtcF90YXJnZXQo
dDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAg
cGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFy
ZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fNTExX2ltcGxfX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2psZXNzZXEodDAsIHQxKTsKICAgICAgICBk
ZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJ
TkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbmxlc3NlcSkKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MyA9IChpbnQ2NF90KSpDQVNUPGludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzUxMl9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRf
dCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUxMl9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21w
YXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MTJfbG9hZF9fY29u
c3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NQogICAgdDAgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NzYKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQy
LmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTEyX2xvYWRfX2RvbmUpCiAgICBpZiAo
dDMuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFy
ZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTEzX2xvYWRfX2NvbnN0
YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVh
c21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTEzX2xv
YWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzUxM19sb2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDc1CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDEgPSAqQ0FT
VDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDMuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X181MTNfbG9hZF9fZG9uZSkKICAgIGlmICh0MC51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyMgogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTEzX2ltcGxfX29wMU5vdEludDsKICAgIGlm
ICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fNTEzX2ltcGxfX29wMk5vdEludDsKICAgIGlmICh0MC5pMzIoKSA+IHQxLmkzMigpKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5
MTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUxM19pbXBsX19qdW1wVGFyZ2V0
OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTEzX2ltcGxfX29wMU5vdEludCkKICAgIGlm
ICgodDAuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fNTEzX2ltcGxfX3Nsb3c7CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjkK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUxM19pbXBsX19vcDFOb3RJbnRPcDJO
b3RJbnQ7CiAgICBkMSA9IChkb3VibGUpdDEuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzAKICAgIGdvdG8gX29mZmxp
bmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fNTEzX2ltcGxfX29wMU5vdEludFJlYWR5OyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE5MzEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fNTEzX2ltcGxfX29wMU5vdEludE9wMk5vdEludCkKICAgIGlmICgodDEuaTY0KCkgJiBu
dW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTkzMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTEzX2ltcGxf
X3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzQKICAgIGQxID0gdDEuYml0
c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTkzNQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX181MTNfaW1wbF9fb3AxTm90SW50UmVhZHkpCiAgICB0MCA9IHQwLmk2NCgpICsg
bnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE5MzcKICAgIGQwID0gdDAuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzOAogICAgaWYg
KHN0ZDo6aXNuYW4oZDAuZCgpKSB8fCBzdGQ6OmlzbmFuKGQxLmQoKSkgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTkxNAogICAgICAgIHx8IChkMC5kKCkgPiBkMS5kKCkpKQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTEzX2ltcGxfX2p1bXBUYXJnZXQ7CiAg
ICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MTNfaW1wbF9fb3AyTm90SW50KQogICAgZDAgPSAo
ZG91YmxlKXQwLmkzMigpOyAvLyBjaTJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQzCiAgICBpZiAoKHQxLmk2NCgpICYgbnVtYmVyVGFnLmk2
NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5
NDQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUxM19pbXBsX19zbG93OwogICAg
dDEgPSB0MS5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQ1CiAgICBkMSA9IHQxLmJpdHNBc0RvdWJsZSgp
OyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE5NDYKICAgIGlmIChzdGQ6OmlzbmFuKGQwLmQoKSkgfHwgc3RkOjppc25hbihkMS5kKCkp
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5MTQKICAgICAgICB8fCAoZDAu
ZCgpID4gZDEuZCgpKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUxM19pbXBs
X19qdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTEzX2ltcGxfX2p1bXBU
YXJnZXQpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
OQogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbXBsX19qdW1wX181MTNfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7
CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX181MTNfanVtcEltcGxfX291
dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQw
LCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBj
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzUxM19pbXBsX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQw
ID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNr
LnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5U
eXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qbmxlc3NlcSh0MCwgdDEpOwogICAgICAgIGRl
Y29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX2pubGVzc2VxX3dpZGUxNikKICAgIHQyID0gKGludDY0X3Qp
KkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgdDMgPSAoaW50NjRfdCkqQ0FT
VDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDIuaSgpID49IGludHB0cl90
KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTE0X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTE0X2xvYWRfX2RvbmU7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUxNF9s
b2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MCA9
ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThw
KCkgKyAodDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MTRfbG9hZF9fZG9uZSkK
ICAgIGlmICh0My5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MTVfbG9h
ZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDMuaSgp
IDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBf
b2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X181MTVfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTE1X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODEKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0
NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0
MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgt
NTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzUxNV9sb2FkX19kb25lKQogICAgaWYgKHQwLnU2NCgpIDwgbnVtYmVyVGFnLnU2
NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
OTIyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MTVfaW1wbF9fb3AxTm90SW50
OwogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTIzCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX181MTVfaW1wbF9fb3AyTm90SW50OwogICAgaWYgKHQwLmkzMigpID4gdDEu
aTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTkxMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTE1X2ltcGxfX2p1
bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MTVfaW1wbF9fb3AxTm90SW50
KQogICAgaWYgKCh0MC5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTI4CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX181MTVfaW1wbF9fc2xvdzsKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRh
Zy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTkyOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTE1X2ltcGxfX29wMU5v
dEludE9wMk5vdEludDsKICAgIGQxID0gKGRvdWJsZSl0MS5pMzIoKTsgLy8gY2kyZHMgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzMAogICAgZ290
byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MTVfaW1wbF9fb3AxTm90SW50UmVhZHk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTkzMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX181MTVfaW1wbF9fb3AxTm90SW50T3AyTm90SW50KQogICAgaWYgKCh0MS5p
NjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxOTMzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181
MTVfaW1wbF9fc2xvdzsKICAgIHQxID0gdDEuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzNAogICAgZDEg
PSB0MS5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM1CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzUxNV9pbXBsX19vcDFOb3RJbnRSZWFkeSkKICAgIHQwID0gdDAu
aTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTkzNwogICAgZDAgPSB0MC5iaXRzQXNEb3VibGUoKTsgLy8gZnEy
ZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM4
CiAgICBpZiAoc3RkOjppc25hbihkMC5kKCkpIHx8IHN0ZDo6aXNuYW4oZDEuZCgpKSAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTE0CiAgICAgICAgfHwgKGQwLmQoKSA+IGQx
LmQoKSkpCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MTVfaW1wbF9fanVtcFRh
cmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUxNV9pbXBsX19vcDJOb3RJbnQpCiAg
ICBkMCA9IChkb3VibGUpdDAuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDMKICAgIGlmICgodDEuaTY0KCkgJiBudW1i
ZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTk0NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTE1X2ltcGxfX3Ns
b3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDUKICAgIGQxID0gdDEuYml0c0Fz
RG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTk0NgogICAgaWYgKHN0ZDo6aXNuYW4oZDAuZCgpKSB8fCBzdGQ6OmlzbmFu
KGQxLmQoKSkgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTkxNAogICAgICAg
IHx8IChkMC5kKCkgPiBkMS5kKCkpKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
NTE1X2ltcGxfX2p1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MTVfaW1w
bF9fanVtcFRhcmdldCkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NwogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX181MTVfanVtcEltcGxfX291dE9mTGluZUp1
bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX181MTVfanVt
cEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAg
IGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93
UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBf
dGFyZ2V0KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAg
IH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBj
QmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fXzUxNV9pbXBsX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBj
bG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1Bh
dGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qbmxlc3NlcSh0MCwgdDEpOwog
ICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2pubGVzc2VxX3dpZGUzMikKICAgIHQyID0g
KkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDMgPSAqQ0FTVDxpbnQzMl90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDAwMDAw
MDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fNTE2X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTE2X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBh
cmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUxNl9sb2FkX19jb25z
dGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGlu
dHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ4OAogICAgdDIgPSB0Mi5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQw
ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzUxNl9sb2FkX19kb25lKQogICAgaWYgKHQzLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzUxN19sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNm
ci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzUxN19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MTdfbG9hZF9fY29uc3RhbnQp
CiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0ODgKICAgIHQzID0gdDMuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MSA9ICpD
QVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MTdf
bG9hZF9fZG9uZSkKICAgIGlmICh0MC51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyMgogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTE3X2ltcGxfX29wMU5vdEludDsKICAgIGlmICh0MS51
NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTkyMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
NTE3X2ltcGxfX29wMk5vdEludDsKICAgIGlmICh0MC5pMzIoKSA+IHQxLmkzMigpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5MTMKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUxN19pbXBsX19qdW1wVGFyZ2V0OwogICAg
cGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTE3X2ltcGxfX29wMU5vdEludCkKICAgIGlmICgodDAu
aTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTkyOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
NTE3X2ltcGxfX3Nsb3c7CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjkKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUxN19pbXBsX19vcDFOb3RJbnRPcDJOb3RJbnQ7
CiAgICBkMSA9IChkb3VibGUpdDEuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzAKICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fNTE3X2ltcGxfX29wMU5vdEludFJlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE5MzEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
NTE3X2ltcGxfX29wMU5vdEludE9wMk5vdEludCkKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJU
YWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTkzMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTE3X2ltcGxfX3Nsb3c7
CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzQKICAgIGQxID0gdDEuYml0c0FzRG91
YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTkzNQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21w
YXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX181MTdfaW1wbF9fb3AxTm90SW50UmVhZHkpCiAgICB0MCA9IHQwLmk2NCgpICsgbnVtYmVy
VGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjE5MzcKICAgIGQwID0gdDAuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzOAogICAgaWYgKHN0ZDo6
aXNuYW4oZDAuZCgpKSB8fCBzdGQ6OmlzbmFuKGQxLmQoKSkgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTkxNAogICAgICAgIHx8IChkMC5kKCkgPiBkMS5kKCkpKQogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTE3X2ltcGxfX2p1bXBUYXJnZXQ7CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX181MTdfaW1wbF9fb3AyTm90SW50KQogICAgZDAgPSAoZG91Ymxl
KXQwLmkzMigpOyAvLyBjaTJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxOTQzCiAgICBpZiAoKHQxLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9
PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDQKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUxN19pbXBsX19zbG93OwogICAgdDEgPSB0
MS5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQ1CiAgICBkMSA9IHQxLmJpdHNBc0RvdWJsZSgpOyAvLyBm
cTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5
NDYKICAgIGlmIChzdGQ6OmlzbmFuKGQwLmQoKSkgfHwgc3RkOjppc25hbihkMS5kKCkpICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5MTQKICAgICAgICB8fCAoZDAuZCgpID4g
ZDEuZCgpKSkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUxN19pbXBsX19qdW1w
VGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTE3X2ltcGxfX2p1bXBUYXJnZXQp
CiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MC5p
MzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjQwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBP
cF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1w
bF9fanVtcF9fNTE3X2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5p
KCkgKyB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9fNTE3X2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFy
Z2V0KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRT
dGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IGxsaW50X3Nsb3dfcGF0aF9vdXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAg
IGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MTdfaW1wbF9fc2xv
dykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfam5sZXNzZXEodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVz
dWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAg
IHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9qZ3JlYXRlcmVxKQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzkKICAgIHQzID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM5CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fNTE4X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAK
ICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fNTE4X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAx
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUxOF9sb2FkX19jb25zdGFudCkKICAgIHQw
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAu
aThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ3NgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMpICsg
aW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX181MThfbG9hZF9fZG9uZSkKICAgIGlmICh0My5pKCkgPj0gaW50
cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MTlfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MTlfbG9hZF9fZG9uZTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
NTE5X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAr
IDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAg
IHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0
MS5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Nv
bXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUxOV9sb2FkX19k
b25lKQogICAgaWYgKHQwLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTIyCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX181MTlfaW1wbF9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCgpIDwg
bnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxOTIzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MTlfaW1w
bF9fb3AyTm90SW50OwogICAgaWYgKHQwLmkzMigpID49IHQxLmkzMigpKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTkxOQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTE5X2ltcGxfX2p1bXBUYXJnZXQ7CiAgICBwYyA9IHBj
LmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX181MTlfaW1wbF9fb3AxTm90SW50KQogICAgaWYgKCh0MC5pNjQoKSAm
IG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxOTI4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MTlfaW1w
bF9fc2xvdzsKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyOQogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fNTE5X2ltcGxfX29wMU5vdEludE9wMk5vdEludDsKICAgIGQx
ID0gKGRvdWJsZSl0MS5pMzIoKTsgLy8gY2kyZHMgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzMAogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X181MTlfaW1wbF9fb3AxTm90SW50UmVhZHk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkz
MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MTlfaW1w
bF9fb3AxTm90SW50T3AyTm90SW50KQogICAgaWYgKCh0MS5pNjQoKSAmIG51bWJlclRhZy5pNjQo
KSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTMz
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MTlfaW1wbF9fc2xvdzsKICAgIHQx
ID0gdDEuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzNAogICAgZDEgPSB0MS5iaXRzQXNEb3VibGUoKTsg
Ly8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxOTM1CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1w
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUx
OV9pbXBsX19vcDFOb3RJbnRSZWFkeSkKICAgIHQwID0gdDAuaTY0KCkgKyBudW1iZXJUYWcuaTY0
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkz
NwogICAgZDAgPSB0MC5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM4CiAgICBpZiAoZDAuZCgpID49IGQx
LmQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxOTIwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MTlfaW1wbF9f
anVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUxOV9pbXBsX19vcDJOb3RJ
bnQpCiAgICBkMCA9IChkb3VibGUpdDAuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDMKICAgIGlmICgodDEuaTY0KCkg
JiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTk0NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTE5X2lt
cGxfX3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDUKICAgIGQxID0gdDEu
Yml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTk0NgogICAgaWYgKGQwLmQoKSA+PSBkMS5kKCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTkyMAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTE5X2ltcGxfX2p1bXBUYXJnZXQ7CiAg
ICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MTlfaW1wbF9fanVtcFRhcmdldCkKICAgIHQwID0g
KGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDAuaTMy
KCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo0MDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxf
X2p1bXBfXzUxOV9qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgp
ICsgdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBfXzUxOV9qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdl
dCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfb3V0X29mX2xpbmVfanVtcF90YXJnZXQodDAsIHQxKTsKICAgICAgICBk
ZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTE5X2ltcGxfX3Nsb3cp
CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNr
UG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxp
bnRfc2xvd19wYXRoX2pncmVhdGVyZXEodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVz
dWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAg
IHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9qZ3JlYXRlcmVxX3dpZGUxNikKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50MTZf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgdDMgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDApKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fNTIwX2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTIwX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUyMF9sb2FkX19jb25zdGFu
dCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MCA9ICpDQVNUPGludHB0
cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgp
IDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2Fk
Q29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MjBfbG9hZF9fZG9uZSkKICAgIGlmICh0My5p
KCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MjFfbG9hZF9fY29uc3RhbnQ7
CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9j
b21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MjFfbG9hZF9f
ZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fNTIxX2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNm
ci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODEKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MSA9ICpDQVNUPGlu
dDY0X3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUy
MV9sb2FkX19kb25lKQogICAgaWYgKHQwLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTIyCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MjFfaW1wbF9fb3AxTm90SW50OwogICAgaWYgKHQx
LnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxOTIzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X181MjFfaW1wbF9fb3AyTm90SW50OwogICAgaWYgKHQwLmkzMigpID49IHQxLmkzMigpKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTkxOQog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTIxX2ltcGxfX2p1bXBUYXJnZXQ7CiAg
ICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MjFfaW1wbF9fb3AxTm90SW50KQogICAgaWYgKCh0
MC5pNjQoKSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxOTI4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X181MjFfaW1wbF9fc2xvdzsKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyOQogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTIxX2ltcGxfX29wMU5vdEludE9wMk5vdElu
dDsKICAgIGQxID0gKGRvdWJsZSl0MS5pMzIoKTsgLy8gY2kyZHMgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzMAogICAgZ290byBfb2ZmbGluZWFz
bV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX181MjFfaW1wbF9fb3AxTm90SW50UmVhZHk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTkzMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X181MjFfaW1wbF9fb3AxTm90SW50T3AyTm90SW50KQogICAgaWYgKCh0MS5pNjQoKSAmIG51bWJl
clRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxOTMzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MjFfaW1wbF9fc2xv
dzsKICAgIHQxID0gdDEuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzNAogICAgZDEgPSB0MS5iaXRzQXNE
b3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxOTM1CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Nv
bXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fXzUyMV9pbXBsX19vcDFOb3RJbnRSZWFkeSkKICAgIHQwID0gdDAuaTY0KCkgKyBudW1i
ZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTkzNwogICAgZDAgPSB0MC5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM4CiAgICBpZiAoZDAu
ZCgpID49IGQxLmQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxOTIwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181
MjFfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUyMV9pbXBs
X19vcDJOb3RJbnQpCiAgICBkMCA9IChkb3VibGUpdDAuaTMyKCk7IC8vIGNpMmRzICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDMKICAgIGlmICgo
dDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFy
ZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fNTIxX2ltcGxfX3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDUKICAg
IGQxID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NgogICAgaWYgKGQwLmQoKSA+PSBkMS5kKCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTkyMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTIxX2ltcGxfX2p1bXBU
YXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MjFfaW1wbF9fanVtcFRhcmdldCkK
ICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAg
aWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21w
YXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19pbXBsX19qdW1wX181MjFfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBw
YyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX181MjFfanVtcEltcGxfX291dE9mTGlu
ZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQog
ICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29w
Y29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUyMV9p
bXBsX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2Zy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1
cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qZ3JlYXRlcmVxKHQwLCB0MSk7CiAgICAgICAgZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9PUENPREVfTEFCRUwob3BfamdyZWF0ZXJlcV93aWRlMzIpCiAgICB0MiA9ICpDQVNUPGludDMy
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQzID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1NQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzUyMl9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4
CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzUyMl9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MjJfbG9hZF9fY29uc3RhbnQpCiAgICB0
MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQw
Lmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo0ODgKICAgIHQyID0gdDIuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGlu
dDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9j
b21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MjJfbG9hZF9f
ZG9uZSkKICAgIGlmICh0My5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181
MjNfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOAogICAg
Z290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX181MjNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTIzX2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAo
KSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4
CiAgICB0MyA9IHQzLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90
Kj4odDEuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFy
ZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTIzX2xvYWRfX2RvbmUp
CiAgICBpZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjIKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzUyM19pbXBsX19vcDFOb3RJbnQ7CiAgICBpZiAodDEudTY0KCkgPCBudW1i
ZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE5MjMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUyM19pbXBsX19v
cDJOb3RJbnQ7CiAgICBpZiAodDAuaTMyKCkgPj0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTE5CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX181MjNfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzUyM19pbXBsX19vcDFOb3RJbnQpCiAgICBpZiAoKHQwLmk2NCgpICYgbnVt
YmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjE5MjgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUyM19pbXBsX19z
bG93OwogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTI5CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX181MjNfaW1wbF9fb3AxTm90SW50T3AyTm90SW50OwogICAgZDEgPSAo
ZG91YmxlKXQxLmkzMigpOyAvLyBjaTJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxOTMwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1w
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUy
M19pbXBsX19vcDFOb3RJbnRSZWFkeTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTMxCgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUyM19pbXBsX19v
cDFOb3RJbnRPcDJOb3RJbnQpCiAgICBpZiAoKHQxLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9
PSAwKSAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzMKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUyM19pbXBsX19zbG93OwogICAgdDEgPSB0
MS5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM0CiAgICBkMSA9IHQxLmJpdHNBc0RvdWJsZSgpOyAvLyBm
cTJkICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5
MzUKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTIzX2lt
cGxfX29wMU5vdEludFJlYWR5KQogICAgdDAgPSB0MC5pNjQoKSArIG51bWJlclRhZy5pNjQoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM3CiAg
ICBkMCA9IHQwLmJpdHNBc0RvdWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzgKICAgIGlmIChkMC5kKCkgPj0gZDEuZCgp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjE5MjAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUyM19pbXBsX19qdW1w
VGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTIzX2ltcGxfX29wMk5vdEludCkK
ICAgIGQwID0gKGRvdWJsZSl0MC5pMzIoKTsgLy8gY2kyZHMgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0MwogICAgaWYgKCh0MS5pNjQoKSAmIG51
bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxOTQ0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MjNfaW1wbF9f
c2xvdzsKICAgIHQxID0gdDEuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NQogICAgZDEgPSB0MS5iaXRz
QXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxOTQ2CiAgICBpZiAoZDAuZCgpID49IGQxLmQoKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTIwCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MjNfaW1wbF9fanVtcFRhcmdldDsKICAgIHBj
ID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUyM19pbXBsX19qdW1wVGFyZ2V0KQogICAgdDAgPSAqQ0FT
VDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4YSkp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDAuaTMyKCkgPT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo0MDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBfXzUyM19q
dW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgdDAuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2ltcGxfX2p1bXBfXzUyM19qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldCkKICAgIHBjID0g
cGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNw
LnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3Bh
dGhfb3V0X29mX2xpbmVfanVtcF90YXJnZXQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgK
ICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTIzX2ltcGxfX3Nsb3cpCiAgICBwYyA9IHBj
LmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQK
ICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52
cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRo
X2pncmVhdGVyZXEodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEp
OwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgp
IC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbmdy
ZWF0ZXJlcSkKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM5CiAgICB0MyA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQog
ICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUyNF9sb2Fk
X19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkg
PDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9v
ZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzUyNF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX181MjRfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3NQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQw
ID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGludHB0cl90KC0x
MjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fNTI0X2xvYWRfX2RvbmUpCiAgICBpZiAodDMuaSgpID49IGludHB0cl90KDB4MTAp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5
OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fNTI1X2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTI1X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Nv
bXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUyNV9sb2FkX19j
b25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MSA9ICpDQVNU
PGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAo
dDMuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBs
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MjVfbG9hZF9fZG9uZSkKICAgIGlm
ICh0MC51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyMgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fNTI1X2ltcGxfX29wMU5vdEludDsKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51
NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTkyMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTI1X2ltcGxfX29wMk5vdElu
dDsKICAgIGlmICh0MC5pMzIoKSA8IHQxLmkzMigpKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5MjUKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzUyNV9pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRw
dHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29t
cGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fNTI1X2ltcGxfX29wMU5vdEludCkKICAgIGlmICgodDAuaTY0KCkgJiBudW1iZXJUYWcu
aTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTkyOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTI1X2ltcGxfX3Nsb3c7CiAg
ICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fXzUyNV9pbXBsX19vcDFOb3RJbnRPcDJOb3RJbnQ7CiAgICBkMSA9IChkb3VibGUp
dDEuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE5MzAKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTI1X2ltcGxf
X29wMU5vdEludFJlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzEKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTI1X2ltcGxfX29wMU5vdElu
dE9wMk5vdEludCkKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDApICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzMwogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTI1X2ltcGxfX3Nsb3c7CiAgICB0MSA9IHQxLmk2NCgp
ICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjE5MzQKICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzNQoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MjVfaW1wbF9fb3Ax
Tm90SW50UmVhZHkpCiAgICB0MCA9IHQwLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzcKICAgIGQwID0g
dDAuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzOAogICAgaWYgKHN0ZDo6aXNuYW4oZDAuZCgpKSB8fCBz
dGQ6OmlzbmFuKGQxLmQoKSkgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTky
NgogICAgICAgIHx8IChkMC5kKCkgPCBkMS5kKCkpKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fNTI1X2ltcGxfX2p1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X181MjVfaW1wbF9fb3AyTm90SW50KQogICAgZDAgPSAoZG91YmxlKXQwLmkzMigpOyAvLyBjaTJk
cyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTQz
CiAgICBpZiAoKHQxLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDQKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fXzUyNV9pbXBsX19zbG93OwogICAgdDEgPSB0MS5pNjQoKSArIG51bWJlclRh
Zy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxOTQ1CiAgICBkMSA9IHQxLmJpdHNBc0RvdWJsZSgpOyAvLyBmcTJkICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDYKICAgIGlmIChzdGQ6Omlz
bmFuKGQwLmQoKSkgfHwgc3RkOjppc25hbihkMS5kKCkpICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjE5MjYKICAgICAgICB8fCAoZDAuZCgpIDwgZDEuZCgpKSkKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUyNV9pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fNTI1X2ltcGxfX2p1bXBUYXJnZXQpCiAgICB0MCA9IChpbnQ2NF90
KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQwLmkzMigpID09IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX181
MjVfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21w
YXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19pbXBsX19qdW1wX181MjVfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQpCiAgICBw
YyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRl
cihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xv
d19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUyNV9pbXBsX19zbG93KQogICAgcGMg
PSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIo
c3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3df
cGF0aF9qbmdyZWF0ZXJlcSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQw
LCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBw
Yy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X2puZ3JlYXRlcmVxX3dpZGUxNikKICAgIHQyID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0NwogICAgdDMgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ3CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fNTI2X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4
cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MDkKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fNTI2X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUyNl9sb2FkX19jb25zdGFudCkKICAg
IHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4o
dDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ4MgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAodDIuaSgpIDw8IDMp
ICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX181MjZfbG9hZF9fZG9uZSkKICAgIGlmICh0My5pKCkgPj0g
aW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19s
b2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MjdfbG9hZF9fY29uc3RhbnQ7CiAgICB0
MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MjdfbG9hZF9fZG9uZTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fNTI3X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAo
KSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEK
ICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MSA9ICpDQVNUPGludDY0X3Qq
Pih0MS5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUyN19sb2Fk
X19kb25lKQogICAgaWYgKHQwLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTIyCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX181MjdfaW1wbF9fb3AxTm90SW50OwogICAgaWYgKHQxLnU2NCgp
IDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxOTIzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181Mjdf
aW1wbF9fb3AyTm90SW50OwogICAgaWYgKHQwLmkzMigpIDwgdDEuaTMyKCkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTkyNQogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTI3X2ltcGxfX2p1bXBUYXJnZXQ7CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX181MjdfaW1wbF9fb3AxTm90SW50KQogICAgaWYgKCh0MC5pNjQo
KSAmIG51bWJlclRhZy5pNjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxOTI4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181Mjdf
aW1wbF9fc2xvdzsKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyOQogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTI3X2ltcGxfX29wMU5vdEludE9wMk5vdEludDsKICAg
IGQxID0gKGRvdWJsZSl0MS5pMzIoKTsgLy8gY2kyZHMgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzMAogICAgZ290byBfb2ZmbGluZWFzbV9jb21w
YXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX181MjdfaW1wbF9fb3AxTm90SW50UmVhZHk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTkzMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181Mjdf
aW1wbF9fb3AxTm90SW50T3AyTm90SW50KQogICAgaWYgKCh0MS5pNjQoKSAmIG51bWJlclRhZy5p
NjQoKSkgPT0gMCkgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
OTMzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MjdfaW1wbF9fc2xvdzsKICAg
IHQxID0gdDEuaTY0KCkgKyBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzNAogICAgZDEgPSB0MS5iaXRzQXNEb3VibGUo
KTsgLy8gZnEyZCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxOTM1CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzUyN19pbXBsX19vcDFOb3RJbnRSZWFkeSkKICAgIHQwID0gdDAuaTY0KCkgKyBudW1iZXJUYWcu
aTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTkzNwogICAgZDAgPSB0MC5iaXRzQXNEb3VibGUoKTsgLy8gZnEyZCAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxOTM4CiAgICBpZiAoc3RkOjppc25h
bihkMC5kKCkpIHx8IHN0ZDo6aXNuYW4oZDEuZCgpKSAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxOTI2CiAgICAgICAgfHwgKGQwLmQoKSA8IGQxLmQoKSkpCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MjdfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzUyN19pbXBsX19vcDJOb3RJbnQpCiAgICBkMCA9IChkb3VibGUpdDAu
aTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjE5NDMKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09IDAp
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0NAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTI3X2ltcGxfX3Nsb3c7CiAgICB0MSA9IHQxLmk2
NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjE5NDUKICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTk0Ngog
ICAgaWYgKHN0ZDo6aXNuYW4oZDAuZCgpKSB8fCBzdGQ6OmlzbmFuKGQxLmQoKSkgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTkyNgogICAgICAgIHx8IChkMC5kKCkgPCBkMS5k
KCkpKQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTI3X2ltcGxfX2p1bXBUYXJn
ZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MjdfaW1wbF9fanVtcFRhcmdldCkKICAg
IHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYg
KHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19pbXBsX19qdW1wX181MjdfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9
IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX181MjdfanVtcEltcGxfX291dE9mTGluZUp1
bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3Vy
cmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9vZl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7CiAg
ICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAg
dDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29k
ZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUyN19pbXBs
X19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAg
eyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJl
bnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3Vs
dCA9IGxsaW50X3Nsb3dfcGF0aF9qbmdyZWF0ZXJlcSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJl
c3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX2puZ3JlYXRlcmVxX3dpZGUzMikKICAgIHQyID0gKkNBU1Q8aW50MzJf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDMgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjU1CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fNTI4X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgK
ICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fNTI4X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUyOF9sb2FkX19jb25zdGFudCkKICAgIHQw
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAu
aThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4OAogICAgdDIgPSB0Mi5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50
NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Nv
bXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUyOF9sb2FkX19k
b25lKQogICAgaWYgKHQzLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUy
OV9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBn
b3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzUyOV9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MjlfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgp
ICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgK
ICAgIHQzID0gdDMuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MSA9ICpDQVNUPGludDY0X3Qq
Pih0MS5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJl
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MjlfbG9hZF9fZG9uZSkK
ICAgIGlmICh0MC51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkyMgogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fNTI5X2ltcGxfX29wMU5vdEludDsKICAgIGlmICh0MS51NjQoKSA8IG51bWJl
clRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTkyMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTI5X2ltcGxfX29w
Mk5vdEludDsKICAgIGlmICh0MC5pMzIoKSA8IHQxLmkzMigpKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5MjUKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzUyOV9pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fNTI5X2ltcGxfX29wMU5vdEludCkKICAgIGlmICgodDAuaTY0KCkgJiBudW1i
ZXJUYWcuaTY0KCkpID09IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTkyOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTI5X2ltcGxfX3Ns
b3c7CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MjkKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzUyOV9pbXBsX19vcDFOb3RJbnRPcDJOb3RJbnQ7CiAgICBkMSA9IChk
b3VibGUpdDEuaTMyKCk7IC8vIGNpMmRzICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE5MzAKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBP
cF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTI5
X2ltcGxfX29wMU5vdEludFJlYWR5OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzEKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTI5X2ltcGxfX29w
MU5vdEludE9wMk5vdEludCkKICAgIGlmICgodDEuaTY0KCkgJiBudW1iZXJUYWcuaTY0KCkpID09
IDApICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzMwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTI5X2ltcGxfX3Nsb3c7CiAgICB0MSA9IHQx
Lmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjE5MzQKICAgIGQxID0gdDEuYml0c0FzRG91YmxlKCk7IC8vIGZx
MmQgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkz
NQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MjlfaW1w
bF9fb3AxTm90SW50UmVhZHkpCiAgICB0MCA9IHQwLmk2NCgpICsgbnVtYmVyVGFnLmk2NCgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5MzcKICAg
IGQwID0gdDAuYml0c0FzRG91YmxlKCk7IC8vIGZxMmQgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTkzOAogICAgaWYgKHN0ZDo6aXNuYW4oZDAuZCgp
KSB8fCBzdGQ6OmlzbmFuKGQxLmQoKSkgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTkyNgogICAgICAgIHx8IChkMC5kKCkgPCBkMS5kKCkpKQogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fNTI5X2ltcGxfX2p1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9j
b21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX181MjlfaW1wbF9fb3AyTm90SW50KQogICAgZDAgPSAoZG91YmxlKXQwLmkzMigpOyAv
LyBjaTJkcyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxOTQzCiAgICBpZiAoKHQxLmk2NCgpICYgbnVtYmVyVGFnLmk2NCgpKSA9PSAwKSAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDQKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fXzUyOV9pbXBsX19zbG93OwogICAgdDEgPSB0MS5pNjQoKSArIG51
bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToxOTQ1CiAgICBkMSA9IHQxLmJpdHNBc0RvdWJsZSgpOyAvLyBmcTJkICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjE5NDYKICAgIGlmIChz
dGQ6OmlzbmFuKGQwLmQoKSkgfHwgc3RkOjppc25hbihkMS5kKCkpICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjE5MjYKICAgICAgICB8fCAoZDAuZCgpIDwgZDEuZCgpKSkKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUyOV9pbXBsX19qdW1wVGFyZ2V0OwogICAg
cGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bj
b2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTI5X2ltcGxfX2p1bXBUYXJnZXQpCiAgICB0MCA9ICpD
QVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhh
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MC5pMzIoKSA9PSAwKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjQwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZUp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9fNTI5
X2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyB0MC5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFy
ZUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9faW1wbF9fanVtcF9fNTI5X2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0KQogICAgcGMg
PSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIo
c3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3df
cGF0aF9vdXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3Vs
dChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MjlfaW1wbF9fc2xvdykKICAgIHBjID0g
cGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1
NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNw
LnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3Bh
dGhfam5ncmVhdGVyZXEodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwg
dDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMu
aSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9q
ZXEpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQog
ICAgdDMgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIGlm
ICh0Mi5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVh
bGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX181MzBfbG9hZF9fY29uc3RhbnQ7CiAgICB0MCA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDIuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181
MzBfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTMwX2xvYWRf
X2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNB
U1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSAr
ICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzUzMF9sb2FkX19kb25lKQogICAgaWYgKHQwLnU2NCgpIDwgbnVtYmVyVGFnLnU2
NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MzAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MzFfaW1wbF9fc2xvdzsKICAg
IGlmICh0My5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9l
cXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX181MzFfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGlu
dDY0X3QqPihjZnIuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUwMAogICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X181MzFfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRo
SnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFu
dE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTMxX2xv
YWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQxID0g
KkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAo
KSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsaXR5
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzUzMV9sb2FkX19kb25lKQogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFn
LnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MzAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MzFfaW1wbF9fc2xvdzsK
ICAgIGlmICh0MC5pMzIoKSA9PSB0MS5pMzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5MzEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX181MzFfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFs
aXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX181MzFfaW1wbF9fanVtcFRhcmdldCkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAodDAuaTMyKCkgPT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo0MDMKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX181MzFfanVtcEltcGxf
X291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9f
anVtcF9fNTMxX2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0KQogICAgcGMgPSBwYy5pKCkg
KyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0
MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7
CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9vdXRf
b2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMg
PSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTMxX2ltcGxfX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSAr
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQx
ID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2plcSh0
MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBw
YyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2plcV93aWRlMTYpCiAgICB0
MiA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQzID0g
KGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQyLmko
KSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzUzMl9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNm
ci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUzMl9sb2Fk
X19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MzJfbG9hZF9fY29uc3Rh
bnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmko
KSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fNTMyX2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzMAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUzM19pbXBsX19zbG93OwogICAgaWYgKHQz
LmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzUzM19sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUzM19s
b2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MzNfbG9hZF9fY29u
c3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDEgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQz
LmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fNTMzX2xvYWRfX2RvbmUpCiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzMAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUzM19pbXBsX19zbG93OwogICAgaWYg
KHQwLmkzMigpID09IHQxLmkzMigpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTkzMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxp
dHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzUzM19pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlKdW1w
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUz
M19pbXBsX19qdW1wVGFyZ2V0KQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDAuaTMyKCkgPT0gMCkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo0MDMKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX181MzNfanVtcEltcGxfX291dE9m
TGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9f
NTMzX2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBj
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcK
ICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9vdXRfb2ZfbGlu
ZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0
MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5p
KCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fNTMzX2ltcGxfX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwog
ICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAg
ICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2plcSh0MCwgdDEp
OwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19v
cGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwg
MykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2plcV93aWRlMzIpCiAgICB0MiA9ICpD
QVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgy
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQzID0gKkNBU1Q8aW50MzJfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAw
KSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUzNF9sb2FkX19jb25z
dGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5l
YXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUzNF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVh
bGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX181MzRfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQyID0g
dDIuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAo
KSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5
MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX181MzRfbG9hZF9fZG9uZSkKICAgIGlmICh0MC51NjQoKSA8IG51bWJlclRhZy51NjQoKSkg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTMwCiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTM1X2ltcGxfX3Nsb3c7CiAgICBpZiAo
dDMuaSgpID49IGludHB0cl90KDB4NDAwMDAwMDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxp
dHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fNTM1X2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTM1
X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUzNV9sb2FkX19j
b25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg3CiAgICB0MSA9ICpDQVNU
PGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDMgPSB0My5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAw
KTsgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAg
IHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUzNV9sb2FkX19kb25lKQogICAgaWYg
KHQxLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFs
aXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX181MzVfaW1wbF9fc2xvdzsKICAgIGlmICh0MC5pMzIoKSA9PSB0MS5pMzIoKSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5MzEKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MzVfaW1wbF9fanVtcFRhcmdldDsKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181MzVfaW1wbF9fanVtcFRhcmdldCkKICAgIHQwID0g
KkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQwLmkzMigpID09IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9f
NTM1X2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2
b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAo
dDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1
YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2ltcGxfX2p1bXBfXzUzNV9qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldCkKICAg
IHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2lu
dGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9z
bG93X3BhdGhfb3V0X29mX2xpbmVfanVtcF90YXJnZXQodDAsIHQxKTsKICAgICAgICBkZWNvZGVS
ZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVp
bnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2Rl
ID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUzNV9pbXBsX19zbG93KQogICAg
cGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50
ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Ns
b3dfcGF0aF9qZXEodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEp
OwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgp
IC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQx
ID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEu
aThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIy
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbmVx
KQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAg
IHQzID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICBpZiAo
dDIuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxp
dHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fNTM2X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BX
aXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25z
dGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTM2
X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUzNl9sb2FkX19j
b25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MCA9ICpDQVNU
PGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4odDAuaThwKCkgKyAo
dDIuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBP
cF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1w
bF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX181MzZfbG9hZF9fZG9uZSkKICAgIGlmICh0MC51NjQoKSA8IG51bWJlclRhZy51NjQo
KSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTMw
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTM3X2ltcGxfX3Nsb3c7CiAgICBp
ZiAodDMuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1
YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JW
YXJpYWJsZV9fc2l6ZV9fa19fNTM3X2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
NTM3X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUzN19sb2Fk
X19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MSA9ICpD
QVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ3NgogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkg
KyAodDMuaSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQ3NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
aW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX181MzdfbG9hZF9fZG9uZSkKICAgIGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51
NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTMwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTM3X2ltcGxfX3Nsb3c7CiAg
ICBpZiAodDAuaTMyKCkgIT0gdDEuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTM2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9l
cXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fNTM3X2ltcGxfX2p1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4NCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0
eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fNTM3X2ltcGxfX2p1bXBUYXJnZXQpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDMpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9fNTM3X2p1bXBJbXBsX19v
dXRPZkxpbmVKdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyB0MC5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0
MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2Rl
TWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1
bXBfXzUzN19qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldCkKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfb3V0X29m
X2xpbmVfanVtcF90YXJnZXQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0
MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0g
cGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUzN19pbXBsX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9
IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9qbmVxKHQw
LCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBj
ID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bfam5lcV93aWRlMTYpCiAgICB0
MiA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQzID0g
KGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQyLmko
KSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVt
cE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19p
bXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVf
X3NpemVfX2tfXzUzOF9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNm
ci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUzOF9sb2Fk
X19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MzhfbG9hZF9fY29uc3Rh
bnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAgPSAqQ0FTVDxpbnRw
dHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0ODIKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmko
KSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9f
a19fNTM4X2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzMAogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUzOV9pbXBsX19zbG93OwogICAgaWYgKHQz
LmkoKSA+PSBpbnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzUzOV9sb2FkX19jb25zdGFudDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzUzOV9s
b2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181MzlfbG9hZF9fY29u
c3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDEgPSAqQ0FTVDxp
bnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo0ODIKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KHQxLmk4cCgpICsgKHQz
LmkoKSA8PCAzKSArIGludHB0cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
ODMKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxf
X2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fNTM5X2xvYWRfX2RvbmUpCiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzMAog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUzOV9pbXBsX19zbG93OwogICAgaWYg
KHQwLmkzMigpICE9IHQxLmkzMigpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTkzNgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxp
dHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fXzUzOV9pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlKdW1w
T3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzUz
OV9pbXBsX19qdW1wVGFyZ2V0KQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3CiAgICBpZiAodDAuaTMyKCkgPT0gMCkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo0MDMKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX181MzlfanVtcEltcGxfX291dE9m
TGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0g
KkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXAp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAg
ICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9f
NTM5X2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBj
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcK
ICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9vdXRfb2ZfbGlu
ZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0
MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5p
KCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAg
dDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0
MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
MjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fNTM5X2ltcGxfX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwog
ICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAg
ICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2puZXEodDAsIHQx
KTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0
MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5
CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdf
b3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8
IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENP
REUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qbmVxX3dpZGUzMikKICAgIHQyID0g
KkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDMgPSAqQ0FTVDxpbnQzMl90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDIuaSgpID49IGludHB0cl90KDB4NDAwMDAw
MDApKSAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxNwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTQwX2xvYWRfX2Nv
bnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAz
KSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxp
bmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTQwX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Vx
dWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzU0MF9sb2FkX19jb25zdGFudCkKICAgIHQwID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDg3CiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4odDAuaThwKCkgKyAxNDQp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OAogICAgdDIg
PSB0Mi5pKCkgLSBpbnRwdHJfdCgweDQwMDAwMDAwKTsgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODkKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4
cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDkwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBs
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3Np
emVfX2tfXzU0MF9sb2FkX19kb25lKQogICAgaWYgKHQwLnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgp
KSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MzAK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGludE9wV2l0aEp1bXBf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181NDFfaW1wbF9fc2xvdzsKICAgIGlm
ICh0My5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9lcXVh
bGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZh
cmlhYmxlX19zaXplX19rX181NDFfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUxOAogICAgZ290byBfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZUludDMyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181
NDFfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVJbnQzMl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTQxX2xvYWRf
X2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQxID0gKkNB
U1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MyA9IHQzLmkoKSAtIGludHB0cl90KDB4NDAwMDAw
MDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQog
ICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVJbnQz
Ml9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTQxX2xvYWRfX2RvbmUpCiAgICBp
ZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUzMAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1
YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fXzU0MV9pbXBsX19zbG93OwogICAgaWYgKHQwLmkzMigpICE9IHQxLmkzMigpKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTkzNgog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzU0MV9pbXBsX19qdW1wVGFyZ2V0Owog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGUpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fZXF1YWxpdHlKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzU0MV9pbXBsX19qdW1wVGFyZ2V0KQogICAgdDAg
PSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICBpZiAodDAuaTMyKCkgPT0g
MCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTo0MDMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2VxdWFsaXR5SnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1w
X181NDFfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9l
cXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9faW1wbF9fanVtcF9fNTQxX2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0KQog
ICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1Bv
aW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50
X3Nsb3dfcGF0aF9vdXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAgIGRlY29k
ZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9lcXVhbGl0eUp1bXBPcF9fbGxpbnRPcFdpdGhK
dW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTQxX2ltcGxfX3Nsb3cpCiAg
ICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRf
c2xvd19wYXRoX2puZXEodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwg
dDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMu
aSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9q
YmVsb3cpCiAgICB0MiA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
OQogICAgdDMgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAg
IGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9j
b21wYXJlVW5zaWduZWRKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU0
Ml9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBn
b3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fNTQyX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25l
ZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTQyX2xvYWRfX2NvbnN0
YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQwID0gKkNBU1Q8aW50
cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDc2CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5p
KCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
aW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTQyX2xvYWRfX2RvbmUpCiAg
ICBpZiAodDMuaSgpID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181
NDNfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAo
dDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwMAogICAg
Z290byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzU0M19sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjUwMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWdu
ZWRKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU0M19sb2FkX19jb25z
dGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MSA9ICpDQVNUPGlu
dHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3NgogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4odDEuaThwKCkgKyAodDMu
aSgpIDw8IDMpICsgaW50cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3
NwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU0M19sb2FkX19kb25lKQog
ICAgaWYgKHQwLnUzMigpIDwgdDEudTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk0MQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX181NDNfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsg
aW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBj
LmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENB
U1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgp
ICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fNTQzX2ltcGxfX2p1bXBUYXJnZXQpCiAgICB0MCA9IChpbnQ2NF90
KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDMpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQwLmkzMigpID09IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206NDAzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRKdW1wT3Bf
X2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxf
X2p1bXBfXzU0M19qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgp
ICsgdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9fNTQzX2p1bXBJbXBsX19vdXRPZkxpbmVK
dW1wVGFyZ2V0KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2Zy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1
cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9vdXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwog
ICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2piZWxvd193aWRlMTYpCiAgICB0MiA9IChp
bnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQzID0gKGludDY0
X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQyLmkoKSA+PSBp
bnRwdHJfdCgweDQwKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MDgKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
aW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTQ0X2xvYWRfX2NvbnN0YW50
OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181
NDRfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTAKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX181NDRfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4MQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgp
ICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODIK
ICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGludHB0
cl90KC01MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODMKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX181NDRfbG9hZF9fZG9uZSkKICAgIGlmICh0My5pKCkgPj0g
aW50cHRyX3QoMHg0MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU0NV9sb2FkX19jb25zdGFu
dDsKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNt
X2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
NTQ1X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTQ1X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAo
KSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgy
CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRw
dHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRPcFdp
dGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTQ1X2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTMyKCkg
PCB0MS51MzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxOTQxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRK
dW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
XzU0NV9pbXBsX19qdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVk
SnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X181NDVfaW1wbF9fanVtcFRhcmdldCkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0NwogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NDAzCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBfXzU0NV9qdW1w
SW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNp
Z25lZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9faW1wbF9fanVtcF9fNTQ1X2p1bXBJbXBsX19vdXRPZkxpbmVKdW1wVGFyZ2V0KQogICAg
cGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50
ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Ns
b3dfcGF0aF9vdXRfb2ZfbGluZV9qdW1wX3RhcmdldCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJl
c3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX2piZWxvd193aWRlMzIpCiAgICB0MiA9ICpDQVNUPGludDMyX3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQzID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1NQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6
ZV9fa19fNTQ2X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4
cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1
MTgKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0
aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3Rh
bnRPclZhcmlhYmxlX19zaXplX19rX181NDZfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFy
ZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181NDZfbG9h
ZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQyID0gdDIuaSgpIC0gaW50cHRyX3QoMHg0MDAw
MDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5
CiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFy
aWFibGVfX3NpemVfX2tfXzU0Nl9sb2FkX19kb25lKQogICAgaWYgKHQzLmkoKSA+PSBpbnRwdHJf
dCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9f
bGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTQ3X2xvYWRfX2NvbnN0YW50OwogICAg
dDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFy
ZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181NDdfbG9h
ZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0aEp1
bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRP
clZhcmlhYmxlX19zaXplX19rX181NDdfbG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ4NwogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQz
ID0gdDMuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5p
OHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWdu
ZWRKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU0N19sb2FkX19kb25l
KQogICAgaWYgKHQwLnUzMigpIDwgdDEudTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk0MQogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fY29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX181NDdfaW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fNTQ3X2ltcGxfX2p1bXBUYXJnZXQpCiAgICB0MCA9ICpDQVNU
PGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIGlmICh0MC5pMzIoKSA9PSAwKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjQwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1w
X181NDdfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQw
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9j
b21wYXJlVW5zaWduZWRKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBfXzU0N19qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRh
cmdldCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50
U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQg
PSBsbGludF9zbG93X3BhdGhfb3V0X29mX2xpbmVfanVtcF90YXJnZXQodDAsIHQxKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qYmVsb3dlcSkKICAgIHQyID0gKGludDY0X3QpKkNB
U1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MyA9IChpbnQ2NF90KSpDQVNUPGlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgaWYgKHQyLmkoKSA+PSBpbnRwdHJfdCgweDEw
KSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRP
cFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTQ4X2xvYWRfX2NvbnN0YW50OwogICAgdDAgPSAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZVVuc2ln
bmVkSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181NDhfbG9hZF9fZG9u
ZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX181NDhfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ3NQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTQ0KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KHQwLmk4cCgpICsgKHQyLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxl
X19zaXplX19rX181NDhfbG9hZF9fZG9uZSkKICAgIGlmICh0My5pKCkgPj0gaW50cHRyX3QoMHgx
MCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDk5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU0OV9sb2FkX19jb25zdGFudDsKICAgIHQxID0g
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTAwCiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNp
Z25lZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTQ5X2xvYWRfX2Rv
bmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJp
YWJsZV9fc2l6ZV9fa19fNTQ5X2xvYWRfX2NvbnN0YW50KQogICAgdDEgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NzUKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDE0NCk7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAgICB0MSA9ICpD
QVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgtMTI4KSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJs
ZV9fc2l6ZV9fa19fNTQ5X2xvYWRfX2RvbmUpCiAgICBpZiAodDAudTMyKCkgPD0gdDEudTMyKCkp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
OTQ2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRKdW1wT3BfX2xsaW50
T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzU0OV9pbXBsX19q
dW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDQpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGlu
dE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181NDlfaW1wbF9f
anVtcFRhcmdldCkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM5CiAgICBpZiAodDAuaTMyKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo0MDMKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fanVtcF9fNTQ5X2p1bXBJbXBsX19vdXRPZkxp
bmVKdW1wVGFyZ2V0OwogICAgcGMgPSBwYy5pKCkgKyB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZG
TElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkSnVtcE9wX19s
bGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19q
dW1wX181NDlfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQpCiAgICBwYyA9IHBjLmkoKSAr
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQx
ID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsK
ICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX291dF9v
Zl9saW5lX2p1bXBfdGFyZ2V0KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwg
dDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9
IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwo
b3BfamJlbG93ZXFfd2lkZTE2KQogICAgdDIgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ3CiAgICB0MyA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDcKICAgIGlmICh0Mi5pKCkgPj0gaW50cHRyX3QoMHg0MCkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTA4CiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzU1MF9sb2FkX19jb25zdGFudDsKICAgIHQwID0gKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTA5CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxp
bnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9h
ZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTUwX2xvYWRfX2RvbmU7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19f
NTUwX2xvYWRfX2NvbnN0YW50KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAr
IDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODEKICAg
IHQwID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgyCiAgICB0MCA9ICpDQVNUPGludDY0X3QqPih0
MC5pOHAoKSArICh0Mi5pKCkgPDwgMykgKyBpbnRwdHJfdCgtNTEyKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NDgzCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Nv
bXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTUw
X2xvYWRfX2RvbmUpCiAgICBpZiAodDMuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlh
YmxlX19zaXplX19rX181NTFfbG9hZF9fY29uc3RhbnQ7CiAgICB0MSA9ICpDQVNUPGludDY0X3Qq
PihjZnIuaThwKCkgKyAodDMuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU1MV9sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9jb21wYXJlVW5zaWduZWRKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tf
XzU1MV9sb2FkX19jb25zdGFudCkKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkg
KyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAg
ICB0MSA9ICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4o
dDEuaThwKCkgKyAodDMuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9j
b21wYXJlVW5zaWduZWRKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU1
MV9sb2FkX19kb25lKQogICAgaWYgKHQwLnUzMigpIDw9IHQxLnUzMigpKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk0NgogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xs
aW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181NTFfaW1wbF9fanVtcFRhcmdldDsKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTUxX2ltcGxfX2p1bXBUYXJnZXQpCiAg
ICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIGlm
ICh0MC5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQwMwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFy
ZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19pbXBsX19qdW1wX181NTFfanVtcEltcGxfX291dE9mTGluZUp1bXBUYXJnZXQ7
CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FT
VDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1bXBfXzU1MV9qdW1w
SW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldCkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAg
Y2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfb3V0X29mX2xpbmVfanVtcF90
YXJnZXQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAg
fQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9qYmVsb3dlcV93
aWRlMzIpCiAgICB0MiA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQz
ID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgaWYgKHQyLmkoKSA+PSBp
bnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1
bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
aW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTUyX2xvYWRfX2NvbnN0YW50
OwogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQyLmkoKSA8PCAzKSk7ICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181
NTJfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX181NTJfbG9hZF9fY29uc3RhbnQpCiAgICB0MCA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgp
ICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgK
ICAgIHQyID0gdDIuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAgICB0MCA9ICpDQVNUPGludDY0X3Qq
Pih0MC5pOHAoKSArICh0Mi5pKCkgPDwgMykpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJl
VW5zaWduZWRKdW1wT3BfX2xsaW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU1Ml9sb2Fk
X19kb25lKQogICAgaWYgKHQzLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9v
ZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1bXBPcF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9faW1wbF9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fNTUzX2xvYWRfX2NvbnN0YW50OwogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2Zy
Lmk4cCgpICsgKHQzLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo1MTgKICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9w
V2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX181NTNfbG9hZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1MTkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29t
cGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19pbXBsX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181NTNf
bG9hZF9fY29uc3RhbnQpCiAgICB0MSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDEg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQzID0gdDMuaSgpIC0gaW50cHRyX3QoMHg0
MDAwMDAwMCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDg5CiAgICB0MSA9ICpDQVNUPGludDY0X3QqPih0MS5pOHAoKSArICh0My5pKCkgPDwgMykpOyAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRKdW1wT3BfX2xsaW50T3BXaXRoSnVt
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2xvYWRDb25zdGFudE9y
VmFyaWFibGVfX3NpemVfX2tfXzU1M19sb2FkX19kb25lKQogICAgaWYgKHQwLnUzMigpIDw9IHQx
LnUzMigpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTk0NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tcGFyZVVuc2lnbmVkSnVtcE9w
X19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181NTNf
aW1wbF9fanVtcFRhcmdldDsKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbXBhcmVVbnNpZ25lZEp1bXBP
cF9fbGxpbnRPcFdpdGhKdW1wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTUz
X2ltcGxfX2p1bXBUYXJnZXQpCiAgICB0MCA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NTUKICAgIGlmICh0MC5pMzIoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjQwMwogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fY29tcGFyZVVuc2lnbmVkSnVtcE9wX19sbGludE9wV2l0aEp1bXBfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19pbXBsX19qdW1wX181NTNfanVtcEltcGxfX291dE9mTGlu
ZUp1bXBUYXJnZXQ7CiAgICBwYyA9IHBjLmkoKSArIHQwLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21wYXJlVW5zaWduZWRKdW1wT3BfX2xs
aW50T3BXaXRoSnVtcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2ltcGxfX2p1
bXBfXzU1M19qdW1wSW1wbF9fb3V0T2ZMaW5lSnVtcFRhcmdldCkKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfb3V0X29m
X2xpbmVfanVtcF90YXJnZXQodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0
MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0g
cGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAK
ICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2Rl
Kj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChv
cF9pbmMpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
OQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5ODIKICAgIHQyID0gKkNBU1Q8dWludDE2
X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNTApOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9wcmVPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFk
YXRhX181NTNfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+
KG1ldGFkYXRhVGFibGUuaThwKCkgKyAyMjApOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3ByZU9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzU1M19tZXRhZGF0YV9fc2V0
VXBPZmZzZXQpCiAgICB0MyA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzUKICAg
IHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAqIGludDMyX3QoMHgyKSk7ICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigp
ICsgdDMuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
Mzk4CiAgICB0MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIGlmICh0MS51NjQoKSA8IG51
bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTg2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wcmVPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fNTUzX2ZuX19zbG93OwogICAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTk1MAogICAgICAgIGludDMyX3QgcmVzdWx0OwogICAgICAgIGJvb2wgc3VjY2VzcyA9IFdU
Rjo6QXJpdGhtZXRpY09wZXJhdGlvbnM8aW50MzJfdCwgaW50MzJfdCwgaW50MzJfdD46OmFkZCh0
MS5pMzIoKSwgaW50MzJfdCgweDEpLCByZXN1bHQpOwogICAgICAgIHQxID0gKHVpbnQzMl90KShy
ZXN1bHQpOwogICAgICAgIGlmICghc3VjY2VzcykKICAgICAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9wcmVPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNTUzX2ZuX19zbG93OwogICAg
fQogICAgdDEgPSB0MS5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5ODgKICAgICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKSA9IHQxLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTg5CiAgICAqQ0FTVDxpbnQxNl90Kj4odDIuaThwKCkpID0gKkNBU1Q8aW50MTZf
dCo+KHQyLmk4cCgpKSB8IGludDE2X3QoMHg4MCk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
OTc4CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wcmVPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fNTUzX2ZuX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQw
ID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNr
LnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5U
eXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9pbmModDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgK
ICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2luY193aWRlMTYpCiAg
ICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgIHQx
ID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgyCiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4obWV0
YWRhdGFUYWJsZS5pOHAoKSArIDUwKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
OTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fcHJlT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fNTU0
X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0
YVRhYmxlLmk4cCgpICsgMjIwKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wcmVPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX181NTRfbWV0YWRhdGFfX3NldFVwT2Zmc2V0
KQogICAgdDMgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDMgPSAo
dWludDMyX3QpKHQzLmkzMigpICogaW50MzJfdCgweDIpKTsgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKyB0My5p
MzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAg
IHQyID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgaWYgKHQxLnU2NCgpIDwgbnVtYmVyVGFn
LnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo5ODYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3ByZU9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX181NTRfZm5fX3Nsb3c7CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxOTUw
CiAgICAgICAgaW50MzJfdCByZXN1bHQ7CiAgICAgICAgYm9vbCBzdWNjZXNzID0gV1RGOjpBcml0
aG1ldGljT3BlcmF0aW9uczxpbnQzMl90LCBpbnQzMl90LCBpbnQzMl90Pjo6YWRkKHQxLmkzMigp
LCBpbnQzMl90KDB4MSksIHJlc3VsdCk7CiAgICAgICAgdDEgPSAodWludDMyX3QpKHJlc3VsdCk7
CiAgICAgICAgaWYgKCFzdWNjZXNzKQogICAgICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3ByZU9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX181NTRfZm5fX3Nsb3c7CiAgICB9CiAgICB0
MSA9IHQxLmk2NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4OAogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MC5pKCkgPDwgMykpID0gdDEuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo5ODkKICAgICpDQVNUPGludDE2X3QqPih0Mi5pOHAoKSkgPSAqQ0FTVDxpbnQxNl90Kj4odDIu
aThwKCkpIHwgaW50MTZfdCgweDgwKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5NzgKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX3ByZU9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX181NTRf
Zm5fX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3Vy
cmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gc2xvd19wYXRoX2luYyh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQs
IHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMg
PSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfaW5jX3dpZGUzMikKICAgIHQwID0g
KkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo5ODIKICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgp
ICsgNTApOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkz
MigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wcmVPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX181NTVfbWV0YWRhdGFfX3NldFVw
T2Zmc2V0OwogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAy
MjApOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX3ByZU9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fbWV0YWRhdGFfXzU1NV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MyA9ICpDQVNU
PHVpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4Nikp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMy
KCkgKiBpbnQzMl90KDB4MikpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQzLmkzMigpKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBt
ZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206Mzk5CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJUYWcudTY0KCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4NgogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fcHJlT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzU1NV9m
bl9fc2xvdzsKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5NTAKICAgICAgICBpbnQzMl90
IHJlc3VsdDsKICAgICAgICBib29sIHN1Y2Nlc3MgPSBXVEY6OkFyaXRobWV0aWNPcGVyYXRpb25z
PGludDMyX3QsIGludDMyX3QsIGludDMyX3Q+OjphZGQodDEuaTMyKCksIGludDMyX3QoMHgxKSwg
cmVzdWx0KTsKICAgICAgICB0MSA9ICh1aW50MzJfdCkocmVzdWx0KTsKICAgICAgICBpZiAoIXN1
Y2Nlc3MpCiAgICAgICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHJlT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fXzU1NV9mbl9fc2xvdzsKICAgIH0KICAgIHQxID0gdDEuaTY0KCkgfCBu
dW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206OTg4CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSkgPSB0MS5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4OQogICAgKkNBU1Q8
aW50MTZfdCo+KHQyLmk4cCgpKSA9ICpDQVNUPGludDE2X3QqPih0Mi5pOHAoKSkgfCBpbnQxNl90
KDB4ODApOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3OAogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
cHJlT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzU1NV9mbl9fc2xvdykKICAgIHBj
ID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVy
KHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBzbG93X3BhdGhf
aW5jKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0K
ICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFz
ZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bj
b2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVf
QVNNX09QQ09ERV9MQUJFTChvcF9kZWMpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+
KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozOQogICAgdDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5ODIKICAg
IHQyID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgNTIpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9wcmVPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX21ldGFkYXRhX181NTZfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDIg
PSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAyMjQpOyAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX3ByZU9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFf
XzU1Nl9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MyA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzUKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAqIGludDMyX3QoMHgy
KSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDIgPSAo
dWludDMyX3QpKHQyLmkzMigpICsgdDMuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFibGUuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAg
IGlmICh0MS51NjQoKSA8IG51bWJlclRhZy51NjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTg2CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9w
cmVPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fNTU2X2ZuX19zbG93OwogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTk1MwogICAgICAgIGludDMyX3QgcmVzdWx0OwogICAgICAg
IGJvb2wgc3VjY2VzcyA9IFdURjo6QXJpdGhtZXRpY09wZXJhdGlvbnM8aW50MzJfdCwgaW50MzJf
dCwgaW50MzJfdD46OnN1Yih0MS5pMzIoKSwgaW50MzJfdCgweDEpLCByZXN1bHQpOwogICAgICAg
IHQxID0gKHVpbnQzMl90KShyZXN1bHQpOwogICAgICAgIGlmICghc3VjY2VzcykKICAgICAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9wcmVPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
NTU2X2ZuX19zbG93OwogICAgfQogICAgdDEgPSB0MS5pNjQoKSB8IG51bWJlclRhZy5pNjQoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5ODgKICAg
ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKSA9IHQxLmk2NCgpOyAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTg5CiAgICAqQ0FTVDxpbnQxNl90Kj4odDIuaThw
KCkpID0gKkNBU1Q8aW50MTZfdCo+KHQyLmk4cCgpKSB8IGludDE2X3QoMHg4MCk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206OTc4CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Myk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9wcmVPcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fNTU2X2ZuX19zbG93KQogICAgcGMgPSBwYy5pKCkgKyBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBj
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcK
ICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IHNsb3dfcGF0aF9kZWModDAsIHQxKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4Myk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX2RlY193aWRlMTYpCiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDcKICAgIHQxID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkg
PDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTgyCiAgICB0MiA9ICpD
QVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDUyKTsgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fcHJlT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19tZXRhZGF0YV9fNTU3X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8
dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMjI0KTsgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9w
cmVPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX181NTdfbWV0
YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDMgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0MwogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICogaW50MzJfdCgweDIpKTsgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9ICh1aW50MzJf
dCkodDIuaTMyKCkgKyB0My5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTgKICAgIHQyID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgaWYgKHQx
LnU2NCgpIDwgbnVtYmVyVGFnLnU2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5ODYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX3ByZU9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX181NTdfZm5fX3Nsb3c7CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxOTUzCiAgICAgICAgaW50MzJfdCByZXN1bHQ7CiAgICAgICAgYm9vbCBz
dWNjZXNzID0gV1RGOjpBcml0aG1ldGljT3BlcmF0aW9uczxpbnQzMl90LCBpbnQzMl90LCBpbnQz
Ml90Pjo6c3ViKHQxLmkzMigpLCBpbnQzMl90KDB4MSksIHJlc3VsdCk7CiAgICAgICAgdDEgPSAo
dWludDMyX3QpKHJlc3VsdCk7CiAgICAgICAgaWYgKCFzdWNjZXNzKQogICAgICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX3ByZU9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX181NTdfZm5f
X3Nsb3c7CiAgICB9CiAgICB0MSA9IHQxLmk2NCgpIHwgbnVtYmVyVGFnLmk2NCgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk4OAogICAgKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpID0gdDEuaTY0KCk7ICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo5ODkKICAgICpDQVNUPGludDE2X3QqPih0Mi5pOHAoKSkgPSAq
Q0FTVDxpbnQxNl90Kj4odDIuaThwKCkpIHwgaW50MTZfdCgweDgwKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo5NzgKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAq
Q0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAg
IG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3ByZU9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX181NTdfZm5fX3Nsb3cpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAg
IGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93
UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gc2xvd19wYXRoX2RlYyh0MCwgdDEpOwogICAgICAgIGRl
Y29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZGVj
X3dpZGUzMikKICAgIHQwID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAg
dDEgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo5ODIKICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPiht
ZXRhZGF0YVRhYmxlLmk4cCgpICsgNTIpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9wcmVPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX181
NThfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFk
YXRhVGFibGUuaThwKCkgKyAyMjQpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX3ByZU9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzU1OF9tZXRhZGF0YV9fc2V0VXBPZmZz
ZXQpCiAgICB0MyA9ICpDQVNUPHVpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0MyA9
ICh1aW50MzJfdCkodDMuaTMyKCkgKiBpbnQzMl90KDB4MikpOyAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQz
LmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAog
ICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICBpZiAodDEudTY0KCkgPCBudW1iZXJU
YWcudTY0KCkpICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjk4NgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHJlT3BfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fXzU1OF9mbl9fc2xvdzsKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5
NTMKICAgICAgICBpbnQzMl90IHJlc3VsdDsKICAgICAgICBib29sIHN1Y2Nlc3MgPSBXVEY6OkFy
aXRobWV0aWNPcGVyYXRpb25zPGludDMyX3QsIGludDMyX3QsIGludDMyX3Q+OjpzdWIodDEuaTMy
KCksIGludDMyX3QoMHgxKSwgcmVzdWx0KTsKICAgICAgICB0MSA9ICh1aW50MzJfdCkocmVzdWx0
KTsKICAgICAgICBpZiAoIXN1Y2Nlc3MpCiAgICAgICAgICAgIGdvdG8gX29mZmxpbmVhc21fcHJl
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzU1OF9mbl9fc2xvdzsKICAgIH0KICAg
IHQxID0gdDEuaTY0KCkgfCBudW1iZXJUYWcuaTY0KCk7ICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206OTg4CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSkgPSB0MS5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjk4OQogICAgKkNBU1Q8aW50MTZfdCo+KHQyLmk4cCgpKSA9ICpDQVNUPGludDE2X3QqPih0
Mi5pOHAoKSkgfCBpbnQxNl90KDB4ODApOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjk3OAog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fcHJlT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fXzU1
OF9mbl9fc2xvdykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNm
ci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUK
ICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRD
dXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSBy
ZXN1bHQgPSBzbG93X3BhdGhfZGVjKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBw
YyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgw
eGEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
KTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4o
Jmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9P
UENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9sb29wX2hpbnQpCiAgICB0MCA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxMjcyCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjcz
CiAgICAgICAgaW50MzJfdCB0ZW1wID0gKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMjAwKSAr
IGludDMyX3QoMHgxKTsKICAgICAgICAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAyMDApID0g
dGVtcDsKICAgICAgICBpZiAodGVtcCA8IDApCiAgICAgICAgICAgIGdvdG8gIF9vZmZsaW5lYXNt
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2NoZWNrU3dpdGNoVG9KSVRGb3JMb29wX181NThf
Y2hlY2tTd2l0Y2hUb0pJVF9fY29udGludWU7CiAgICB9CiAgICAqQ0FTVDxpbnQzMl90Kj4oY2Zy
Lmk4cCgpICsgMzIpID0gcGMuaTMyKCk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjI3CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0MDYKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDA3CiAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3Vy
cmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVz
dWx0ID0gbGxpbnRfbG9vcF9vc3IodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0
LCB0MCwgdDEpOwogICAgfQogICAgaWYgKHQwLmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MDkKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2NoZWNrU3dpdGNo
VG9KSVRGb3JMb29wX19jaGVja1N3aXRjaFRvSklUX19hY3Rpb25fX3JlY292ZXI7CiAgICBzcCA9
IHQxLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjQxMAogICAgb3Bjb2RlID0gdDAub3Bjb2RlKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
MTEKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19jaGVja1N3aXRjaFRvSklURm9yTG9v
cF9fY2hlY2tTd2l0Y2hUb0pJVF9fYWN0aW9uX19yZWNvdmVyKQogICAgcGMgPSAqQ0FTVDx1aW50
MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19jaGVja1N3aXRjaFRvSklURm9yTG9vcF9fNTU4X2NoZWNr
U3dpdGNoVG9KSVRfX2NvbnRpbnVlKQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9sb29wX2hpbnRfd2lkZTE2KQogICAgdDAg
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTI3MgogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI3
MwogICAgICAgIGludDMyX3QgdGVtcCA9ICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSArIDIwMCkg
KyBpbnQzMl90KDB4MSk7CiAgICAgICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMjAwKSA9
IHRlbXA7CiAgICAgICAgaWYgKHRlbXAgPCAwKQogICAgICAgICAgICBnb3RvICBfb2ZmbGluZWFz
bV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19jaGVja1N3aXRjaFRvSklURm9yTG9vcF9fNTU5
X2NoZWNrU3dpdGNoVG9KSVRfX2NvbnRpbnVlOwogICAgfQogICAgKkNBU1Q8aW50MzJfdCo+KGNm
ci5pOHAoKSArIDMyKSA9IHBjLmkzMigpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNwogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2Zy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDA2CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQwNwog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1
cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IGxsaW50X2xvb3Bfb3NyKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3Vs
dCwgdDAsIHQxKTsKICAgIH0KICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDA5CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19jaGVja1N3aXRj
aFRvSklURm9yTG9vcF9fY2hlY2tTd2l0Y2hUb0pJVF9fNTU4X2FjdGlvbl9fcmVjb3ZlcjsKICAg
IHNwID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEwCiAgICBvcGNvZGUgPSB0MC5vcGNvZGUoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQxMQogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2NoZWNrU3dpdGNoVG9KSVRG
b3JMb29wX19jaGVja1N3aXRjaFRvSklUX181NThfYWN0aW9uX19yZWNvdmVyKQogICAgcGMgPSAq
Q0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19jaGVja1N3aXRjaFRvSklURm9yTG9vcF9f
NTU5X2NoZWNrU3dpdGNoVG9KSVRfX2NvbnRpbnVlKQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweDIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9sb29wX2hpbnRfd2lkZTMy
KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI3MgogICAgeyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTI3MwogICAgICAgIGludDMyX3QgdGVtcCA9ICpDQVNUPGludDMyX3QqPih0MC5pOHAo
KSArIDIwMCkgKyBpbnQzMl90KDB4MSk7CiAgICAgICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgp
ICsgMjAwKSA9IHRlbXA7CiAgICAgICAgaWYgKHRlbXAgPCAwKQogICAgICAgICAgICBnb3RvICBf
b2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19jaGVja1N3aXRjaFRvSklURm9y
TG9vcF9fNTYwX2NoZWNrU3dpdGNoVG9KSVRfX2NvbnRpbnVlOwogICAgfQogICAgKkNBU1Q8aW50
MzJfdCo+KGNmci5pOHAoKSArIDMyKSA9IHBjLmkzMigpOyAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyNwogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAg
IHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDA2CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjQwNwogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0
YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IGxsaW50X2xvb3Bfb3NyKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIGlmICh0MC5pKCkgPT0gMCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDA5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19j
aGVja1N3aXRjaFRvSklURm9yTG9vcF9fY2hlY2tTd2l0Y2hUb0pJVF9fNTU5X2FjdGlvbl9fcmVj
b3ZlcjsKICAgIHNwID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDEwCiAgICBvcGNvZGUgPSB0MC5v
cGNvZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjQxMQogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2NoZWNrU3dp
dGNoVG9KSVRGb3JMb29wX19jaGVja1N3aXRjaFRvSklUX181NTlfYWN0aW9uX19yZWNvdmVyKQog
ICAgcGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19jaGVja1N3aXRjaFRvSklU
Rm9yTG9vcF9fNTYwX2NoZWNrU3dpdGNoVG9KSVRfX2NvbnRpbnVlKQogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweDIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9jaGVja190
cmFwcykKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5NjMKICAgIHQxID0gKkNBU1Q8aW50
cHRyX3QqPih0MS5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjE5NjQKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHQxLmk4cCgpICsgMTIwMzg0
KTsgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5NjUKICAgIGlmICh0
MC5pKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjE5NjYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX2hhbmRsZVRyYXBzOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19hZnRlckhhbmRsaW5nVHJh
cHMpCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MSk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19oYW5kbGVU
cmFwcykKICAgICpDQVNUPGludDMyX3QqPihjZnIuaThwKCkgKyAzMikgPSBwYy5pMzIoKTsgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5MwogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOTQKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfaGFuZGxl
X3RyYXBzKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAg
IH0KICAgIGlmICh0MC5pKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzk2CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX190aHJvd0hhbmRsZXI7CiAgICBwYyA9ICpD
QVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM5NwogICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19hZnRlckhhbmRsaW5nVHJhcHM7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjE5NzEKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fdGhyb3dIYW5kbGVyKQogICAgZ290byBsbGludF90aHJvd19mcm9tX3Ns
b3dfcGF0aF90cmFtcG9saW5lOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTk3MwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NoZWNrX3RyYXBzX3dpZGUxNikKICAg
IHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5NjMKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPih0
MS5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjE5NjQKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHQxLmk4cCgpICsgMTIwMzg0KTsgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5NjUKICAgIGlmICh0MC5pKCkgIT0g
MCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjE5NjYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fNTYwX2ZuX19oYW5kbGVUcmFwczsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX181NjBfZm5fX2FmdGVySGFuZGxpbmdUcmFw
cykKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgyKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fNTYwX2ZuX19oYW5k
bGVUcmFwcykKICAgICpDQVNUPGludDMyX3QqPihjZnIuaThwKCkgKyAzMikgPSBwYy5pMzIoKTsg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIHBjID0gcGMuaSgp
ICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5MwogICAg
dDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOTQKICAgIHsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkp
OwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfaGFu
ZGxlX3RyYXBzKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsK
ICAgIH0KICAgIGlmICh0MC5pKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzk2CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fXzU2MF9mbl9fdGhyb3dIYW5kbGVyOwogICAg
cGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOTcKICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX181NjBfZm5fX2FmdGVySGFuZGxpbmdUcmFwczsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTk3MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9s
bGludE9wX19jb21tb25PcF9fZm5fXzU2MF9mbl9fdGhyb3dIYW5kbGVyKQogICAgZ290byBsbGlu
dF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lOyAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTk3MwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NoZWNrX3Ry
YXBzX3dpZGUzMikKICAgIHQxID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5NjMKICAgIHQxID0gKkNB
U1Q8aW50cHRyX3QqPih0MS5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjE5NjQKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHQxLmk4cCgpICsg
MTIwMzg0KTsgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5NjUKICAg
IGlmICh0MC5pKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjE5NjYKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fNTYxX2ZuX19oYW5kbGVUcmFwczsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX181NjFfZm5fX2Fm
dGVySGFuZGxpbmdUcmFwcykKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgyKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fNTYxX2ZuX19oYW5kbGVUcmFwcykKICAgICpDQVNUPGludDMyX3QqPihjZnIuaThwKCkgKyAz
MikgPSBwYy5pMzIoKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcK
ICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM5MwogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOTQKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQ
b2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGlu
dF9zbG93X3BhdGhfaGFuZGxlX3RyYXBzKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJl
c3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIGlmICh0MC5pKCkgIT0gMCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzk2CiAg
ICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fXzU2MV9mbl9fdGhy
b3dIYW5kbGVyOwogICAgcGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOTcKICAgIGdvdG8gX29m
ZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX181NjFfZm5fX2FmdGVySGFuZGxpbmdUcmFw
czsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk3MQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fXzU2MV9mbl9fdGhyb3dIYW5kbGVy
KQogICAgZ290byBsbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lOyAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTk3MwoKT0ZGTElORV9BU01fT1BDT0RFX0xB
QkVMKG9wX25vcCkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9w
Y29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5F
X0FTTV9PUENPREVfTEFCRUwob3Bfbm9wX3dpZGUxNikKICAgIHBjID0gcGMuaSgpICsgaW50cHRy
X3QoMHgyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9p
ZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQw
LmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFU
Q0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3Bfbm9wX3dpZGUzMikKICAg
IHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgyKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9w
Y29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFC
RUwob3BfY2FsbCkKICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgp
ICsgODgpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1Lmkz
MigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21tb25DYWxsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fNTYxX21ldGFkYXRh
X19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4
cCgpICsgMjk2KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fNTYxX21ldGFkYXRhX19zZXRVcE9mZnNldCkK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNQogICAgdDAgPSAodWlu
dDMyX3QpKHQwLmkzMigpICogaW50MzJfdCgweDQwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCkodDUuaTMyKCkgKyB0MC5pMzIo
KSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQ1
ID0gdDUuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDMgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1CiAgICB0MyA9IC10My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNzgKICAgIHQwID0g
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDI4
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA3OQogICAgaWYgKCh0MC5pNjQoKSAmIG5v
dENlbGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyMDgwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21tb25DYWxsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19wcm9sb2d1ZV9fYXJyYXlQcm9maWxlRm9yQ2Fs
bF9fZG9uZTsKICAgIHQzID0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA4MQogICAgKkNBU1Q8aW50
MzJfdCo+KHQ1Lmk4cCgpICsgMTIpID0gdDMuaTMyKCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMDgyCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3Byb2xv
Z3VlX19hcnJheVByb2ZpbGVGb3JDYWxsX19kb25lKQogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+
KG1ldGFkYXRhVGFibGUuaThwKCkgKyA4OCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzkyCiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2Nh
bGxIZWxwZXJfX21ldGFkYXRhX181NjJfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAq
Q0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAyOTYpOyAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxI
ZWxwZXJfX21ldGFkYXRhX181NjJfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDAgPSAqQ0FT
VDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NSkp
OyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMy
KCkgKiBpbnQzMl90KDB4NDApKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5pMzIoKSArIHQwLmkzMigpKTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDUgPSB0NS5pKCkgKyBt
ZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206Mzk5CiAgICB0MCA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozOQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgMjQpOyAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDkwCiAgICBpZiAodDAuaSgp
ID49IGludHB0cl90KDB4MTApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ5OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tbW9uQ2FsbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTYyX2xvYWRfX2NvbnN0YW50OwogICAgdDMgPSAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxpbmVhc21fY29tbW9uQ2FsbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0YW50
T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTYyX2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NTAxCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbW1vbkNh
bGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU2Ml9sb2FkX19jb25zdGFudCkKICAgIHQzID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDc1CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThw
KCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3
NgogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDAuaSgpIDw8IDMpICsgaW50
cHRyX3QoLTEyOCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3NwoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXpl
X19rX181NjJfbG9hZF9fZG9uZSkKICAgIGlmICh0My5pNjQoKSAhPSB0Mi5pNjQoKSkgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5Mgog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fNTY0X2NhbGxIZWxwZXJfX29wQ2FsbFNsb3c7CiAgICB0MyA9ICpDQVNU
PHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg0KSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzUKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIo
KSA8PCAoaW50cHRyX3QoMHgzKSAmIDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjA5NQogICAgdDMgPSAtdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDk2CiAgICB0MyA9IHQzLmko
KSArIGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjIwOTcKICAgICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArIDI0KSA9
IHQyLmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5OAog
ICAgdDIgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICAqQ0FTVDxpbnQz
Ml90Kj4oY2ZyLmk4cCgpICsgMzIpID0gcGMuaTMyKCk7ICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjI3CiAgICAqQ0FTVDxpbnQzMl90Kj4odDMuaThwKCkgKyAzNikgPSB0
Mi5pMzIoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxMDEKICAg
IHNwID0gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjEwMgogICAgc3AgPSBzcC5pKCkgKyBpbnRwdHJf
dCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTA2NAogICAgbHIgPSBnZXRPcGNvZGUobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pz
XzE0KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA0NQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDUuaThwKCkgKyAzMik7CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJ
TkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzE0KQoKT0ZG
TElORV9BU01fR0xVRV9MQUJFTChvcF9jYWxsX3JldHVybl9sb2NhdGlvbikKICAgIHQyID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSAr
IDIwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQogICAg
dDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgp
ID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDIgPSB0
Mi5pKCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIuaSgpIC0gdDIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAxMQog
ICAgcGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo4NQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihwY0Jhc2UuaThwKCkgKyA4OCk7
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NgogICAgdDEgPSAoaW50NjRf
dCkqQ0FTVDxpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgxKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODgKICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgp
ICsgODgpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkz
MigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21tb25DYWxsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19jYWxsVGFyZ2V0
RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX181NjNfbWV0YWRhdGFfX3NldFVwT2Zmc2V0Owog
ICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAyOTYpOyAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX2NhbGxIZWxwZXJfX2NhbGxUYXJnZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzU2
M19tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MSA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg1KSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzUKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSAqIGludDMyX3QoMHg0MCkp
OyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDIgPSAodWlu
dDMyX3QpKHQyLmkzMigpICsgdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk4CiAgICB0MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgICpD
QVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDQwKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbW1vbkNhbGxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzU2NF9jYWxsSGVscGVyX19vcENh
bGxTbG93KQogICAgKkNBU1Q8aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKSA9IHBjLmkzMigpOyAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgcGMgPSBwYy5pKCkg
KyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzg0CiAgICB0
MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM4NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7
CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9jYWxs
KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAg
IGlmICh0MS5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMzcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Nv
bW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJf
X3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fNTY0X2FjdGlvbl9fZG9udFVwZGF0
ZVNQOwogICAgc3AgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEzOAogICAgc3AgPSBzcC5pKCkgKyBp
bnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTA2NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21t
b25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19z
bG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfXzU2NF9hY3Rpb25fX2RvbnRVcGRhdGVT
UCkKICAgIGxyID0gZ2V0T3Bjb2RlKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc18xNSk7
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNDUKICAgIG9wY29kZSA9IHQwLm9wY29k
ZSgpOwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50
X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc18xNSkKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwob3Bf
Y2FsbF9zbG93X3JldHVybl9sb2NhdGlvbikKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEw
MDUKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDIwKTsgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQogICAgdDIgPSB0Mi5pKCkgPDwgKGlu
dHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgw
eDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTAwMQogICAgc3AgPSBjZnIuaSgpIC0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAxMQogICAgcGMgPSAqQ0FTVDx1aW50
MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozMQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAx
Nik7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NQogICAgcGNCYXNl
ID0gKkNBU1Q8aW50cHRyX3QqPihwY0Jhc2UuaThwKCkgKyA4OCk7ICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4NgogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgp
IDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHQy
ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgODgpOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzkz
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xv
d1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNTY0
X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0
YVRhYmxlLmk4cCgpICsgMjk2KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21tb25DYWxsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19zbG93UGF0aEZvckNhbGxf
X2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFm
dGVyQ2FsbF9fNTY0X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDUpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNQogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICogaW50
MzJfdCgweDQwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAg
ICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKyB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQyID0gdDIuaSgpICsgbWV0YWRhdGFU
YWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5OQogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgNDApID0gdDAuaTY0KCk7ICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgcGMgPSBwYy5pKCkgKyBp
bnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FT
VDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkg
KyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBE
SVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9jYWxsX3dpZGUx
NikKICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgODgpOyAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21tb25DYWxsT3BfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fNTY1X21ldGFkYXRhX19zZXRVcE9m
ZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMjk2
KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NB
TF9MQUJFTChfb2ZmbGluZWFzbV9jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19tZXRhZGF0YV9fNTY1X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQwID0g
KkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQwID0gKHVpbnQzMl90KSh0
MC5pMzIoKSAqIGludDMyX3QoMHg0MCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3QpKHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1Lmko
KSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTkKICAgIHQzID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206NDMKICAgIHQzID0gLXQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA3OAogICAgdDAgPSAqQ0FTVDxp
bnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSArIGludHB0cl90KDB4MjgpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDc5CiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1h
c2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjIwODAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX3Byb2xvZ3VlX181NjVfYXJyYXlQcm9maWxlRm9yQ2FsbF9f
ZG9uZTsKICAgIHQzID0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA4MQogICAgKkNBU1Q8aW50MzJf
dCo+KHQ1Lmk4cCgpICsgMTIpID0gdDMuaTMyKCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyMDgyCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3Byb2xvZ3Vl
X181NjVfYXJyYXlQcm9maWxlRm9yQ2FsbF9fZG9uZSkKICAgIHQ1ID0gKkNBU1Q8dWludDE2X3Qq
PihtZXRhZGF0YVRhYmxlLmk4cCgpICsgODgpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19j
YWxsSGVscGVyX19tZXRhZGF0YV9fNTY2X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0g
KkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMjk2KTsgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxs
SGVscGVyX19tZXRhZGF0YV9fNTY2X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQwID0gKkNB
U1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhh
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQwID0gKHVpbnQzMl90KSh0MC5p
MzIoKSAqIGludDMyX3QoMHg0MCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5NwogICAgdDUgPSAodWludDMyX3QpKHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSAr
IG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo0NwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgMjQpOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDkwCiAgICBpZiAodDAu
aSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tbW9uQ2Fs
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbG9hZENv
bnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTY2X2xvYWRfX2NvbnN0YW50OwogICAgdDMgPSAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDkKICAgIGdvdG8gX29mZmxpbmVhc21fY29tbW9uQ2FsbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTY2X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTEwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbW1v
bkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU2Nl9sb2FkX19jb25zdGFudCkKICAgIHQz
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMu
aThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4MgogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDAuaSgpIDw8IDMpICsg
aW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX181NjZfbG9hZF9fZG9uZSkKICAgIGlmICh0My5pNjQoKSAhPSB0Mi5pNjQoKSkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5
MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFk
YXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJl
dHVybl9fZm5fX2ZuX19mbl9fNTY4X2NhbGxIZWxwZXJfX29wQ2FsbFNsb3c7CiAgICB0MyA9ICpD
QVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4
OCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0MyA9ICh1aW50MzJfdCkodDMu
aTMyKCkgPDwgKGludHB0cl90KDB4MykgJiAweDFmKSk7ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIwOTUKICAgIHQzID0gLXQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5NgogICAgdDMgPSB0
My5pKCkgKyBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyMDk3CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAy
NCkgPSB0Mi5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIw
OTgKICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgICpDQVNU
PGludDMyX3QqPihjZnIuaThwKCkgKyAzMikgPSBwYy5pMzIoKTsgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgICpDQVNUPGludDMyX3QqPih0My5pOHAoKSArIDM2
KSA9IHQyLmkzMigpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjEw
MQogICAgc3AgPSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTAyCiAgICBzcCA9IHNwLmkoKSArIGlu
dHB0cl90KDB4MTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMDY0CiAgICBsciA9IGdldE9wY29kZShsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zy
b21fanNfMTYpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDQ1CiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0NS5pOHAoKSArIDMyKTsKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
T0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfMTYp
CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKG9wX2NhbGxfcmV0dXJuX2xvY2F0aW9uX3dpZGUxNikK
ICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8dWludDMyX3Qq
Pih0Mi5pOHAoKSArIDIwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjk5OQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50
cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAw
MAogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIuaSgpIC0gdDIu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTAxMQogICAgcGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgcGNCYXNlID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4NQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihwY0Jhc2Uu
aThwKCkgKyA4OCk7ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NgogICAg
dDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FT
VDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRh
dGFUYWJsZS5pOHAoKSArIDg4KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIK
ICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
Y29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBl
cl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNTY3X21ldGFkYXRhX19z
ZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgp
ICsgMjk2KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNo
QWZ0ZXJDYWxsX181NjdfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDEgPSAqQ0FTVDx1aW50
MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICog
aW50MzJfdCgweDQwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3
CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKyB0MS5pMzIoKSk7ICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQyID0gdDIuaSgpICsgbWV0YWRh
dGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5OQogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgNDApID0gdDAuaTY0KCk7ICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgcGMgPSBwYy5pKCkg
KyBpbnRwdHJfdCgweGMpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0g
Q0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThw
KCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAg
ICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTY4X2Nh
bGxIZWxwZXJfX29wQ2FsbFNsb3cpCiAgICAqQ0FTVDxpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIp
ID0gcGMuaTMyKCk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAg
ICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozODQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzg1CiAgICB7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9p
bnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRf
c2xvd19wYXRoX2NhbGwodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwg
dDEpOwogICAgfQogICAgaWYgKHQxLmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEzNwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fY2FsbEhlbHBlcl9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX181NjhfYWN0
aW9uX19kb250VXBkYXRlU1A7CiAgICBzcCA9IHQxLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTM4CiAgICBz
cCA9IHNwLmkoKSArIGludHB0cl90KDB4MTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMDY0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2NhbGxIZWxwZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fNTY4X2FjdGlv
bl9fZG9udFVwZGF0ZVNQKQogICAgbHIgPSBnZXRPcGNvZGUobGxpbnRfY2xvb3BfZGlkX3JldHVy
bl9mcm9tX2pzXzE3KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA0NQogICAgb3Bj
b2RlID0gdDAub3Bjb2RlKCk7CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX0dM
VUVfTEFCRUwobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzE3KQoKT0ZGTElORV9BU01f
R0xVRV9MQUJFTChvcF9jYWxsX3Nsb3dfcmV0dXJuX2xvY2F0aW9uX3dpZGUxNikKICAgIHQyID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAo
KSArIDIwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQog
ICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09
IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDIg
PSB0Mi5pKCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIuaSgpIC0gdDIuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAx
MQogICAgcGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgcGNCYXNlID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo4NQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihwY0Jhc2UuaThwKCkgKyA4
OCk7ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NgogICAgdDEgPSAoaW50
NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjg4CiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5p
OHAoKSArIDg4KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0
Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tbW9uQ2Fs
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fc2xvd1Bh
dGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fX2NhbGxUYXJnZXRGdW5jdGlvbl9f
ZGlzcGF0Y2hBZnRlckNhbGxfXzU2OF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpD
QVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDI5Nik7ICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVh
c21fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhl
bHBlcl9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fX2NhbGxUYXJn
ZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzU2OF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQp
CiAgICB0MSA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0MSA9ICh1
aW50MzJfdCkodDEuaTMyKCkgKiBpbnQzMl90KDB4NDApKTsgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkz
MigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAg
dDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkg
KyA0MCkgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Yyk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BD
T0RFX0xBQkVMKG9wX2NhbGxfd2lkZTMyKQogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFk
YXRhVGFibGUuaThwKCkgKyA4OCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzky
CiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRh
X181NjlfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1l
dGFkYXRhVGFibGUuaThwKCkgKyAyOTYpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbW1vbkNhbGxPcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX181NjlfbWV0YWRhdGFf
X3NldFVwT2Zmc2V0KQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTEKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAqIGludDMyX3QoMHg0MCkpOyAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3QpKHQ1
LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQzID0gKkNBU1Q8
dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhlKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIHQzID0gLXQzLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjA3OAogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAz
KSArIGludHB0cl90KDB4MjgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDc5CiAgICBp
ZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwODAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Nv
bW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3Byb2xvZ3VlX181
NjlfYXJyYXlQcm9maWxlRm9yQ2FsbF9fZG9uZTsKICAgIHQzID0gKkNBU1Q8dWludDMyX3QqPih0
MC5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjA4MQogICAgKkNBU1Q8aW50MzJfdCo+KHQ1Lmk4cCgpICsgMTIpID0gdDMuaTMyKCk7ICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDgyCgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX3Byb2xvZ3VlX181NjlfYXJyYXlQcm9maWxlRm9yQ2FsbF9fZG9uZSkK
ICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgODgpOyAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21tb25DYWxsT3BfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19tZXRhZGF0YV9fNTcwX21ldGFkYXRh
X19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4
cCgpICsgMjk2KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19tZXRhZGF0YV9fNTcwX21ldGFkYXRhX19z
ZXRVcE9mZnNldCkKICAgIHQwID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMu
aSgpIDw8IDApICsgaW50cHRyX3QoMHgxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUx
CiAgICB0MCA9ICh1aW50MzJfdCkodDAuaTMyKCkgKiBpbnQzMl90KDB4NDApKTsgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQ1ID0gKHVpbnQzMl90KSh0NS5p
MzIoKSArIHQwLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5OAogICAgdDUgPSB0NS5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICB0MCA9ICpDQVNUPGlu
dDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg2KSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0NS5p
OHAoKSArIDI0KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjA5MAogICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDQwMDAwMDAwKSkgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MTcKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2Nh
bGxIZWxwZXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU3MF9sb2FkX19jb25z
dGFudDsKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5l
YXNtX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxI
ZWxwZXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU3MF9sb2FkX19kb25lOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19jYWxsSGVscGVyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181NzBfbG9hZF9f
Y29uc3RhbnQpCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4NwogICAgdDMgPSAqQ0FT
VDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTQ0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODgKICAgIHQwID0gdDAuaSgpIC0gaW50cHRyX3QoMHg0MDAwMDAw
MCk7ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg5CiAg
ICB0MyA9ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ5MAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19jYWxsSGVscGVyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181NzBfbG9h
ZF9fZG9uZSkKICAgIGlmICh0My5pNjQoKSAhPSB0Mi5pNjQoKSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5MgogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fNTcyX2NhbGxIZWxwZXJfX29wQ2FsbFNsb3c7CiAgICB0MyA9ICpDQVNUPHVpbnQzMl90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4ZSkpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxCiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgPDwgKGludHB0
cl90KDB4MykgJiAweDFmKSk7ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwOTUKICAg
IHQzID0gLXQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5NgogICAgdDMgPSB0My5pKCkgKyBjZnIuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToyMDk3CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAyNCkgPSB0Mi5pNjQoKTsg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwOTgKICAgIHQyID0gKkNB
U1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhh
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgICpDQVNUPGludDMyX3QqPihjZnIu
aThwKCkgKyAzMikgPSBwYy5pMzIoKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjcKICAgICpDQVNUPGludDMyX3QqPih0My5pOHAoKSArIDM2KSA9IHQyLmkzMigpOyAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjEwMQogICAgc3AgPSB0My5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyMTAyCiAgICBzcCA9IHNwLmkoKSArIGludHB0cl90KDB4MTApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDY0CiAg
ICBsciA9IGdldE9wY29kZShsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfMTgpOyAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDQ1CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0NS5pOHAoKSArIDMyKTsKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fR0xV
RV9MQUJFTChsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfMTgpCgpPRkZMSU5FX0FTTV9H
TFVFX0xBQkVMKG9wX2NhbGxfcmV0dXJuX2xvY2F0aW9uX3dpZGUzMikKICAgIHQyID0gKkNBU1Q8
aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDIw
KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQogICAgdDIg
PSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8g
MHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDIgPSB0Mi5p
KCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIuaSgpIC0gdDIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAxMQogICAg
cGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTo4NQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihwY0Jhc2UuaThwKCkgKyA4OCk7ICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NgogICAgdDEgPSAqQ0FTVDxpbnQz
Ml90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsg
KHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4
CiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDg4KTsgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fY2FsbFRhcmdldEZ1bmN0aW9uX19k
aXNwYXRjaEFmdGVyQ2FsbF9fNTcxX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNB
U1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMjk2KTsgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVs
cGVyX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX181NzFfbWV0YWRhdGFf
X3NldFVwT2Zmc2V0KQogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NTEKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSAqIGludDMyX3QoMHg0MCkpOyAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDIgPSAodWludDMyX3QpKHQy
LmkzMigpICsgdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk4CiAgICB0MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0
X3QqPih0Mi5pOHAoKSArIDQwKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NzkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxNik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbW1vbkNhbGxPcF9fbGxpbnRP
cFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzU3Ml9jYWxsSGVscGVyX19vcENhbGxTbG93KQog
ICAgKkNBU1Q8aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKSA9IHBjLmkzMigpOyAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2Uu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzg0CiAgICB0MSA9IHBjLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM4NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAg
ICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAg
U2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9jYWxsKHQwLCB0MSk7
CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIGlmICh0MS5p
KCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjExMzcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbW1vbkNhbGxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRo
Rm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fNTcyX2FjdGlvbl9fZG9udFVwZGF0ZVNQOwogICAg
c3AgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEzOAogICAgc3AgPSBzcC5pKCkgKyBpbnRwdHJfdCgw
eDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTA2NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jb21tb25DYWxsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19zbG93UGF0aEZv
ckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfXzU3Ml9hY3Rpb25fX2RvbnRVcGRhdGVTUCkKICAgIGxy
ID0gZ2V0T3Bjb2RlKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc18xOSk7ICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNDUKICAgIG9wY29kZSA9IHQwLm9wY29kZSgpOwogICAg
RElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2Nsb29wX2Rp
ZF9yZXR1cm5fZnJvbV9qc18xOSkKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwob3BfY2FsbF9zbG93
X3JldHVybl9sb2NhdGlvbl93aWRlMzIpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1
CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRw
dHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEw
MDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMy
X3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9
ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0g
dDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgdDIgPSAqQ0FTVDx1
aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA4OCk7ICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0
aW9uX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX181NzJfbWV0YWRhdGFf
X3NldFVwT2Zmc2V0OwogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThw
KCkgKyAyOTYpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxT
bG93UGF0aF9fYWN0aW9uX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX181
NzJfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEyKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTEKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSAqIGludDMyX3QoMHg0
MCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDIgPSAo
dWludDMyX3QpKHQyLmkzMigpICsgdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFibGUuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAg
ICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDQwKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3Qo
MHgxNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+
KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmko
KSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfdGFpbF9jYWxsKQogICAgdDUg
PSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA5MCk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzU3M19tZXRhZGF0YV9fc2V0VXBPZmZz
ZXQ7CiAgICB0NSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDMwMCk7
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fNTczX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRw
dHJfdCgweDUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNQogICAgdDAgPSAodWludDMy
X3QpKHQwLmkzMigpICogaW50MzJfdCgweDQwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCkodDUuaTMyKCkgKyB0MC5pMzIoKSk7
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQ1ID0g
dDUuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDMgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NCkpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM1CiAgICB0MyA9IC10My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwNzgKICAgIHQwID0gKkNB
U1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0My5pKCkgPDwgMykgKyBpbnRwdHJfdCgweDI4KSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA3OQogICAgaWYgKCh0MC5pNjQoKSAmIG5vdENl
bGxNYXNrLmk2NCgpKSAhPSAwKSAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToyMDgwCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX3Byb2xvZ3VlX181NzNfYXJyYXlQcm9m
aWxlRm9yQ2FsbF9fZG9uZTsKICAgIHQzID0gKkNBU1Q8dWludDMyX3QqPih0MC5pOHAoKSk7ICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA4MQogICAg
KkNBU1Q8aW50MzJfdCo+KHQ1Lmk4cCgpICsgMTIpID0gdDMuaTMyKCk7ICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDgyCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fcHJvbG9ndWVfXzU3M19hcnJheVByb2ZpbGVGb3JDYWxsX19kb25lKQogICAg
dDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI3MgogICAgeyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTI3MwogICAgICAgIGludDMyX3QgdGVtcCA9ICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSArIDIw
MCkgKyBpbnQzMl90KDB4YSk7CiAgICAgICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMjAw
KSA9IHRlbXA7CiAgICAgICAgaWYgKHRlbXAgPCAwKQogICAgICAgICAgICBnb3RvICBfb2ZmbGlu
ZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdp
dGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9f
Zm5fX3Byb2xvZ3VlX19jaGVja1N3aXRjaFRvSklURm9yRXBpbG9ndWVfXzU3M19jaGVja1N3aXRj
aFRvSklUX19jb250aW51ZTsKICAgIH0KICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0
CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xv
b3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9yZXBsYWNlKHQwLCB0MSk7CiAgICAgICAgZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhN
ZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21h
a2VSZXR1cm5fX2ZuX19mbl9fZm5fX3Byb2xvZ3VlX19jaGVja1N3aXRjaFRvSklURm9yRXBpbG9n
dWVfXzU3M19jaGVja1N3aXRjaFRvSklUX19jb250aW51ZSkKICAgIHQ1ID0gKkNBU1Q8dWludDE2
X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgOTApOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX3Byb2xvZ3VlX19tZXRhZGF0YV9fNTc0X21ldGFkYXRhX19zZXRVcE9mZnNldDsK
ICAgIHQ1ID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMzAwKTsgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJF
TChfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9f
bGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5f
X2ZuX19mbl9fZm5fX3Byb2xvZ3VlX19tZXRhZGF0YV9fNTc0X21ldGFkYXRhX19zZXRVcE9mZnNl
dCkKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNQogICAgdDAgPSAo
dWludDMyX3QpKHQwLmkzMigpICogaW50MzJfdCgweDQwKSk7ICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCkodDUuaTMyKCkgKyB0MC5p
MzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAg
IHQ1ID0gdDUuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+KG1l
dGFkYXRhVGFibGUuaThwKCkgKyA5MCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzkyCiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fY2FsbEhlbHBlcl9fbWV0YWRhdGFfXzU3NV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0
NSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDMwMCk7ICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19jYWxsSGVscGVyX19tZXRhZGF0YV9fNTc1X21ldGFkYXRhX19zZXRVcE9mZnNldCkK
ICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNQogICAgdDAgPSAodWlu
dDMyX3QpKHQwLmkzMigpICogaW50MzJfdCgweDQwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCkodDUuaTMyKCkgKyB0MC5pMzIo
KSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQ1
ID0gdDUuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDAgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzkKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0NS5pOHAoKSAr
IDI0KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5MAog
ICAgaWYgKHQwLmkoKSA+PSBpbnRwdHJfdCgweDEwKSkgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
Y2FsbEhlbHBlcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTc1X2xvYWRfX2Nv
bnN0YW50OwogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQwLmkoKSA8PCAz
KSk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDAKICAgIGdvdG8gX29mZmxp
bmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19jYWxsSGVscGVyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181NzVfbG9h
ZF9fZG9uZTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MDEKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19z
aXplX19rX181NzVfbG9hZF9fY29uc3RhbnQpCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ3NQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTQ0KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzYKICAgIHQzID0gKkNBU1Q8aW50
NjRfdCo+KHQzLmk4cCgpICsgKHQwLmkoKSA8PCAzKSArIGludHB0cl90KC0xMjgpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo0NzcKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19jYWxsSGVscGVyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181NzVfbG9h
ZF9fZG9uZSkKICAgIGlmICh0My5pNjQoKSAhPSB0Mi5pNjQoKSkgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5MgogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX181NzdfY2FsbEhlbHBlcl9fb3BDYWxsU2xvdzsKICAgIHQzID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNQogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpIDw8
IChpbnRwdHJfdCgweDMpICYgMHgxZikpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
MDk1CiAgICB0MyA9IC10My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwOTYKICAgIHQzID0gdDMuaSgpICsg
Y2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjA5NwogICAgKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgMjQpID0gdDIu
aTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDk4CiAgICB0
MiA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRy
X3QoMHgzKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzUKICAgICpDQVNUPGludDMyX3Qq
PihjZnIuaThwKCkgKyAzMikgPSBwYy5pMzIoKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjcKICAgICpDQVNUPGludDMyX3QqPih0My5pOHAoKSArIDM2KSA9IHQyLmkz
MigpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjEwMQogICAgc3Ag
PSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTAyCiAgICBtZXRhZGF0YVRhYmxlID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgLSA4KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4
MzYKICAgIHQzID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzNik7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNzEKICAgIHQyID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEwNzIKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDI4KTsgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNzMKICAgIGlmICh0Mi5p
MzIoKSA8PSB0My5pMzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEwNzQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29t
bW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9f
cHJlcGFyZUNhbGxfX25vQXJpdHlGaXh1cDsKICAgIHQzID0gdDIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEw
NzUKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25D
YWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19wcmVw
YXJlQ2FsbF9fbm9Bcml0eUZpeHVwKQogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICogaW50
MzJfdCgweDgpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3OQog
ICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICsgaW50MzJfdCgweDM3KSk7ICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4MAogICAgdDMgPSAodWludDMyX3QpKHQzLmkz
MigpICYgaW50MzJfdCgtMTYpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTA4MQogICAgdDIgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4MwogICAgdDIgPSB0Mi5pKCkg
KyB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTA4NAogICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KHNwLmk4cCgpICsgMzYp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4NgogICAgdDMg
PSAodWludDMyX3QpKHQzLmkzMigpICogaW50MzJfdCgweDgpKTsgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTA4OAogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICsg
aW50MzJfdCgweDM3KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4
OQogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICYgaW50MzJfdCgtMTYpKTsgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA5MAogICAgc3AgPSBzcC5pKCkgKyBpbnRw
dHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTA5MwogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpIC0gaW50MzJfdCgweDEwKSk7
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA5NAogICAgbHIgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTA5NQogICAgdDIgPSB0Mi5pKCkgLSB0My5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEwOAogICAg
Y2ZyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEwOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2NhbGxIZWxwZXJfX3ByZXBhcmVDYWxsX19jb3B5TG9vcCkKICAgIHQzID0gKHVp
bnQzMl90KSh0My5pMzIoKSAtIGludDMyX3QoMHg4KSk7ICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjExMTgKICAgIHBjID0gKkNBU1Q8aW50cHRyX3QqPihzcC5pOHAoKSAr
ICh0My5pKCkgPDwgMCkpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMTkKICAg
ICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAodDMuaSgpIDw8IDApKSA9IHBjLmkoKTsgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMjAKICAgIGlmICh0My5pMzIoKSAhPSAwKSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjExMjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fcHJlcGFyZUNhbGxfX2Nv
cHlMb29wOwogICAgc3AgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEyNAogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDUuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTEyNQogICAgRElTUEFUQ0hfT1BDT0RFKCk7CiAgICBsciA9IGdldE9wY29k
ZShsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfMjApOyAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxMDQ1CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0NS5pOHAoKSArIDMy
KTsKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9j
bG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfMjApCgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKG9wX3Rh
aWxfY2FsbF9yZXR1cm5fbG9jYXRpb24pCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1
CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRw
dHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEw
MDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMy
X3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9
ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8
PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICB0MiA9
ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDkwKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5Mwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRo
TWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19t
YWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rp
c3BhdGNoQWZ0ZXJDYWxsX181NzZfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDIgPSAqQ0FT
VDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAzMDApOyAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
Y2FsbEhlbHBlcl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNTc2X21l
dGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNQogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICogaW50MzJfdCgweDQwKSk7ICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9ICh1aW50MzJf
dCkodDIuaTMyKCkgKyB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTgKICAgIHQyID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8
aW50NjRfdCo+KHQyLmk4cCgpICsgNDApID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25D
YWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181NzdfY2FsbEhlbHBlcl9f
b3BDYWxsU2xvdykKICAgICpDQVNUPGludDMyX3QqPihjZnIuaThwKCkgKyAzMikgPSBwYy5pMzIo
KTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIHBjID0gcGMu
aSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM4NAog
ICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozODUKICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZw
KCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhf
dGFpbF9jYWxsKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsK
ICAgIH0KICAgIGlmICh0MS5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMzcKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fY2FsbEhlbHBlcl9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX181Nzdf
YWN0aW9uX19kb250VXBkYXRlU1A7CiAgICBzcCA9IHQxLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTM4CiAg
ICBtZXRhZGF0YVRhYmxlID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgLSA4KTsgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MzYKICAgIHQzID0gKkNBU1Q8dWludDMyX3QqPihj
ZnIuaThwKCkgKyAzNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEwNzEKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNzIKICAgIHQyID0gKkNBU1Q8dWlu
dDMyX3QqPih0Mi5pOHAoKSArIDI4KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjEwNzMKICAgIGlmICh0Mi5pMzIoKSA8PSB0My5pMzIoKSkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNzQKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQ
YXRoX19hY3Rpb25fXzU3Nl9wcmVwYXJlQ2FsbF9fbm9Bcml0eUZpeHVwOwogICAgdDMgPSB0Mi5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTA3NQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2NhbGxIZWxwZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX181
NzZfcHJlcGFyZUNhbGxfX25vQXJpdHlGaXh1cCkKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIo
KSAqIGludDMyX3QoMHg4KSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEwNzkKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSArIGludDMyX3QoMHgzNykpOyAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODAKICAgIHQzID0gKHVpbnQzMl90
KSh0My5pMzIoKSAmIGludDMyX3QoLTE2KSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjEwODEKICAgIHQyID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODMKICAgIHQyID0g
dDIuaSgpICsgdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjEwODQKICAgIHQzID0gKkNBU1Q8dWludDMyX3QqPihzcC5pOHAo
KSArIDM2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODYK
ICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAqIGludDMyX3QoMHg4KSk7ICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODgKICAgIHQzID0gKHVpbnQzMl90KSh0My5p
MzIoKSArIGludDMyX3QoMHgzNykpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEwODkKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAmIGludDMyX3QoLTE2KSk7ICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwOTAKICAgIHNwID0gc3AuaSgp
ICsgaW50cHRyX3QoMHgxMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEwOTMKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAtIGludDMyX3Qo
MHgxMCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwOTQKICAgIGxy
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyA4KTsgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwOTUKICAgIHQyID0gdDIuaSgpIC0gdDMuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEx
MDgKICAgIGNmciA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpKTsgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMDkKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xv
d1BhdGhfX2FjdGlvbl9fNTc2X3ByZXBhcmVDYWxsX19jb3B5TG9vcCkKICAgIHQzID0gKHVpbnQz
Ml90KSh0My5pMzIoKSAtIGludDMyX3QoMHg4KSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjExMTgKICAgIHBjID0gKkNBU1Q8aW50cHRyX3QqPihzcC5pOHAoKSArICh0
My5pKCkgPDwgMCkpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMTkKICAgICpD
QVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAodDMuaSgpIDw8IDApKSA9IHBjLmkoKTsgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMjAKICAgIGlmICh0My5pMzIoKSAhPSAwKSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEx
MjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fc2xvd1BhdGhGb3JDYWxsX19j
YWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fXzU3Nl9wcmVwYXJlQ2FsbF9fY29weUxvb3A7CiAgICBz
cCA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMTI0CiAgICBvcGNvZGUgPSB0MC5vcGNvZGUoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MTI1CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19jYWxsSGVscGVyX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfXzU3
N19hY3Rpb25fX2RvbnRVcGRhdGVTUCkKICAgIGxyID0gZ2V0T3Bjb2RlKGxsaW50X2Nsb29wX2Rp
ZF9yZXR1cm5fZnJvbV9qc18yMSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNDUK
ICAgIG9wY29kZSA9IHQwLm9wY29kZSgpOwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5F
X0FTTV9HTFVFX0xBQkVMKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc18yMSkKCk9GRkxJ
TkVfQVNNX0dMVUVfTEFCRUwob3BfdGFpbF9jYWxsX3Nsb3dfcmV0dXJuX2xvY2F0aW9uKQogICAg
dDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwNQogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQy
Lmk4cCgpICsgMjApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
OTk5CiAgICB0MiA9IHQyLmkoKSA8PCAoaW50cHRyX3QoMHgzKSAmICgoc2l6ZW9mKHVpbnRwdHJf
dCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDAwCiAg
ICB0MiA9IHQyLmkoKSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDAxCiAgICBzcCA9IGNmci5pKCkgLSB0Mi5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMDExCiAgICBwYyA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBwY0Jhc2UgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjg1CiAgICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJfdCo+KHBjQmFzZS5pOHAo
KSArIDg4KTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg2CiAgICB0MSA9
IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50
NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo4OAogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFi
bGUuaThwKCkgKyA5MCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBp
ZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NhbGxP
cF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhl
bHBlcl9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fX2NhbGxUYXJn
ZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzU3N19tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7
CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDMwMCk7ICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1Bh
dGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNTc3X21l
dGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNQogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICogaW50MzJfdCgweDQwKSk7ICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9ICh1aW50MzJf
dCkodDIuaTMyKCkgKyB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTgKICAgIHQyID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8
aW50NjRfdCo+KHQyLmk4cCgpICsgNDApID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAg
ICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bj
b2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMp
KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF90YWlsX2NhbGxfd2lkZTE2KQogICAgdDUg
PSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA5MCk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzU3OF9tZXRhZGF0YV9fc2V0VXBPZmZz
ZXQ7CiAgICB0NSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDMwMCk7
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxf
TEFCRUwoX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRh
dGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0
dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0YV9fNTc4X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAg
IHQwID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQwID0gKHVpbnQz
Ml90KSh0MC5pMzIoKSAqIGludDMyX3QoMHg0MCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3QpKHQ1LmkzMigpICsgdDAuaTMyKCkp
OyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0NSA9
IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQzID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg4KSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDMKICAgIHQzID0gLXQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA3OAogICAgdDAgPSAq
Q0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSArIGludHB0cl90KDB4Mjgp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDc5CiAgICBpZiAoKHQwLmk2NCgpICYgbm90
Q2VsbE1hc2suaTY0KCkpICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIwODAKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHJvbG9ndWVfXzU3OF9hcnJheVBy
b2ZpbGVGb3JDYWxsX19kb25lOwogICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDgxCiAg
ICAqQ0FTVDxpbnQzMl90Kj4odDUuaThwKCkgKyAxMikgPSB0My5pMzIoKTsgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwODIKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19wcm9sb2d1ZV9fNTc4X2FycmF5UHJvZmlsZUZvckNhbGxfX2RvbmUpCiAg
ICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjcyCiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMjczCiAgICAgICAgaW50MzJfdCB0ZW1wID0gKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsg
MjAwKSArIGludDMyX3QoMHhhKTsKICAgICAgICAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAy
MDApID0gdGVtcDsKICAgICAgICBpZiAodGVtcCA8IDApCiAgICAgICAgICAgIGdvdG8gIF9vZmZs
aW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fcHJvbG9ndWVfX2NoZWNrU3dpdGNoVG9KSVRGb3JFcGlsb2d1ZV9fNTc4X2NoZWNrU3dp
dGNoVG9KSVRfX2NvbnRpbnVlOwogICAgfQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBj
bG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1Bh
dGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3JlcGxhY2UodDAsIHQxKTsKICAgICAgICBkZWNv
ZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHJvbG9ndWVfX2NoZWNrU3dpdGNoVG9KSVRGb3JFcGls
b2d1ZV9fNTc4X2NoZWNrU3dpdGNoVG9KSVRfX2NvbnRpbnVlKQogICAgdDUgPSAqQ0FTVDx1aW50
MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA5MCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzkyCiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fcHJvbG9ndWVfX21ldGFkYXRhX181NzlfbWV0YWRhdGFfX3NldFVwT2Zmc2V0
OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAzMDApOyAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xB
QkVMKF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fcHJvbG9ndWVfX21ldGFkYXRhX181NzlfbWV0YWRhdGFfX3NldFVwT2Zm
c2V0KQogICAgdDAgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDAg
PSAodWludDMyX3QpKHQwLmkzMigpICogaW50MzJfdCgweDQwKSk7ICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCkodDUuaTMyKCkgKyB0
MC5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgK
ICAgIHQ1ID0gdDUuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+
KG1ldGFkYXRhVGFibGUuaThwKCkgKyA5MCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzkyCiAgICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fY2FsbEhlbHBlcl9fbWV0YWRhdGFfXzU4MF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAg
ICB0NSA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDMwMCk7ICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xs
aW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19m
bl9fZm5fX2ZuX19jYWxsSGVscGVyX19tZXRhZGF0YV9fNTgwX21ldGFkYXRhX19zZXRVcE9mZnNl
dCkKICAgIHQwID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDAp
ICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQwID0g
KHVpbnQzMl90KSh0MC5pMzIoKSAqIGludDMyX3QoMHg0MCkpOyAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3QpKHQ1LmkzMigpICsgdDAu
aTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAg
ICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50
MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4
cCgpICsgMjQpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
MDkwCiAgICBpZiAodDAuaSgpID49IGludHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BX
aXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5f
X2ZuX19jYWxsSGVscGVyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181ODBfbG9h
ZF9fY29uc3RhbnQ7CiAgICB0MyA9ICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgp
IDw8IDMpKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBf
b2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2NhbGxIZWxwZXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU4
MF9sb2FkX19kb25lOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX2xvYWRDb25zdGFudE9yVmFyaWFi
bGVfX3NpemVfX2tfXzU4MF9sb2FkX19jb25zdGFudCkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NDgxCiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyAxNDQpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDMgPSAqQ0FT
VDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDAuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxp
bnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2Zu
X19mbl9fZm5fX2NhbGxIZWxwZXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU4
MF9sb2FkX19kb25lKQogICAgaWYgKHQzLmk2NCgpICE9IHQyLmk2NCgpKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDkyCiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzU4Ml9jYWxsSGVscGVyX19vcENhbGxTbG93OwogICAgdDMgPSAqQ0FT
VDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDgp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDMgPSAodWludDMyX3QpKHQzLmkz
MigpIDw8IChpbnRwdHJfdCgweDMpICYgMHgxZikpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToyMDk1CiAgICB0MyA9IC10My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwOTYKICAgIHQzID0gdDMu
aSgpICsgY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjA5NwogICAgKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgMjQp
ID0gdDIuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDk4
CiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSAr
IGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICAqQ0FTVDxp
bnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIpID0gcGMuaTMyKCk7ICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI3CiAgICAqQ0FTVDxpbnQzMl90Kj4odDMuaThwKCkgKyAzNikg
PSB0Mi5pMzIoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxMDEK
ICAgIHNwID0gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjEwMgogICAgbWV0YWRhdGFUYWJsZSA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpIC0gOCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206ODM2CiAgICB0MyA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzYpOyAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDcxCiAgICB0MiA9ICpDQVNU
PGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxMDcyCiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAy
OCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDczCiAgICBp
ZiAodDIuaTMyKCkgPD0gdDMuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMDc0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jYWxs
T3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxI
ZWxwZXJfXzU4MF9wcmVwYXJlQ2FsbF9fbm9Bcml0eUZpeHVwOwogICAgdDMgPSB0Mi5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTA3NQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jYWxs
T3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5f
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxI
ZWxwZXJfXzU4MF9wcmVwYXJlQ2FsbF9fbm9Bcml0eUZpeHVwKQogICAgdDMgPSAodWludDMyX3Qp
KHQzLmkzMigpICogaW50MzJfdCgweDgpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTA3OQogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICsgaW50MzJfdCgweDM3
KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4MAogICAgdDMgPSAo
dWludDMyX3QpKHQzLmkzMigpICYgaW50MzJfdCgtMTYpKTsgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTA4MQogICAgdDIgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4Mwog
ICAgdDIgPSB0Mi5pKCkgKyB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4NAogICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+
KHNwLmk4cCgpICsgMzYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTA4NgogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICogaW50MzJfdCgweDgpKTsgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4OAogICAgdDMgPSAodWludDMy
X3QpKHQzLmkzMigpICsgaW50MzJfdCgweDM3KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTA4OQogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICYgaW50MzJfdCgt
MTYpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA5MAogICAgc3Ag
PSBzcC5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTA5MwogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpIC0g
aW50MzJfdCgweDEwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA5
NAogICAgbHIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDgpOyAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA5NQogICAgdDIgPSB0Mi5pKCkgLSB0My5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTEwOAogICAgY2ZyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkpOyAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEwOQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfXzU4MF9wcmVwYXJlQ2FsbF9fY29w
eUxvb3ApCiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgLSBpbnQzMl90KDB4OCkpOyAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTE4CiAgICBwYyA9ICpDQVNUPGlu
dHB0cl90Kj4oc3AuaThwKCkgKyAodDMuaSgpIDw8IDApKTsgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxMTE5CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgKHQzLmkoKSA8
PCAwKSkgPSBwYy5pKCk7ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTIwCiAgICBpZiAo
dDMuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxMTIxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3Bf
X2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxw
ZXJfXzU4MF9wcmVwYXJlQ2FsbF9fY29weUxvb3A7CiAgICBzcCA9IHQyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMTI0CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0NS5pOHAoKSArIDMyKTsgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTI1CiAgICBESVNQQVRDSF9PUENP
REUoKTsKICAgIGxyID0gZ2V0T3Bjb2RlKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc18y
Mik7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNDUKICAgIG9wY29kZSA9ICpDQVNU
PE9wY29kZSo+KHQ1Lmk4cCgpICsgMzIpOwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5F
X0FTTV9HTFVFX0xBQkVMKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc18yMikKCk9GRkxJ
TkVfQVNNX0dMVUVfTEFCRUwob3BfdGFpbF9jYWxsX3JldHVybl9sb2NhdGlvbl93aWRlMTYpCiAg
ICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4o
dDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0
cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAK
ICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIHBjQmFzZSA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4
cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQx
ID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRh
VGFibGUuaThwKCkgKyA5MCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAg
ICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Nh
bGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2Fs
bEhlbHBlcl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNTgxX21ldGFk
YXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxl
Lmk4cCgpICsgMzAwKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxp
bnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX2NhbGxUYXJnZXRGdW5j
dGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzU4MV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0
MSA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0MSA9ICh1aW50MzJf
dCkodDEuaTMyKCkgKiBpbnQzMl90KDB4NDApKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkzMigpKTsg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0
Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyA0MCkg
PSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAg
ICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Yyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxP
cGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5FX0FTTV9MT0NBTF9M
QUJFTChfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fXzU4Ml9jYWxsSGVscGVyX19vcENhbGxTbG93KQogICAgKkNBU1Q8aW50
MzJfdCo+KGNmci5pOHAoKSArIDMyKSA9IHBjLmkzMigpOyAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToyNwogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAg
IHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzg0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM4NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0
YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1
cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF90YWlsX2NhbGwodDAsIHQxKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgaWYgKHQxLmkoKSA9PSAw
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTEzNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19zbG93UGF0
aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfXzU4Ml9hY3Rpb25fX2RvbnRVcGRhdGVTUDsKICAg
IHNwID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMzgKICAgIG1ldGFkYXRhVGFibGUgPSAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAoKSAtIDgpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjgzNgogICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDM2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3MQogICAgdDIgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTA3MgogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMjgpOyAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3MwogICAgaWYgKHQy
LmkzMigpIDw9IHQzLmkzMigpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTA3NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY2FsbE9wX19j
b21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVy
X19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fNTgxX3ByZXBhcmVD
YWxsX19ub0FyaXR5Rml4dXA7CiAgICB0MyA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDc1CgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19s
bGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fc2xvd1BhdGhGb3JD
YWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fXzU4MV9wcmVwYXJlQ2FsbF9fbm9Bcml0eUZp
eHVwKQogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICogaW50MzJfdCgweDgpKTsgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3OQogICAgdDMgPSAodWludDMyX3Qp
KHQzLmkzMigpICsgaW50MzJfdCgweDM3KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTA4MAogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICYgaW50MzJfdCgtMTYp
KTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4MQogICAgdDIgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTA4MwogICAgdDIgPSB0Mi5pKCkgKyB0My5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4NAog
ICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KHNwLmk4cCgpICsgMzYpOyAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4NgogICAgdDMgPSAodWludDMyX3QpKHQzLmkz
MigpICogaW50MzJfdCgweDgpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTA4OAogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICsgaW50MzJfdCgweDM3KSk7ICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4OQogICAgdDMgPSAodWludDMy
X3QpKHQzLmkzMigpICYgaW50MzJfdCgtMTYpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTA5MAogICAgc3AgPSBzcC5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA5MwogICAgdDMg
PSAodWludDMyX3QpKHQzLmkzMigpIC0gaW50MzJfdCgweDEwKSk7ICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTA5NAogICAgbHIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA5
NQogICAgdDIgPSB0Mi5pKCkgLSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEwOAogICAgY2ZyID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTEwOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jYWxsT3Bf
X2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxw
ZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX181ODFfcHJlcGFy
ZUNhbGxfX2NvcHlMb29wKQogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpIC0gaW50MzJfdCgw
eDgpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTExOAogICAgcGMg
PSAqQ0FTVDxpbnRwdHJfdCo+KHNwLmk4cCgpICsgKHQzLmkoKSA8PCAwKSk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTExOQogICAgKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSAr
ICh0My5pKCkgPDwgMCkpID0gcGMuaSgpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEy
MAogICAgaWYgKHQzLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEyMQogICAgICAgIGdvdG8gX29mZmxpbmVh
c21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRo
UmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2Zu
X19jYWxsSGVscGVyX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9f
NTgxX3ByZXBhcmVDYWxsX19jb3B5TG9vcDsKICAgIHNwID0gdDIuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEx
MjQKICAgIG9wY29kZSA9IHQwLm9wY29kZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMjUKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNh
bGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQ
YXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fNTgyX2FjdGlvbl9fZG9udFVwZGF0ZVNQKQog
ICAgbHIgPSBnZXRPcGNvZGUobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzIzKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA0NQogICAgb3Bjb2RlID0gdDAub3Bjb2RlKCk7
CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfY2xv
b3BfZGlkX3JldHVybl9mcm9tX2pzXzIzKQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChvcF90YWls
X2NhbGxfc2xvd19yZXR1cm5fbG9jYXRpb25fd2lkZTE2KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTAwNQogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMjApOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTk5CiAgICB0MiA9IHQyLmko
KSA8PCAoaW50cHRyX3QoMHgzKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDog
MHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDAwCiAgICB0MiA9IHQyLmkoKSArIGlu
dHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMDAxCiAgICBzcCA9IGNmci5pKCkgLSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDExCiAgICBwYyA9ICpD
QVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjMxCiAgICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAoKSArIDE2KTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg1CiAg
ICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJfdCo+KHBjQmFzZS5pOHAoKSArIDg4KTsgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg2CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGlu
dDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkg
KyAodDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODgKICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgOTApOyAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDAp
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRoRm9y
Q2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3Bh
dGNoQWZ0ZXJDYWxsX181ODJfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDIgPSAqQ0FTVDx1
aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAzMDApOyAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Nh
bGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2Fs
bEhlbHBlcl9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fX2NhbGxU
YXJnZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzU4Ml9tZXRhZGF0YV9fc2V0VXBPZmZz
ZXQpCiAgICB0MSA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0MSA9
ICh1aW50MzJfdCkodDEuaTMyKCkgKiBpbnQzMl90KDB4NDApKTsgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQx
LmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAog
ICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThw
KCkgKyA0MCkgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Yyk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX3RhaWxfY2FsbF93aWRlMzIpCiAgICB0NSA9ICpDQVNUPHVpbnQxNl90
Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDkwKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTIKICAgIGlmICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19tZXRhZGF0YV9fNTgzX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNB
U1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMzAwKTsgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X21ldGFkYXRhX181ODNfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDAgPSAqQ0FTVDx1aW50
MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEyKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAq
IGludDMyX3QoMHg0MCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
NwogICAgdDUgPSAodWludDMyX3QpKHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFk
YXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTkKICAgIHQzID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHhlKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAg
IHQzID0gLXQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA3OAogICAgdDAgPSAqQ0FTVDxpbnQ2NF90Kj4o
Y2ZyLmk4cCgpICsgKHQzLmkoKSA8PCAzKSArIGludHB0cl90KDB4MjgpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyMDc5CiAgICBpZiAoKHQwLmk2NCgpICYgbm90Q2VsbE1hc2suaTY0KCkp
ICE9IDApICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwODAKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fcHJvbG9ndWVfXzU4M19hcnJheVByb2ZpbGVGb3JDYWxsX19k
b25lOwogICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KHQwLmk4cCgpKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDgxCiAgICAqQ0FTVDxpbnQzMl90
Kj4odDUuaThwKCkgKyAxMikgPSB0My5pMzIoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIwODIKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
Y2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19w
cm9sb2d1ZV9fNTgzX2FycmF5UHJvZmlsZUZvckNhbGxfX2RvbmUpCiAgICB0MCA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxMjcyCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjczCiAgICAgICAg
aW50MzJfdCB0ZW1wID0gKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMjAwKSArIGludDMyX3Qo
MHhhKTsKICAgICAgICAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAyMDApID0gdGVtcDsKICAg
ICAgICBpZiAodGVtcCA8IDApCiAgICAgICAgICAgIGdvdG8gIF9vZmZsaW5lYXNtX2NhbGxPcF9f
Y29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHJvbG9ndWVf
X2NoZWNrU3dpdGNoVG9KSVRGb3JFcGlsb2d1ZV9fNTgzX2NoZWNrU3dpdGNoVG9KSVRfX2NvbnRp
bnVlOwogICAgfQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2Zy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1
cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IGxsaW50X3JlcGxhY2UodDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0
LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBj
ID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9v
ZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGlu
dE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5f
X2ZuX19mbl9fcHJvbG9ndWVfX2NoZWNrU3dpdGNoVG9KSVRGb3JFcGlsb2d1ZV9fNTgzX2NoZWNr
U3dpdGNoVG9KSVRfX2NvbnRpbnVlKQogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRh
VGFibGUuaThwKCkgKyA5MCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAg
ICBpZiAodDUuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2Nh
bGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fcHJv
bG9ndWVfX21ldGFkYXRhX181ODRfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FT
VDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAzMDApOyAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJl
dHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9f
cHJvbG9ndWVfX21ldGFkYXRhX181ODRfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDAgPSAq
Q0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIHQwID0gKHVpbnQzMl90KSh0
MC5pMzIoKSAqIGludDMyX3QoMHg0MCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3QpKHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1Lmko
KSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTkKICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxl
Lmk4cCgpICsgOTApOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYg
KHQ1LmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3Bf
X2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxw
ZXJfX21ldGFkYXRhX181ODVfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1
aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAzMDApOyAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Nh
bGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2Fs
bEhlbHBlcl9fbWV0YWRhdGFfXzU4NV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MCA9ICpD
QVNUPHVpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4
MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MQogICAgdDAgPSAodWludDMyX3QpKHQw
LmkzMigpICogaW50MzJfdCgweDQwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk3CiAgICB0NSA9ICh1aW50MzJfdCkodDUuaTMyKCkgKyB0MC5pMzIoKSk7ICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQ1ID0gdDUuaSgp
ICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDAgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU1CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4odDUuaThwKCkgKyAyNCk7ICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwOTAKICAgIGlmICh0MC5pKCkgPj0g
aW50cHRyX3QoMHg0MDAwMDAwMCkpICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206NTE3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNh
bGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX2xvYWRD
b25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU4NV9sb2FkX19jb25zdGFudDsKICAgIHQzID0g
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29t
bW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9f
bG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTg1X2xvYWRfX2RvbmU7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NTE5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTg1X2xvYWRf
X2NvbnN0YW50KQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQzID0gKkNB
U1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDg4CiAgICB0MCA9IHQwLmkoKSAtIGludHB0cl90KDB4NDAwMDAw
MDApOyAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQog
ICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFf
X2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJu
X19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19r
X181ODVfbG9hZF9fZG9uZSkKICAgIGlmICh0My5pNjQoKSAhPSB0Mi5pNjQoKSkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5MgogICAg
ICAgIGdvdG8gX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0
YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtl
UmV0dXJuX19mbl9fZm5fX2ZuX181ODdfY2FsbEhlbHBlcl9fb3BDYWxsU2xvdzsKICAgIHQzID0g
KkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHhlKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIHQzID0gKHVpbnQzMl90KSh0
My5pMzIoKSA8PCAoaW50cHRyX3QoMHgzKSAmIDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MjA5NQogICAgdDMgPSAtdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDk2CiAgICB0MyA9
IHQzLmkoKSArIGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjIwOTcKICAgICpDQVNUPGludDY0X3QqPih0My5pOHAoKSAr
IDI0KSA9IHQyLmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjA5OAogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweGEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MQogICAgKkNB
U1Q8aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKSA9IHBjLmkzMigpOyAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgKkNBU1Q8aW50MzJfdCo+KHQzLmk4cCgpICsg
MzYpID0gdDIuaTMyKCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
MTAxCiAgICBzcCA9IHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxMDIKICAgIG1ldGFkYXRhVGFibGUg
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAtIDgpOyAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjgzNgogICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDM2KTsg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3MQogICAgdDIgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTA3MgogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgp
ICsgMjgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3Mwog
ICAgaWYgKHQyLmkzMigpIDw9IHQzLmkzMigpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
Y2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19j
YWxsSGVscGVyX181ODVfcHJlcGFyZUNhbGxfX25vQXJpdHlGaXh1cDsKICAgIHQzID0gdDIuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEwNzUKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
Y2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0
dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19j
YWxsSGVscGVyX181ODVfcHJlcGFyZUNhbGxfX25vQXJpdHlGaXh1cCkKICAgIHQzID0gKHVpbnQz
Ml90KSh0My5pMzIoKSAqIGludDMyX3QoMHg4KSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEwNzkKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSArIGludDMyX3Qo
MHgzNykpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODAKICAgIHQz
ID0gKHVpbnQzMl90KSh0My5pMzIoKSAmIGludDMyX3QoLTE2KSk7ICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODEKICAgIHQyID0gY2ZyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEw
ODMKICAgIHQyID0gdDIuaSgpICsgdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODQKICAgIHQzID0gKkNBU1Q8dWludDMy
X3QqPihzcC5pOHAoKSArIDM2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEwODYKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAqIGludDMyX3QoMHg4KSk7
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODgKICAgIHQzID0gKHVp
bnQzMl90KSh0My5pMzIoKSArIGludDMyX3QoMHgzNykpOyAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEwODkKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAmIGludDMy
X3QoLTE2KSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwOTAKICAg
IHNwID0gc3AuaSgpICsgaW50cHRyX3QoMHgxMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwOTMKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIo
KSAtIGludDMyX3QoMHgxMCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEwOTQKICAgIGxyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyA4KTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwOTUKICAgIHQyID0gdDIuaSgpIC0g
dDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjExMDgKICAgIGNmciA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpKTsgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMDkKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX181ODVfcHJlcGFyZUNhbGxf
X2NvcHlMb29wKQogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpIC0gaW50MzJfdCgweDgpKTsg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTExOAogICAgcGMgPSAqQ0FT
VDxpbnRwdHJfdCo+KHNwLmk4cCgpICsgKHQzLmkoKSA8PCAwKSk7ICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTExOQogICAgKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArICh0My5p
KCkgPDwgMCkpID0gcGMuaSgpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEyMAogICAg
aWYgKHQzLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEyMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY2Fs
bE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxs
SGVscGVyX181ODVfcHJlcGFyZUNhbGxfX2NvcHlMb29wOwogICAgc3AgPSB0Mi5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTEyNAogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDUuaThwKCkgKyAzMik7ICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEyNQogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CiAgICBsciA9IGdldE9wY29kZShsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21f
anNfMjQpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDQ1CiAgICBvcGNvZGUgPSAq
Q0FTVDxPcGNvZGUqPih0NS5pOHAoKSArIDMyKTsKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZG
TElORV9BU01fR0xVRV9MQUJFTChsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfMjQpCgpP
RkZMSU5FX0FTTV9HTFVFX0xBQkVMKG9wX3RhaWxfY2FsbF9yZXR1cm5fbG9jYXRpb25fd2lkZTMy
KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwNQogICAgdDIgPSAqQ0FTVDx1aW50MzJf
dCo+KHQyLmk4cCgpICsgMjApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206OTk5CiAgICB0MiA9IHQyLmkoKSA8PCAoaW50cHRyX3QoMHgzKSAmICgoc2l6ZW9mKHVp
bnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MDAwCiAgICB0MiA9IHQyLmkoKSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDAxCiAgICBzcCA9IGNmci5pKCkgLSB0
Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMDExCiAgICBwYyA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBwY0Jhc2Ug
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjg1CiAgICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJfdCo+KHBjQmFz
ZS5pOHAoKSArIDg4KTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg2CiAg
ICB0MSA9ICpDQVNUPGludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTUKICAgICpDQVNUPGludDY0
X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODgKICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxl
Lmk4cCgpICsgOTApOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYg
KHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3Bf
X2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxw
ZXJfX2NhbGxUYXJnZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzU4Nl9tZXRhZGF0YV9f
c2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAo
KSArIDMwMCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19jYWxsVGFyZ2V0RnVuY3Rpb25f
X2Rpc3BhdGNoQWZ0ZXJDYWxsX181ODZfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDEgPSAq
Q0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgw
eDEyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIHQxID0gKHVpbnQzMl90KSh0
MS5pMzIoKSAqIGludDMyX3QoMHg0MCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5NwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICsgdDEuaTMyKCkpOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MiA9IHQyLmko
KSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDQwKSA9IHQw
Lmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHBj
ID0gcGMuaSgpICsgaW50cHRyX3QoMHgxNik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fNTg3X2NhbGxIZWxwZXJfX29wQ2FsbFNsb3cpCiAgICAqQ0FTVDxpbnQzMl90
Kj4oY2ZyLmk4cCgpICsgMzIpID0gcGMuaTMyKCk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjI3CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAg
PSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozODQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
Mzg1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2su
c2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5
cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3RhaWxfY2FsbCh0MCwgdDEpOwogICAgICAgIGRl
Y29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBpZiAodDEuaSgpID09IDApICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMTM3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9f
bGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRoRm9y
Q2FsbF9fY2FsbENhbGxTbG93UGF0aF9fNTg3X2FjdGlvbl9fZG9udFVwZGF0ZVNQOwogICAgc3Ag
PSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTEzOAogICAgbWV0YWRhdGFUYWJsZSA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpIC0gOCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODM2
CiAgICB0MyA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzYpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDcxCiAgICB0MiA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMDcyCiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyOCk7ICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDczCiAgICBpZiAodDIuaTMy
KCkgPD0gdDMuaTMyKCkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxMDc0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1v
bkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Ns
b3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX181ODZfcHJlcGFyZUNhbGxf
X25vQXJpdHlGaXh1cDsKICAgIHQzID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNzUKCiAgT0ZGTElO
RV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50
T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19zbG93UGF0aEZvckNhbGxf
X2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fNTg2X3ByZXBhcmVDYWxsX19ub0FyaXR5Rml4dXAp
CiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgKiBpbnQzMl90KDB4OCkpOyAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDc5CiAgICB0MyA9ICh1aW50MzJfdCkodDMu
aTMyKCkgKyBpbnQzMl90KDB4MzcpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMDgwCiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgJiBpbnQzMl90KC0xNikpOyAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDgxCiAgICB0MiA9IGNmci5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxMDgzCiAgICB0MiA9IHQyLmkoKSArIHQzLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDg0CiAgICB0
MyA9ICpDQVNUPHVpbnQzMl90Kj4oc3AuaThwKCkgKyAzNik7ICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMDg2CiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkg
KiBpbnQzMl90KDB4OCkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MDg4CiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgKyBpbnQzMl90KDB4MzcpKTsgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDg5CiAgICB0MyA9ICh1aW50MzJfdCko
dDMuaTMyKCkgJiBpbnQzMl90KC0xNikpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMDkwCiAgICBzcCA9IHNwLmkoKSArIGludHB0cl90KDB4MTApOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDkzCiAgICB0MyA9ICh1
aW50MzJfdCkodDMuaTMyKCkgLSBpbnQzMl90KDB4MTApKTsgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMDk0CiAgICBsciA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgOCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDk1CiAg
ICB0MiA9IHQyLmkoKSAtIHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTA4CiAgICBjZnIgPSAqQ0FTVDxpbnRwdHJfdCo+
KGNmci5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMTA5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NhbGxPcF9fY29t
bW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9f
c2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fXzU4Nl9wcmVwYXJlQ2Fs
bF9fY29weUxvb3ApCiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgLSBpbnQzMl90KDB4OCkp
OyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTE4CiAgICBwYyA9ICpD
QVNUPGludHB0cl90Kj4oc3AuaThwKCkgKyAodDMuaSgpIDw8IDApKTsgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMTE5CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgpICsgKHQz
LmkoKSA8PCAwKSkgPSBwYy5pKCk7ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTIwCiAg
ICBpZiAodDMuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTIxCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9j
YWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2Nh
bGxIZWxwZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX181ODZf
cHJlcGFyZUNhbGxfX2NvcHlMb29wOwogICAgc3AgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEyNAog
ICAgb3Bjb2RlID0gdDAub3Bjb2RlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEyNQogICAgRElTUEFUQ0hfT1BDT0RFKCk7Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fc2xvd1BhdGhG
b3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX181ODdfYWN0aW9uX19kb250VXBkYXRlU1ApCiAgICBs
ciA9IGdldE9wY29kZShsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfMjUpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMDQ1CiAgICBvcGNvZGUgPSB0MC5vcGNvZGUoKTsKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9jbG9vcF9k
aWRfcmV0dXJuX2Zyb21fanNfMjUpCgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKG9wX3RhaWxfY2Fs
bF9zbG93X3JldHVybl9sb2NhdGlvbl93aWRlMzIpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIuaSgpIDw8
IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFm
KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsgaW50cHRy
X3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8
dWludDMyX3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBj
QmFzZSA9ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgdDIgPSAq
Q0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA5MCk7ICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2Fs
bFNsb3dQYXRoX19hY3Rpb25fX2NhbGxUYXJnZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxf
XzU4N19tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0
YWRhdGFUYWJsZS5pOHAoKSArIDMwMCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
OTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25D
YWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19zbG93
UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9u
X19kaXNwYXRjaEFmdGVyQ2FsbF9fNTg3X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0g
KkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0MSA9ICh1aW50MzJfdCko
dDEuaTMyKCkgKiBpbnQzMl90KDB4NDApKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkzMigpKTsgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5p
KCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyA0MCkgPSB0
MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICBw
YyA9IHBjLmkoKSArIGludHB0cl90KDB4MTYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNv
ZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX2NvbnN0cnVjdCkKICAgIHQ1ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4
cCgpICsgOTYpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1
LmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3BfX2Nv
bW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX181
ODhfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFk
YXRhVGFibGUuaThwKCkgKyAzMTIpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2Fs
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fbWV0YWRhdGFfXzU4OF9tZXRh
ZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg1KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzUKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAqIGludDMyX3QoMHg0MCkpOyAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3Qp
KHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQ1ID0gKkNB
U1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgOTYpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX21ldGFkYXRhX181ODlfbWV0YWRhdGFfX3Nl
dFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkg
KyAzMTIpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNN
X0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0
aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9f
bWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbWV0YWRhdGFfXzU4OV9tZXRhZGF0
YV9fc2V0VXBPZmZzZXQpCiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHg1KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzUKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAqIGludDMyX3QoMHg0MCkpOyAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWludDMyX3QpKHQ1
LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQwID0gKGludDY0
X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICB0MiA9ICpDQVNUPGludHB0
cl90Kj4odDUuaThwKCkgKyAyNCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjIwOTAKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHgxMCkpICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDk5CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzU4OV9sb2FkX19jb25zdGFudDsKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAw
CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fNTg5X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTAxCgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTg5X2xvYWRfX2NvbnN0YW50KQogICAgdDMgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0NzUKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSAr
IDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc2CiAg
ICB0MyA9ICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArICh0MC5pKCkgPDwgMykgKyBpbnRwdHJf
dCgtMTI4KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDc3CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fNTg5X2xvYWRfX2RvbmUpCiAgICBpZiAodDMuaTY0KCkgIT0gdDIuaTY0KCkpICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIw
OTIKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9w
V2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTkxX2NhbGxIZWxwZXJfX29wQ2FsbFNsb3c7CiAg
ICB0MyA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50
cHRyX3QoMHg0KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzUKICAgIHQzID0gKHVpbnQz
Ml90KSh0My5pMzIoKSA8PCAoaW50cHRyX3QoMHgzKSAmIDB4MWYpKTsgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjA5NQogICAgdDMgPSAtdDMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDk2CiAg
ICB0MyA9IHQzLmkoKSArIGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIwOTcKICAgICpDQVNUPGludDY0X3QqPih0My5p
OHAoKSArIDI0KSA9IHQyLmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjA5OAogICAgdDIgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSArIGludHB0cl90KDB4MykpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAg
ICAqQ0FTVDxpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIpID0gcGMuaTMyKCk7ICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICAqQ0FTVDxpbnQzMl90Kj4odDMuaThw
KCkgKyAzNikgPSB0Mi5pMzIoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjIxMDEKICAgIHNwID0gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjEwMgogICAgc3AgPSBzcC5p
KCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTA2NAogICAgbHIgPSBnZXRPcGNvZGUobGxpbnRfY2xvb3BfZGlkX3Jl
dHVybl9mcm9tX2pzXzI2KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA0NQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDUuaThwKCkgKyAzMik7CiAgICBESVNQQVRDSF9PUENP
REUoKTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9t
X2pzXzI2KQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChvcF9jb25zdHJ1Y3RfcmV0dXJuX2xvY2F0
aW9uKQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwNQogICAgdDIgPSAqQ0FTVDx1aW50
MzJfdCo+KHQyLmk4cCgpICsgMjApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206OTk5CiAgICB0MiA9IHQyLmkoKSA8PCAoaW50cHRyX3QoMHgzKSAmICgoc2l6ZW9m
KHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMDAwCiAgICB0MiA9IHQyLmkoKSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDAxCiAgICBzcCA9IGNmci5pKCkg
LSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxMDExCiAgICBwYyA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBwY0Jh
c2UgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjg1CiAgICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJfdCo+KHBj
QmFzZS5pOHAoKSArIDg4KTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg2
CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozOQogICAg
KkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KG1l
dGFkYXRhVGFibGUuaThwKCkgKyA5Nik7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5l
YXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0
aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19m
bl9fY2FsbEhlbHBlcl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNTkw
X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0
YVRhYmxlLmk4cCgpICsgMzEyKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxP
cF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX2NhbGxUYXJn
ZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzU5MF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQp
CiAgICB0MSA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsg
aW50cHRyX3QoMHg1KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzUKICAgIHQxID0gKHVp
bnQzMl90KSh0MS5pMzIoKSAqIGludDMyX3QoMHg0MCkpOyAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICsgdDEuaTMy
KCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0
MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSAr
IDQwKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NzkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg2KTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpD
QVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fNTkxX2NhbGxIZWxwZXJfX29wQ2FsbFNsb3cpCiAgICAqQ0FT
VDxpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIpID0gcGMuaTMyKCk7ICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0
NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozODQKICAgIHQxID0gcGMuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206Mzg1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNs
b29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0
aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2NvbnN0cnVjdCh0MCwgdDEpOwog
ICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBpZiAodDEuaSgp
ID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxMTM3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1v
bkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Ns
b3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fNTkxX2FjdGlvbl9fZG9udFVwZGF0ZVNQ
OwogICAgc3AgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEzOAogICAgc3AgPSBzcC5pKCkgKyBpbnRw
dHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTA2NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jYWxsT3Bf
X2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxw
ZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fNTkxX2FjdGlvbl9fZG9udFVw
ZGF0ZVNQKQogICAgbHIgPSBnZXRPcGNvZGUobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pz
XzI3KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA0NQogICAgb3Bjb2RlID0gdDAu
b3Bjb2RlKCk7CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwo
bGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzI3KQoKT0ZGTElORV9BU01fR0xVRV9MQUJF
TChvcF9jb25zdHJ1Y3Rfc2xvd19yZXR1cm5fbG9jYXRpb24pCiAgICB0MiA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIu
aSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2Yg
OiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsg
aW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0g
KkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUK
ICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg4CiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDk2KTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAw
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19zbG93UGF0aEZv
ckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNw
YXRjaEFmdGVyQ2FsbF9fNTkxX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8
dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMzEyKTsgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9j
YWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1
cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2Nh
bGxIZWxwZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX19jYWxs
VGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX181OTFfbWV0YWRhdGFfX3NldFVwT2Zm
c2V0KQogICAgdDEgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAw
KSArIGludHB0cl90KDB4NSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0MSA9
ICh1aW50MzJfdCkodDEuaTMyKCkgKiBpbnQzMl90KDB4NDApKTsgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQx
LmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAog
ICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThw
KCkgKyA0MCkgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nik7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWlu
dDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUg
PSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01f
T1BDT0RFX0xBQkVMKG9wX2NvbnN0cnVjdF93aWRlMTYpCiAgICB0NSA9ICpDQVNUPHVpbnQxNl90
Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDk2KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTIKICAgIGlmICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50
T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9f
Zm5fX2ZuX19tZXRhZGF0YV9fNTkyX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNB
U1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMzEyKTsgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X21ldGFkYXRhX181OTJfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDAgPSAqQ0FTVDx1aW50
MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpICog
aW50MzJfdCgweDQwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3
CiAgICB0NSA9ICh1aW50MzJfdCkodDUuaTMyKCkgKyB0MC5pMzIoKSk7ICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQ1ID0gdDUuaSgpICsgbWV0YWRh
dGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjM5OQogICAgdDUgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA5
Nik7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDUuaTMyKCkg
IT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2Fs
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbWV0YWRh
dGFfXzU5M19tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0NSA9ICpDQVNUPHVpbnQzMl90Kj4o
bWV0YWRhdGFUYWJsZS5pOHAoKSArIDMxMik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY2FsbE9wX19jb21t
b25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19t
ZXRhZGF0YV9fNTkzX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQwID0gKkNBU1Q8dWludDE2
X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAqIGlu
dDMyX3QoMHg0MCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5Nwog
ICAgdDUgPSAodWludDMyX3QpKHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRh
VGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTkKICAgIHQwID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDQpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
NwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQ1Lmk4cCgpICsgMjQpOyAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDkwCiAgICBpZiAodDAuaSgpID49IGlu
dHB0cl90KDB4NDApKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjUwOAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxs
T3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19sb2FkQ29u
c3RhbnRPclZhcmlhYmxlX19zaXplX19rX181OTNfbG9hZF9fY29uc3RhbnQ7CiAgICB0MyA9ICpD
QVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUwOQogICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1v
bkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU5M19sb2FkX19kb25lOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjUxMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhS
ZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5f
X2NhbGxIZWxwZXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU5M19sb2FkX19j
b25zdGFudCkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDgxCiAgICB0MyA9ICpDQVNU
PGludHB0cl90Kj4odDMuaThwKCkgKyAxNDQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjQ4MgogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4odDMuaThwKCkgKyAo
dDAuaSgpIDw8IDMpICsgaW50cHRyX3QoLTUxMikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjQ4MwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1v
bkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX2xv
YWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVfX2tfXzU5M19sb2FkX19kb25lKQogICAgaWYgKHQz
Lmk2NCgpICE9IHQyLmk2NCgpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyMDkyCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3Bf
X2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fXzU5NV9jYWxs
SGVscGVyX19vcENhbGxTbG93OwogICAgdDMgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAo
KSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDgpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0MwogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpIDw8IChpbnRwdHJfdCgweDMpICYg
MHgxZikpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDk1CiAgICB0MyA9IC10My5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjIwOTYKICAgIHQzID0gdDMuaSgpICsgY2ZyLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5Nwog
ICAgKkNBU1Q8aW50NjRfdCo+KHQzLmk4cCgpICsgMjQpID0gdDIuaTY0KCk7ICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMDk4CiAgICB0MiA9ICpDQVNUPHVpbnQxNl90
Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjQzCiAgICAqQ0FTVDxpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIp
ID0gcGMuaTMyKCk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAg
ICAqQ0FTVDxpbnQzMl90Kj4odDMuaThwKCkgKyAzNikgPSB0Mi5pMzIoKTsgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIxMDEKICAgIHNwID0gdDMuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjEwMgogICAgc3AgPSBzcC5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA2NAogICAgbHIgPSBnZXRP
cGNvZGUobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzI4KTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTA0NQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDUuaThwKCkg
KyAzMik7CiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxp
bnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzI4KQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChv
cF9jb25zdHJ1Y3RfcmV0dXJuX2xvY2F0aW9uX3dpZGUxNikKICAgIHQyID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDIwKTsgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQogICAgdDIgPSB0Mi5p
KCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6
IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDIgPSB0Mi5pKCkgKyBp
bnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIuaSgpIC0gdDIuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAxMQogICAgcGMgPSAq
Q0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NQog
ICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihwY0Jhc2UuaThwKCkgKyA4OCk7ICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NgogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxp
bnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg4CiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDk2KTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAw
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3Bf
X2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25P
cF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19jYWxsVGFyZ2V0
RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX181OTRfbWV0YWRhdGFfX3NldFVwT2Zmc2V0Owog
ICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAzMTIpOyAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19s
bGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9f
Zm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVy
Q2FsbF9fNTk0X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDE2X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhhKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSAqIGludDMy
X3QoMHg0MCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAg
dDIgPSAodWludDMyX3QpKHQyLmkzMigpICsgdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFi
bGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
OTkKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDQwKSA9IHQwLmk2NCgpOyAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHBjID0gcGMuaSgpICsgaW50
cHRyX3QoMHhjKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmko
KSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8
dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsg
KHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2Nh
bGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVy
bl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fNTk1
X2NhbGxIZWxwZXJfX29wQ2FsbFNsb3cpCiAgICAqQ0FTVDxpbnQzMl90Kj4oY2ZyLmk4cCgpICsg
MzIpID0gcGMuaTMyKCk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3
CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozODQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzg1CiAgICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNr
UG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxp
bnRfc2xvd19wYXRoX2NvbnN0cnVjdCh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1
bHQsIHQwLCB0MSk7CiAgICB9CiAgICBpZiAodDEuaSgpID09IDApICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTM3CiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxT
bG93UGF0aF9fNTk1X2FjdGlvbl9fZG9udFVwZGF0ZVNQOwogICAgc3AgPSB0MS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTEzOAogICAgc3AgPSBzcC5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA2NAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2Fs
bENhbGxTbG93UGF0aF9fNTk1X2FjdGlvbl9fZG9udFVwZGF0ZVNQKQogICAgbHIgPSBnZXRPcGNv
ZGUobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzI5KTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTA0NQogICAgb3Bjb2RlID0gdDAub3Bjb2RlKCk7CiAgICBESVNQQVRDSF9P
UENPREUoKTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfY2xvb3BfZGlkX3JldHVybl9m
cm9tX2pzXzI5KQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChvcF9jb25zdHJ1Y3Rfc2xvd19yZXR1
cm5fbG9jYXRpb25fd2lkZTE2KQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAr
IDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwNQogICAg
dDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMjApOyAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206OTk5CiAgICB0MiA9IHQyLmkoKSA8PCAoaW50cHRyX3Qo
MHgzKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMDAwCiAgICB0MiA9IHQyLmkoKSArIGludHB0cl90KDB4MCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDAxCiAg
ICBzcCA9IGNmci5pKCkgLSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDExCiAgICBwYyA9ICpDQVNUPHVpbnQzMl90Kj4o
Y2ZyLmk4cCgpICsgMzIpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjMxCiAgICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg1CiAgICBwY0Jhc2UgPSAqQ0FT
VDxpbnRwdHJfdCo+KHBjQmFzZS5pOHAoKSArIDg4KTsgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjg2CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDE2X3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgyKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEuaSgpIDw8IDMp
KSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAgIHQyID0gKkNB
U1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgOTYpOyAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkzCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRh
ZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VS
ZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxT
bG93UGF0aF9fYWN0aW9uX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX181
OTVfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFk
YXRhVGFibGUuaThwKCkgKyAzMTIpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2Fs
bE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fc2xvd1Bh
dGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fX2NhbGxUYXJnZXRGdW5jdGlvbl9f
ZGlzcGF0Y2hBZnRlckNhbGxfXzU5NV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MSA9ICpD
QVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4
YSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0MSA9ICh1aW50MzJfdCkodDEu
aTMyKCkgKiBpbnQzMl90KDB4NDApKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkzMigpKTsgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkg
KyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyA0MCkgPSB0MC5p
NjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICBwYyA9
IHBjLmkoKSArIGludHB0cl90KDB4Yyk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAog
ICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUq
Pih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9w
X2NvbnN0cnVjdF93aWRlMzIpCiAgICB0NSA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJs
ZS5pOHAoKSArIDk2KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlm
ICh0NS5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY2FsbE9w
X19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19tZXRhZGF0
YV9fNTk2X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQ1ID0gKkNBU1Q8dWludDMyX3QqPiht
ZXRhZGF0YVRhYmxlLmk4cCgpICsgMzEyKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1v
bkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX21ldGFkYXRhX181OTZf
bWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDAgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEyKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTEKICAgIHQwID0gKHVpbnQzMl90KSh0MC5pMzIoKSAqIGludDMyX3QoMHg0MCkp
OyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDUgPSAodWlu
dDMyX3QpKHQ1LmkzMigpICsgdDAuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk4CiAgICB0NSA9IHQ1LmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgIHQ1
ID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgOTYpOyAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQ1LmkzMigpICE9IDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzkz
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdp
dGhNZXRhZGF0YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X21ha2VSZXR1cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX21ldGFkYXRhX181OTdfbWV0YWRh
dGFfX3NldFVwT2Zmc2V0OwogICAgdDUgPSAqQ0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUu
aThwKCkgKyAzMTIpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbWV0YWRhdGFfXzU5N19t
ZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MTIpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1MQogICAgdDAgPSAodWludDMyX3QpKHQwLmkzMigpICogaW50MzJfdCgweDQwKSk7
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0NSA9ICh1aW50
MzJfdCkodDUuaTMyKCkgKyB0MC5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTgKICAgIHQ1ID0gdDUuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgdDAg
PSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90
KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjU1CiAgICB0MiA9ICpDQVNUPGludHB0
cl90Kj4odDUuaThwKCkgKyAyNCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjIwOTAKICAgIGlmICh0MC5pKCkgPj0gaW50cHRyX3QoMHg0MDAwMDAwMCkpICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE3CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0
YV9fbGxpbnRPcFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1
cm5fX2ZuX19mbl9fZm5fX2NhbGxIZWxwZXJfX2xvYWRDb25zdGFudE9yVmFyaWFibGVfX3NpemVf
X2tfXzU5N19sb2FkX19jb25zdGFudDsKICAgIHQzID0gKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE4
CiAgICBnb3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0YW50T3JWYXJpYWJsZV9f
c2l6ZV9fa19fNTk3X2xvYWRfX2RvbmU7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTE5Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9w
X19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fbG9hZENvbnN0
YW50T3JWYXJpYWJsZV9fc2l6ZV9fa19fNTk3X2xvYWRfX2NvbnN0YW50KQogICAgdDMgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTo0ODcKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSAr
IDE0NCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDg4CiAg
ICB0MCA9IHQwLmkoKSAtIGludHB0cl90KDB4NDAwMDAwMDApOyAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ4OQogICAgdDMgPSAqQ0FTVDxpbnQ2NF90Kj4o
dDMuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTo0OTAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY2FsbE9wX19j
b21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVy
X19sb2FkQ29uc3RhbnRPclZhcmlhYmxlX19zaXplX19rX181OTdfbG9hZF9fZG9uZSkKICAgIGlm
ICh0My5pNjQoKSAhPSB0Mi5pNjQoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5MgogICAgICAgIGdvdG8gX29mZmxpbmVhc21fY2Fs
bE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJu
X19sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181OTlf
Y2FsbEhlbHBlcl9fb3BDYWxsU2xvdzsKICAgIHQzID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2Uu
aThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhlKSk7IC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206NTEKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSA8PCAoaW50cHRyX3QoMHgz
KSAmIDB4MWYpKTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5NQogICAgdDMgPSAt
dDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyMDk2CiAgICB0MyA9IHQzLmkoKSArIGNmci5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIw
OTcKICAgICpDQVNUPGludDY0X3QqPih0My5pOHAoKSArIDI0KSA9IHQyLmk2NCgpOyAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjA5OAogICAgdDIgPSAqQ0FTVDx1aW50
MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGEpKTsgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1MQogICAgKkNBU1Q8aW50MzJfdCo+KGNmci5pOHAoKSAr
IDMyKSA9IHBjLmkzMigpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
NwogICAgKkNBU1Q8aW50MzJfdCo+KHQzLmk4cCgpICsgMzYpID0gdDIuaTMyKCk7ICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMTAxCiAgICBzcCA9IHQzLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjIxMDIKICAgIHNwID0gc3AuaSgpICsgaW50cHRyX3QoMHgxMCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNjQKICAgIGxyID0g
Z2V0T3Bjb2RlKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc18zMCk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjEwNDUKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQ1Lmk4
cCgpICsgMzIpOwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVM
KGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc18zMCkKCk9GRkxJTkVfQVNNX0dMVUVfTEFC
RUwob3BfY29uc3RydWN0X3JldHVybl9sb2NhdGlvbl93aWRlMzIpCiAgICB0MiA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxMDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0g
dDIuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4
M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgp
ICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBj
ID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4o
Y2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODUKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQxID0gKkNBU1Q8aW50MzJf
dCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0
MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAog
ICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA5Nik7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGlu
dE9wV2l0aE1ldGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fbWFrZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fY2FsbFRhcmdldEZ1bmN0
aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNTk4X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQy
ID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMzEyKTsgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9jYWxsT3BfX2NvbW1vbkNhbGxPcF9fbGxpbnRPcFdpdGhNZXRhZGF0YV9fbGxpbnRP
cFdpdGhSZXR1cm5fX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX21ha2VSZXR1cm5fX2ZuX19m
bl9fZm5fX2NhbGxIZWxwZXJfX2NhbGxUYXJnZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxf
XzU5OF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MSA9ICpDQVNUPHVpbnQzMl90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MTIpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo1MQogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICogaW50MzJfdCgw
eDQwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9
ICh1aW50MzJfdCkodDIuaTMyKCkgKyB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQyID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQog
ICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgNDApID0gdDAuaTY0KCk7ICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJf
dCgweDE2KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8
IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lk
Kj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAu
aSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRD
SF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY2FsbE9w
X19jb21tb25DYWxsT3BfX2xsaW50T3BXaXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19s
bGludE9wX19jb21tb25PcF9fZm5fX2ZuX19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX181OTlfY2Fs
bEhlbHBlcl9fb3BDYWxsU2xvdykKICAgICpDQVNUPGludDMyX3QqPihjZnIuaThwKCkgKyAzMikg
PSBwYy5pMzIoKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAg
IHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM4NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozODUKICAgIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2lu
dGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9z
bG93X3BhdGhfY29uc3RydWN0KHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwg
dDAsIHQxKTsKICAgIH0KICAgIGlmICh0MS5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMzcKICAgICAgICBn
b3RvIF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRh
X19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVy
bl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQ
YXRoX181OTlfYWN0aW9uX19kb250VXBkYXRlU1A7CiAgICBzcCA9IHQxLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMTM4CiAgICBzcCA9IHNwLmkoKSArIGludHB0cl90KDB4MTApOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDY0CgogIE9GRkxJTkVfQVNNX0xP
Q0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1l
dGFkYXRhX19sbGludE9wV2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFr
ZVJldHVybl9fZm5fX2ZuX19mbl9fY2FsbEhlbHBlcl9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2Fs
bFNsb3dQYXRoX181OTlfYWN0aW9uX19kb250VXBkYXRlU1ApCiAgICBsciA9IGdldE9wY29kZShs
bGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfMzEpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMDQ1CiAgICBvcGNvZGUgPSB0MC5vcGNvZGUoKTsKICAgIERJU1BBVENIX09QQ09E
RSgpOwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21f
anNfMzEpCgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKG9wX2NvbnN0cnVjdF9zbG93X3JldHVybl9s
b2NhdGlvbl93aWRlMzIpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1CiAgICB0MiA9
ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMp
ICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHNw
ID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMyX3QqPihjZnIu
aThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9ICpDQVNUPGlu
dHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODYKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQog
ICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+
KG1ldGFkYXRhVGFibGUuaThwKCkgKyA5Nik7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NhbGxPcF9fY29tbW9uQ2FsbE9wX19sbGludE9wV2l0aE1ldGFkYXRhX19sbGludE9w
V2l0aFJldHVybl9fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fbWFrZVJldHVybl9fZm5fX2Zu
X19mbl9fY2FsbEhlbHBlcl9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rp
b25fX2NhbGxUYXJnZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzU5OV9tZXRhZGF0YV9f
c2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAo
KSArIDMxMik7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY2FsbE9wX19jb21tb25DYWxsT3BfX2xsaW50T3BX
aXRoTWV0YWRhdGFfX2xsaW50T3BXaXRoUmV0dXJuX19sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19tYWtlUmV0dXJuX19mbl9fZm5fX2ZuX19jYWxsSGVscGVyX19zbG93UGF0aEZvckNhbGxfX2Nh
bGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVy
Q2FsbF9fNTk5X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDMyX3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxMikpOyAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKiBpbnQz
Ml90KDB4NDApKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAg
IHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRh
YmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyA0MCkgPSB0MC5pNjQoKTsgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGlu
dHB0cl90KDB4MTYpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNU
PHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSAr
ICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJ
U1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NhbGxfdmFyYXJn
cykKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncyh0MCwgdDEpOwogICAgICAgIGRl
Y29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQzID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjIwMTcKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSAr
IDgwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIwMTgKICAg
IGlmICgqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTIwMTM2KSA9PSAwKSAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIwMTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfXzU5OV9icmFuY2hJZkV4Y2Vw
dGlvbl9fbm9FeGNlcHRpb247CiAgICBnb3RvIGxsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3Ry
YW1wb2xpbmU7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMDIwCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX2RvQ2FsbFZhcmFyZ3NfXzU5OV9icmFuY2hJZkV4Y2VwdGlvbl9fbm9FeGNlcHRpb24pCiAg
ICBzcCA9IHQxLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMDI5CiAgICAqQ0FTVDxpbnQzMl90Kj4oY2ZyLmk4
cCgpICsgMzIpID0gcGMuaTMyKCk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI3CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozODQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzg1CiAgICB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVu
dFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0
ID0gbGxpbnRfc2xvd19wYXRoX2NhbGxfdmFyYXJncyh0MCwgdDEpOwogICAgICAgIGRlY29kZVJl
c3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBpZiAodDEuaSgpID09IDApICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MTM3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19k
b0NhbGxWYXJhcmdzX19zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2Fs
bENhbGxTbG93UGF0aF9fNjAwX2FjdGlvbl9fZG9udFVwZGF0ZVNQOwogICAgc3AgPSB0MS5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTEzOAogICAgc3AgPSBzcC5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA2NAoKICBPRkZM
SU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2Zu
X19kb0NhbGxWYXJhcmdzX19zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9f
Y2FsbENhbGxTbG93UGF0aF9fNjAwX2FjdGlvbl9fZG9udFVwZGF0ZVNQKQogICAgbHIgPSBnZXRP
cGNvZGUobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzMyKTsgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTA0NQogICAgb3Bjb2RlID0gdDAub3Bjb2RlKCk7CiAgICBESVNQQVRD
SF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfY2xvb3BfZGlkX3JldHVy
bl9mcm9tX2pzXzMyKQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChvcF9jYWxsX3ZhcmFyZ3Nfc2xv
d19yZXR1cm5fbG9jYXRpb24pCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1CiAgICB0
MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgw
eDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAg
IHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMyX3QqPihj
ZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9ICpDQVNU
PGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODYKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkg
PSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICB0MiA9ICpDQVNU
PHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJn
c19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1Bh
dGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNjAwX21l
dGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRh
YmxlLmk4cCgpICsgMTIwKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19kb0NhbGxWYXJhcmdzX19zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2Fs
bF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNo
QWZ0ZXJDYWxsX182MDBfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDEgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NykpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKiBp
bnQzMl90KDB4MjgpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcK
ICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkzMigpKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0
YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAxNikgPSB0MC5pNjQoKTsgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSAr
IGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NhbGxfdmFy
YXJnc193aWRlMTYpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3NpemVfZnJhbWVfZm9yX3ZhcmFyZ3ModDAsIHQxKTsK
ICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAg
ICB0MyA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMDE3CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4o
dDMuaThwKCkgKyA4MCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToyMDE4CiAgICBpZiAoKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDEyMDEzNikgPT0gMCkg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMDE5CiAgICAgICAgZ290byBfb2Zm
bGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdzX182MDBfYnJh
bmNoSWZFeGNlcHRpb25fX25vRXhjZXB0aW9uOwogICAgZ290byBsbGludF90aHJvd19mcm9tX3Ns
b3dfcGF0aF90cmFtcG9saW5lOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MjAyMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdzX182MDBfYnJhbmNoSWZFeGNlcHRpb25fX25vRXhj
ZXB0aW9uKQogICAgc3AgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjAyOQogICAgKkNBU1Q8aW50MzJf
dCo+KGNmci5pOHAoKSArIDMyKSA9IHBjLmkzMigpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyNwogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQw
ID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzg0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM4NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNr
LnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5U
eXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9jYWxsX3ZhcmFyZ3ModDAsIHQxKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgaWYgKHQxLmkoKSA9PSAw
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTEzNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZv
ckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfXzYwMV9hY3Rpb25fX2RvbnRVcGRhdGVTUDsKICAgIHNw
ID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMzgKICAgIHNwID0gc3AuaSgpICsgaW50cHRyX3QoMHgx
MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEw
NjQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0
aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfXzYwMV9hY3Rpb25fX2RvbnRVcGRhdGVTUCkKICAg
IGxyID0gZ2V0T3Bjb2RlKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc18zMyk7ICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNDUKICAgIG9wY29kZSA9IHQwLm9wY29kZSgpOwog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2Nsb29w
X2RpZF9yZXR1cm5fZnJvbV9qc18zMykKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwob3BfY2FsbF92
YXJhcmdzX3Nsb3dfcmV0dXJuX2xvY2F0aW9uX3dpZGUxNikKICAgIHQyID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDIwKTsgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQogICAgdDIgPSB0Mi5p
KCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6
IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDIgPSB0Mi5pKCkgKyBp
bnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIuaSgpIC0gdDIuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAxMQogICAgcGMgPSAq
Q0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihjZnIu
aThwKCkgKyAxNik7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NQog
ICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihwY0Jhc2UuaThwKCkgKyA4OCk7ICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NgogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxp
bnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgp
ICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
Ojg4CiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSk7ICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAw
KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZvckNh
bGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRj
aEFmdGVyQ2FsbF9fNjAxX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8dWlu
dDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTIwKTsgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGlu
dE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdzX19zbG93UGF0aEZvckNvbW1vbkNh
bGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX19jYWxsVGFyZ2V0
RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX182MDFfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQog
ICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBp
bnRwdHJfdCgweGUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0MwogICAgdDEgPSAodWlu
dDMyX3QpKHQxLmkzMigpICogaW50MzJfdCgweDI4KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKyB0MS5pMzIo
KSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQy
ID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsg
MTYpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3
OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNB
U1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09E
RV9MQUJFTChvcF9jYWxsX3ZhcmFyZ3Nfd2lkZTMyKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2Uu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAg
ICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAg
U2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9zaXplX2ZyYW1lX2Zv
cl92YXJhcmdzKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsK
ICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAt
IHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM0OQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2
KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjAxNwogICAgdDMg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgODApOyAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MjAxOAogICAgaWYgKCpDQVNUPGludHB0cl90Kj4odDMuaThw
KCkgKyAxMjAxMzYpID09IDApICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjAx
OQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9D
YWxsVmFyYXJnc19fNjAxX2JyYW5jaElmRXhjZXB0aW9uX19ub0V4Y2VwdGlvbjsKICAgIGdvdG8g
bGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZTsgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjIwMjAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fNjAxX2JyYW5j
aElmRXhjZXB0aW9uX19ub0V4Y2VwdGlvbikKICAgIHNwID0gdDEuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIw
MjkKICAgICpDQVNUPGludDMyX3QqPihjZnIuaThwKCkgKyAzMikgPSBwYy5pMzIoKTsgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIHBjID0gcGMuaSgpICsgcGNC
YXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM4NAogICAgdDEgPSBw
Yy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozODUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3
CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAg
ICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfY2FsbF92YXJh
cmdzKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0K
ICAgIGlmICh0MS5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMzcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29t
bW9uQ2FsbF9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX182MDJfYWN0aW9uX19k
b250VXBkYXRlU1A7CiAgICBzcCA9IHQxLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTM4CiAgICBzcCA9IHNw
LmkoKSArIGludHB0cl90KDB4MTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMDY0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9y
Q29tbW9uQ2FsbF9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX182MDJfYWN0aW9u
X19kb250VXBkYXRlU1ApCiAgICBsciA9IGdldE9wY29kZShsbGludF9jbG9vcF9kaWRfcmV0dXJu
X2Zyb21fanNfMzQpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDQ1CiAgICBvcGNv
ZGUgPSB0MC5vcGNvZGUoKTsKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fR0xV
RV9MQUJFTChsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfMzQpCgpPRkZMSU5FX0FTTV9H
TFVFX0xBQkVMKG9wX2NhbGxfdmFyYXJnc19zbG93X3JldHVybl9sb2NhdGlvbl93aWRlMzIpCiAg
ICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4o
dDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0
cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAK
ICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIHBjQmFzZSA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4
cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQx
ID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJf
dCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+
KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4OAogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThw
KCkpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDIu
aTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xv
d1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fX2NhbGxUYXJnZXRGdW5jdGlv
bl9fZGlzcGF0Y2hBZnRlckNhbGxfXzYwMl9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9
ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDEyMCk7ICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxp
bmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhG
b3JDb21tb25DYWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9f
Y2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNjAyX21ldGFkYXRhX19zZXRV
cE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgp
IDw8IDApICsgaW50cHRyX3QoMHgxYSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAg
ICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKiBpbnQzMl90KDB4MjgpKTsgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIo
KSArIHQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4o
dDIuaThwKCkgKyAxNikgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MWUpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fT1BDT0RFX0xBQkVMKG9wX3RhaWxfY2FsbF92YXJhcmdzKQogICAgdDAgPSAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTI3MgogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI3MwogICAgICAg
IGludDMyX3QgdGVtcCA9ICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSArIDIwMCkgKyBpbnQzMl90
KDB4YSk7CiAgICAgICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMjAwKSA9IHRlbXA7CiAg
ICAgICAgaWYgKHRlbXAgPCAwKQogICAgICAgICAgICBnb3RvICBfb2ZmbGluZWFzbV9sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19jaGVja1N3aXRjaFRvSklURm9yRXBpbG9ndWVfXzYwMl9jaGVj
a1N3aXRjaFRvSklUX19jb250aW51ZTsKICAgIH0KICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAg
ICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNs
b3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9yZXBsYWNlKHQwLCB0MSk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19j
aGVja1N3aXRjaFRvSklURm9yRXBpbG9ndWVfXzYwMl9jaGVja1N3aXRjaFRvSklUX19jb250aW51
ZSkKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3Rh
Y2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBs
bGludF9zbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncyh0MCwgdDEpOwogICAgICAgIGRl
Y29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKICAgIHQzID0gKkNB
U1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjIwMTcKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSAr
IDgwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIwMTgKICAg
IGlmICgqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTIwMTM2KSA9PSAwKSAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIwMTkKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfXzYwMl9icmFuY2hJZkV4Y2Vw
dGlvbl9fbm9FeGNlcHRpb247CiAgICBnb3RvIGxsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3Ry
YW1wb2xpbmU7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMDIwCgogIE9G
RkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX2RvQ2FsbFZhcmFyZ3NfXzYwMl9icmFuY2hJZkV4Y2VwdGlvbl9fbm9FeGNlcHRpb24pCiAg
ICBzcCA9IHQxLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMDI5CiAgICAqQ0FTVDxpbnQzMl90Kj4oY2ZyLmk4
cCgpICsgMzIpID0gcGMuaTMyKCk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjI3CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozODQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzg1CiAgICB7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVu
dFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0
ID0gbGxpbnRfc2xvd19wYXRoX3RhaWxfY2FsbF92YXJhcmdzKHQwLCB0MSk7CiAgICAgICAgZGVj
b2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIGlmICh0MS5pKCkgPT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjExMzcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9f
Zm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xvd1BhdGhGb3JDYWxs
X19jYWxsQ2FsbFNsb3dQYXRoX182MDNfYWN0aW9uX19kb250VXBkYXRlU1A7CiAgICBzcCA9IHQx
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMTM4CiAgICBtZXRhZGF0YVRhYmxlID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgLSA4KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MzYKICAg
IHQzID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzNik7ICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNzEKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEwNzIKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDI4KTsgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNzMKICAgIGlmICh0Mi5pMzIoKSA8
PSB0My5pMzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjEwNzQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9w
X19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xvd1BhdGhG
b3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fXzYwMl9wcmVwYXJlQ2FsbF9fbm9Bcml0
eUZpeHVwOwogICAgdDMgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3NQoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0NhbGxW
YXJhcmdzX19zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxT
bG93UGF0aF9fYWN0aW9uX182MDJfcHJlcGFyZUNhbGxfX25vQXJpdHlGaXh1cCkKICAgIHQzID0g
KHVpbnQzMl90KSh0My5pMzIoKSAqIGludDMyX3QoMHg4KSk7ICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjEwNzkKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSArIGlu
dDMyX3QoMHgzNykpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODAK
ICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAmIGludDMyX3QoLTE2KSk7ICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODEKICAgIHQyID0gY2ZyLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEwODMKICAgIHQyID0gdDIuaSgpICsgdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODQKICAgIHQzID0gKkNBU1Q8
dWludDMyX3QqPihzcC5pOHAoKSArIDM2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEwODYKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAqIGludDMyX3Qo
MHg4KSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODgKICAgIHQz
ID0gKHVpbnQzMl90KSh0My5pMzIoKSArIGludDMyX3QoMHgzNykpOyAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODkKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAm
IGludDMyX3QoLTE2KSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEw
OTAKICAgIHNwID0gc3AuaSgpICsgaW50cHRyX3QoMHgxMCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwOTMKICAgIHQzID0gKHVpbnQzMl90KSh0
My5pMzIoKSAtIGludDMyX3QoMHgxMCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEwOTQKICAgIGxyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyA4KTsgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwOTUKICAgIHQyID0gdDIu
aSgpIC0gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjExMDgKICAgIGNmciA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
KTsgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMDkKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZvckNh
bGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fNjAyX3ByZXBhcmVDYWxsX19jb3B5TG9vcCkK
ICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAtIGludDMyX3QoMHg4KSk7ICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMTgKICAgIHBjID0gKkNBU1Q8aW50cHRyX3Qq
PihzcC5pOHAoKSArICh0My5pKCkgPDwgMCkpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjExMTkKICAgICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAodDMuaSgpIDw8IDApKSA9
IHBjLmkoKTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMjAKICAgIGlmICh0My5pMzIo
KSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjExMjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xvd1Bh
dGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fXzYwMl9wcmVwYXJlQ2FsbF9fY29w
eUxvb3A7CiAgICBzcCA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTI0CiAgICBvcGNvZGUgPSB0MC5v
cGNvZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxMTI1CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01fTE9D
QUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFy
YXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xv
d1BhdGhfXzYwM19hY3Rpb25fX2RvbnRVcGRhdGVTUCkKICAgIGxyID0gZ2V0T3Bjb2RlKGxsaW50
X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc18zNSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEwNDUKICAgIG9wY29kZSA9IHQwLm9wY29kZSgpOwogICAgRElTUEFUQ0hfT1BDT0RFKCk7
CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc18z
NSkKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwob3BfdGFpbF9jYWxsX3ZhcmFyZ3Nfc2xvd19yZXR1
cm5fbG9jYXRpb24pCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1CiAgICB0MiA9ICpD
QVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMpICYg
KChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHNwID0g
Y2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThw
KCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEK
ICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0
cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206ODYKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5p
NjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICB0MiA9ICpDQVNUPHVpbnQx
Nl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDIpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xv
d1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2Fj
dGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNjAzX21ldGFkYXRh
X19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4
cCgpICsgMTI0KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19k
b0NhbGxWYXJhcmdzX19zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2Fs
bENhbGxTbG93UGF0aF9fYWN0aW9uX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJD
YWxsX182MDNfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDEgPSAqQ0FTVDx1aW50OF90Kj4o
cGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NykpOyAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM1CiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKiBpbnQzMl90
KDB4MjgpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQy
ID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxl
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5
CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAxNikgPSB0MC5pNjQoKTsgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0
cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkg
PDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZv
aWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0
MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3RhaWxfY2FsbF92YXJh
cmdzX3dpZGUxNikKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNzIKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEyNzMKICAgICAgICBpbnQzMl90IHRlbXAgPSAqQ0FTVDxpbnQzMl90
Kj4odDAuaThwKCkgKyAyMDApICsgaW50MzJfdCgweGEpOwogICAgICAgICpDQVNUPGludDMyX3Qq
Pih0MC5pOHAoKSArIDIwMCkgPSB0ZW1wOwogICAgICAgIGlmICh0ZW1wIDwgMCkKICAgICAgICAg
ICAgZ290byAgX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fY2hlY2tTd2l0
Y2hUb0pJVEZvckVwaWxvZ3VlX182MDNfY2hlY2tTd2l0Y2hUb0pJVF9fY29udGludWU7CiAgICB9
CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNr
UG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxp
bnRfcmVwbGFjZSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7
CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkg
LSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fY2hlY2tTd2l0Y2hUb0pJVEZvckVwaWxvZ3VlX182
MDNfY2hlY2tTd2l0Y2hUb0pJVF9fY29udGludWUpCiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAg
ICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBT
bG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3NpemVfZnJhbWVfZm9y
X3ZhcmFyZ3ModDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwog
ICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0g
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ5CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMDE3CiAgICB0MyA9
ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA4MCk7ICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToyMDE4CiAgICBpZiAoKkNBU1Q8aW50cHRyX3QqPih0My5pOHAo
KSArIDEyMDEzNikgPT0gMCkgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMDE5
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0Nh
bGxWYXJhcmdzX182MDNfYnJhbmNoSWZFeGNlcHRpb25fX25vRXhjZXB0aW9uOwogICAgZ290byBs
bGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lOyAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MjAyMAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGlu
ZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdzX182MDNfYnJhbmNo
SWZFeGNlcHRpb25fX25vRXhjZXB0aW9uKQogICAgc3AgPSB0MS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjAy
OQogICAgKkNBU1Q8aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKSA9IHBjLmkzMigpOyAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwogICAgcGMgPSBwYy5pKCkgKyBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206Mzg0CiAgICB0MSA9IHBj
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjM4NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcK
ICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAg
ICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF90YWlsX2NhbGxf
dmFyYXJncyh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAg
ICB9CiAgICBpZiAodDEuaSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTM3CiAgICAgICAgZ290byBfb2ZmbGlu
ZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdzX19zbG93UGF0aEZv
ckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fNjA0X2FjdGlv
bl9fZG9udFVwZGF0ZVNQOwogICAgc3AgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEzOAogICAgbWV0
YWRhdGFUYWJsZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpIC0gOCk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206ODM2CiAgICB0MyA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4
cCgpICsgMzYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDcx
CiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDcyCiAgICB0MiA9ICpDQVNUPHVpbnQzMl90
Kj4odDIuaThwKCkgKyAyOCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMDczCiAgICBpZiAodDIuaTMyKCkgPD0gdDMuaTMyKCkpICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDc0CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdzX19zbG93
UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0
aW9uX182MDNfcHJlcGFyZUNhbGxfX25vQXJpdHlGaXh1cDsKICAgIHQzID0gdDIuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEwNzUKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxs
X19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fNjAzX3ByZXBhcmVD
YWxsX19ub0FyaXR5Rml4dXApCiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgKiBpbnQzMl90
KDB4OCkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDc5CiAgICB0
MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgKyBpbnQzMl90KDB4MzcpKTsgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMDgwCiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkg
JiBpbnQzMl90KC0xNikpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MDgxCiAgICB0MiA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDgzCiAgICB0MiA9IHQyLmkoKSArIHQz
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMDg0CiAgICB0MyA9ICpDQVNUPHVpbnQzMl90Kj4oc3AuaThwKCkgKyAzNik7ICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDg2CiAgICB0MyA9ICh1
aW50MzJfdCkodDMuaTMyKCkgKiBpbnQzMl90KDB4OCkpOyAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMDg4CiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgKyBpbnQz
Ml90KDB4MzcpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDg5CiAg
ICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgJiBpbnQzMl90KC0xNikpOyAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDkwCiAgICBzcCA9IHNwLmkoKSArIGludHB0cl90
KDB4MTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMDkzCiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgLSBpbnQzMl90KDB4MTApKTsgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDk0CiAgICBsciA9ICpDQVNUPGlu
dHB0cl90Kj4oY2ZyLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxMDk1CiAgICB0MiA9IHQyLmkoKSAtIHQzLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTA4CiAgICBjZnIg
PSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxMTA5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZs
aW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRo
Rm9yQ29tbW9uQ2FsbF9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25f
XzYwM19wcmVwYXJlQ2FsbF9fY29weUxvb3ApCiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkg
LSBpbnQzMl90KDB4OCkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MTE4CiAgICBwYyA9ICpDQVNUPGludHB0cl90Kj4oc3AuaThwKCkgKyAodDMuaSgpIDw8IDApKTsg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTE5CiAgICAqQ0FTVDxpbnRwdHJfdCo+
KHQyLmk4cCgpICsgKHQzLmkoKSA8PCAwKSkgPSBwYy5pKCk7ICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMTIwCiAgICBpZiAodDMuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTIxCiAgICAgICAgZ290
byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdzX19z
bG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9f
YWN0aW9uX182MDNfcHJlcGFyZUNhbGxfX2NvcHlMb29wOwogICAgc3AgPSB0Mi5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTEyNAogICAgb3Bjb2RlID0gdDAub3Bjb2RlKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEyNQogICAgRElTUEFUQ0hf
T1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9f
c2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX182MDRfYWN0aW9uX19kb250VXBkYXRl
U1ApCiAgICBsciA9IGdldE9wY29kZShsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfMzYp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDQ1CiAgICBvcGNvZGUgPSB0MC5vcGNv
ZGUoKTsKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGlu
dF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfMzYpCgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKG9w
X3RhaWxfY2FsbF92YXJhcmdzX3Nsb3dfcmV0dXJuX2xvY2F0aW9uX3dpZGUxNikKICAgIHQyID0g
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAo
KSArIDIwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQog
ICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09
IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDIg
PSB0Mi5pKCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIuaSgpIC0gdDIuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAx
MQogICAgcGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgcGNCYXNlID0gKkNBU1Q8aW50
cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo4NQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihwY0Jhc2UuaThwKCkgKyA4
OCk7ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NgogICAgdDEgPSAoaW50
NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0
cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2NF90
Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjg4CiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5p
OHAoKSArIDIpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0
Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19z
bG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0
aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNjA0X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQy
ID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTI0KTsgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdzX19zbG93UGF0
aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9u
X19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX182MDRfbWV0YWRhdGFfX3Nl
dFVwT2Zmc2V0KQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweGUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0Mwog
ICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICogaW50MzJfdCgweDI4KSk7ICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMy
KCkgKyB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozOTgKICAgIHQyID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50NjRfdCo+
KHQyLmk4cCgpICsgMTYpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo3OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpD
QVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAg
b3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJ
TkVfQVNNX09QQ09ERV9MQUJFTChvcF90YWlsX2NhbGxfdmFyYXJnc193aWRlMzIpCiAgICB0MCA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxMjcyCiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjcz
CiAgICAgICAgaW50MzJfdCB0ZW1wID0gKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMjAwKSAr
IGludDMyX3QoMHhhKTsKICAgICAgICAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAyMDApID0g
dGVtcDsKICAgICAgICBpZiAodGVtcCA8IDApCiAgICAgICAgICAgIGdvdG8gIF9vZmZsaW5lYXNt
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2NoZWNrU3dpdGNoVG9KSVRGb3JFcGlsb2d1ZV9f
NjA0X2NoZWNrU3dpdGNoVG9KSVRfX2NvbnRpbnVlOwogICAgfQogICAgcGMgPSBwYy5pKCkgKyBw
Y0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9
IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTox
MTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAg
ICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3JlcGxhY2UodDAsIHQxKTsK
ICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX2NoZWNrU3dpdGNoVG9KSVRGb3JFcGlsb2d1ZV9fNjA0X2NoZWNrU3dpdGNoVG9KSVRf
X2NvbnRpbnVlKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2Zy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1
cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9zaXplX2ZyYW1lX2Zvcl92YXJhcmdzKHQwLCB0MSk7CiAg
ICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAg
dDMgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MjAxNwogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQz
Lmk4cCgpICsgODApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MjAxOAogICAgaWYgKCpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyAxMjAxMzYpID09IDApICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjAxOQogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fNjA0X2JyYW5j
aElmRXhjZXB0aW9uX19ub0V4Y2VwdGlvbjsKICAgIGdvdG8gbGxpbnRfdGhyb3dfZnJvbV9zbG93
X3BhdGhfdHJhbXBvbGluZTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIw
MjAKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fNjA0X2JyYW5jaElmRXhjZXB0aW9uX19ub0V4Y2Vw
dGlvbikKICAgIHNwID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIwMjkKICAgICpDQVNUPGludDMyX3Qq
PihjZnIuaThwKCkgKyAzMikgPSBwYy5pMzIoKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjcKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9
IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM4NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
ODUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5z
ZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlw
ZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfdGFpbF9jYWxsX3ZhcmFyZ3ModDAsIHQxKTsKICAg
ICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgaWYgKHQxLmkoKSA9
PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTEzNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0
aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfXzYwNV9hY3Rpb25fX2RvbnRVcGRhdGVTUDsKICAg
IHNwID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMzgKICAgIG1ldGFkYXRhVGFibGUgPSAqQ0FTVDxp
bnRwdHJfdCo+KGNmci5pOHAoKSAtIDgpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjgzNgogICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDM2KTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3MQogICAgdDIgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTA3MgogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMjgpOyAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3MwogICAgaWYgKHQy
LmkzMigpIDw9IHQzLmkzMigpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTA3NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19z
bG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fNjA0X3ByZXBhcmVDYWxs
X19ub0FyaXR5Rml4dXA7CiAgICB0MyA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDc1CgogIE9GRkxJ
TkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5f
X2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xvd1BhdGhGb3JDYWxsX19j
YWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fXzYwNF9wcmVwYXJlQ2FsbF9fbm9Bcml0eUZpeHVwKQog
ICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICogaW50MzJfdCgweDgpKTsgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3OQogICAgdDMgPSAodWludDMyX3QpKHQzLmkz
MigpICsgaW50MzJfdCgweDM3KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTA4MAogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICYgaW50MzJfdCgtMTYpKTsgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4MQogICAgdDIgPSBjZnIuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTA4MwogICAgdDIgPSB0Mi5pKCkgKyB0My5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4NAogICAgdDMg
PSAqQ0FTVDx1aW50MzJfdCo+KHNwLmk4cCgpICsgMzYpOyAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTA4NgogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICog
aW50MzJfdCgweDgpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4
OAogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICsgaW50MzJfdCgweDM3KSk7ICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4OQogICAgdDMgPSAodWludDMyX3QpKHQz
LmkzMigpICYgaW50MzJfdCgtMTYpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTA5MAogICAgc3AgPSBzcC5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA5MwogICAgdDMgPSAodWlu
dDMyX3QpKHQzLmkzMigpIC0gaW50MzJfdCgweDEwKSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTA5NAogICAgbHIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAr
IDgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA5NQogICAg
dDIgPSB0Mi5pKCkgLSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEwOAogICAgY2ZyID0gKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTEwOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdzX19zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQ
YXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX182MDRfcHJlcGFyZUNhbGxfX2Nv
cHlMb29wKQogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpIC0gaW50MzJfdCgweDgpKTsgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTExOAogICAgcGMgPSAqQ0FTVDxp
bnRwdHJfdCo+KHNwLmk4cCgpICsgKHQzLmkoKSA8PCAwKSk7ICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTExOQogICAgKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArICh0My5pKCkg
PDwgMCkpID0gcGMuaSgpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEyMAogICAgaWYg
KHQzLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTEyMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxs
X19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fNjA0X3ByZXBhcmVD
YWxsX19jb3B5TG9vcDsKICAgIHNwID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMjQKICAgIG9wY29k
ZSA9IHQwLm9wY29kZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjExMjUKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19k
b0NhbGxWYXJhcmdzX19zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2Fs
bENhbGxTbG93UGF0aF9fNjA1X2FjdGlvbl9fZG9udFVwZGF0ZVNQKQogICAgbHIgPSBnZXRPcGNv
ZGUobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzM3KTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTA0NQogICAgb3Bjb2RlID0gdDAub3Bjb2RlKCk7CiAgICBESVNQQVRDSF9P
UENPREUoKTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfY2xvb3BfZGlkX3JldHVybl9m
cm9tX2pzXzM3KQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChvcF90YWlsX2NhbGxfdmFyYXJnc19z
bG93X3JldHVybl9sb2NhdGlvbl93aWRlMzIpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChp
bnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3Qo
MHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWlu
dDMyX3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFz
ZSA9ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykp
ID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgdDIgPSAqQ0FT
VDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAyKTsgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFy
Z3NfX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQ
YXRoX19hY3Rpb25fX2NhbGxUYXJnZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzYwNV9t
ZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFU
YWJsZS5pOHAoKSArIDEyNCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZvckNh
bGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRj
aEFmdGVyQ2FsbF9fNjA1X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWlu
dDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxYSkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkg
KiBpbnQzMl90KDB4MjgpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
OTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkzMigpKTsgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRh
ZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAxNikgPSB0MC5pNjQoKTsg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmko
KSArIGludHB0cl90KDB4MWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEg
PSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX3RhaWxf
Y2FsbF9mb3J3YXJkX2FyZ3VtZW50cykKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThw
KCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNzIK
ICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEyNzMKICAgICAgICBpbnQzMl90IHRlbXAgPSAq
Q0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAyMDApICsgaW50MzJfdCgweGEpOwogICAgICAgICpD
QVNUPGludDMyX3QqPih0MC5pOHAoKSArIDIwMCkgPSB0ZW1wOwogICAgICAgIGlmICh0ZW1wIDwg
MCkKICAgICAgICAgICAgZ290byAgX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19m
bl9fY2hlY2tTd2l0Y2hUb0pJVEZvckVwaWxvZ3VlX182MDVfY2hlY2tTd2l0Y2hUb0pJVF9fY29u
dGludWU7CiAgICB9CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1
CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0
Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUg
cmVzdWx0ID0gbGxpbnRfcmVwbGFjZSh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1
bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAg
cGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fY2hlY2tTd2l0Y2hUb0pJVEZv
ckVwaWxvZ3VlX182MDVfY2hlY2tTd2l0Y2hUb0pJVF9fY29udGludWUpCiAgICBwYyA9IHBjLmko
KSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAg
IHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgp
KTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3Np
emVfZnJhbWVfZm9yX2ZvcndhcmRfYXJndW1lbnRzKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVz
dWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgdDMgPSAqQ0FTVDxpbnRw
dHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MjAxNwogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgODApOyAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjAxOAogICAgaWYgKCpD
QVNUPGludHB0cl90Kj4odDMuaThwKCkgKyAxMjAxMzYpID09IDApICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MjAxOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fNjA1X2JyYW5jaElmRXhjZXB0aW9uX19u
b0V4Y2VwdGlvbjsKICAgIGdvdG8gbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGlu
ZTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIwMjAKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9D
YWxsVmFyYXJnc19fNjA1X2JyYW5jaElmRXhjZXB0aW9uX19ub0V4Y2VwdGlvbikKICAgIHNwID0g
dDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjIwMjkKICAgICpDQVNUPGludDMyX3QqPihjZnIuaThwKCkgKyAz
MikgPSBwYy5pMzIoKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcK
ICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM4NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozODUKICAgIHsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQ
b2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGlu
dF9zbG93X3BhdGhfdGFpbF9jYWxsX2ZvcndhcmRfYXJndW1lbnRzKHQwLCB0MSk7CiAgICAgICAg
ZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIGlmICh0MS5pKCkgPT0gMCkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjExMzcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xvd1BhdGhGb3JD
YWxsX19jYWxsQ2FsbFNsb3dQYXRoX182MDZfYWN0aW9uX19kb250VXBkYXRlU1A7CiAgICBzcCA9
IHQxLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToxMTM4CiAgICBtZXRhZGF0YVRhYmxlID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkgLSA4KTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo4MzYK
ICAgIHQzID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAzNik7ICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNzEKICAgIHQyID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEwNzIKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDI4KTsgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNzMKICAgIGlmICh0Mi5pMzIo
KSA8PSB0My5pMzIoKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEwNzQKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xvd1Bh
dGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fXzYwNV9wcmVwYXJlQ2FsbF9fbm9B
cml0eUZpeHVwOwogICAgdDMgPSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3NQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0Nh
bGxWYXJhcmdzX19zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENh
bGxTbG93UGF0aF9fYWN0aW9uX182MDVfcHJlcGFyZUNhbGxfX25vQXJpdHlGaXh1cCkKICAgIHQz
ID0gKHVpbnQzMl90KSh0My5pMzIoKSAqIGludDMyX3QoMHg4KSk7ICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNzkKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAr
IGludDMyX3QoMHgzNykpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEw
ODAKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAmIGludDMyX3QoLTE2KSk7ICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODEKICAgIHQyID0gY2ZyLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEwODMKICAgIHQyID0gdDIuaSgpICsgdDMuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODQKICAgIHQzID0gKkNB
U1Q8dWludDMyX3QqPihzcC5pOHAoKSArIDM2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEwODYKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAqIGludDMy
X3QoMHg4KSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODgKICAg
IHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSArIGludDMyX3QoMHgzNykpOyAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwODkKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIo
KSAmIGludDMyX3QoLTE2KSk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEwOTAKICAgIHNwID0gc3AuaSgpICsgaW50cHRyX3QoMHgxMCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwOTMKICAgIHQzID0gKHVpbnQzMl90
KSh0My5pMzIoKSAtIGludDMyX3QoMHgxMCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjEwOTQKICAgIGxyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyA4KTsg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwOTUKICAgIHQyID0g
dDIuaSgpIC0gdDMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjExMDgKICAgIGNmciA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpKTsgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMDkK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3Bf
X2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZv
ckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fNjA1X3ByZXBhcmVDYWxsX19jb3B5TG9v
cCkKICAgIHQzID0gKHVpbnQzMl90KSh0My5pMzIoKSAtIGludDMyX3QoMHg4KSk7ICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMTgKICAgIHBjID0gKkNBU1Q8aW50cHRy
X3QqPihzcC5pOHAoKSArICh0My5pKCkgPDwgMCkpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjExMTkKICAgICpDQVNUPGludHB0cl90Kj4odDIuaThwKCkgKyAodDMuaSgpIDw8IDAp
KSA9IHBjLmkoKTsgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMjAKICAgIGlmICh0My5p
MzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjExMjEKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2Nv
bW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xv
d1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fXzYwNV9wcmVwYXJlQ2FsbF9f
Y29weUxvb3A7CiAgICBzcCA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTI0CiAgICBvcGNvZGUgPSB0
MC5vcGNvZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxMTI1CiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxs
VmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxs
U2xvd1BhdGhfXzYwNl9hY3Rpb25fX2RvbnRVcGRhdGVTUCkKICAgIGxyID0gZ2V0T3Bjb2RlKGxs
aW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc18zOCk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEwNDUKICAgIG9wY29kZSA9IHQwLm9wY29kZSgpOwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9q
c18zOCkKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwob3BfdGFpbF9jYWxsX2ZvcndhcmRfYXJndW1l
bnRzX3Nsb3dfcmV0dXJuX2xvY2F0aW9uKQogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAw
NQogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsgMjApOyAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTk5CiAgICB0MiA9IHQyLmkoKSA8PCAoaW50
cHRyX3QoMHgzKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkgPyAweDNmIDogMHgxZikpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMDAwCiAgICB0MiA9IHQyLmkoKSArIGludHB0cl90KDB4
MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MDAxCiAgICBzcCA9IGNmci5pKCkgLSB0Mi5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDExCiAgICBwYyA9ICpDQVNUPHVpbnQz
Ml90Kj4oY2ZyLmk4cCgpICsgMzIpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyNjQuYXNtOjMxCiAgICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2
KTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg1CiAgICBwY0Jhc2Ug
PSAqQ0FTVDxpbnRwdHJfdCo+KHBjQmFzZS5pOHAoKSArIDg4KTsgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjg2CiAgICB0MSA9IChpbnQ2NF90KSpDQVNUPGludDhfdCo+KHBj
QmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDEpKTsgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozOQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkg
PDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgdDIg
PSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA5NCk7ICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMK
ICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2Fs
bFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2Fs
bFNsb3dQYXRoX19hY3Rpb25fX2NhbGxUYXJnZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxf
XzYwNl9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0
YWRhdGFUYWJsZS5pOHAoKSArIDMwOCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
OTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9u
T3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0
aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19k
aXNwYXRjaEFmdGVyQ2FsbF9fNjA2X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDcp
KTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNQogICAgdDEgPSAodWludDMyX3QpKHQxLmkz
MigpICogaW50MzJfdCgweDI4KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206Mzk3CiAgICB0MiA9ICh1aW50MzJfdCkodDIuaTMyKCkgKyB0MS5pMzIoKSk7ICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTgKICAgIHQyID0gdDIuaSgpICsg
bWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50NjRfdCo+KHQyLmk4cCgpICsgMTYpID0gdDAuaTY0
KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo3OQogICAgcGMgPSBw
Yy5pKCkgKyBpbnRwdHJfdCgweDgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThw
KCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjAKICAg
IHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4o
dDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF90
YWlsX2NhbGxfZm9yd2FyZF9hcmd1bWVudHNfd2lkZTE2KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTI3MgogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTI3MwogICAgICAgIGludDMy
X3QgdGVtcCA9ICpDQVNUPGludDMyX3QqPih0MC5pOHAoKSArIDIwMCkgKyBpbnQzMl90KDB4YSk7
CiAgICAgICAgKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsgMjAwKSA9IHRlbXA7CiAgICAgICAg
aWYgKHRlbXAgPCAwKQogICAgICAgICAgICBnb3RvICBfb2ZmbGluZWFzbV9sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19jaGVja1N3aXRjaFRvSklURm9yRXBpbG9ndWVfXzYwNl9jaGVja1N3aXRj
aFRvSklUX19jb250aW51ZTsKICAgIH0KICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0
CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xv
b3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRo
UmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9yZXBsYWNlKHQwLCB0MSk7CiAgICAgICAgZGVjb2Rl
UmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQoKICBPRkZMSU5FX0FTTV9M
T0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19jaGVja1N3
aXRjaFRvSklURm9yRXBpbG9ndWVfXzYwNl9jaGVja1N3aXRjaFRvSklUX19jb250aW51ZSkKICAg
IHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTUKICAgIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2lu
dGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9z
bG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfZm9yd2FyZF9hcmd1bWVudHModDAsIHQxKTsKICAgICAg
ICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MyA9
ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbToyMDE3CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThw
KCkgKyA4MCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMDE4
CiAgICBpZiAoKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDEyMDEzNikgPT0gMCkgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMDE5CiAgICAgICAgZ290byBfb2ZmbGluZWFz
bV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdzX182MDZfYnJhbmNoSWZF
eGNlcHRpb25fX25vRXhjZXB0aW9uOwogICAgZ290byBsbGludF90aHJvd19mcm9tX3Nsb3dfcGF0
aF90cmFtcG9saW5lOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjAyMAoK
ICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9f
Zm5fX2ZuX19kb0NhbGxWYXJhcmdzX182MDZfYnJhbmNoSWZFeGNlcHRpb25fX25vRXhjZXB0aW9u
KQogICAgc3AgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjAyOQogICAgKkNBU1Q8aW50MzJfdCo+KGNm
ci5pOHAoKSArIDMyKSA9IHBjLmkzMigpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyNwogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2Zy
LmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206Mzg0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM4NQog
ICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1
cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCA9IGxsaW50X3Nsb3dfcGF0aF90YWlsX2NhbGxfZm9yd2FyZF9hcmd1bWVudHModDAsIHQx
KTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgaWYgKHQx
LmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTEzNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9f
Y29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19z
bG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfXzYwN19hY3Rpb25fX2RvbnRVcGRhdGVT
UDsKICAgIHNwID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMzgKICAgIG1ldGFkYXRhVGFibGUgPSAq
Q0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSAtIDgpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjgzNgogICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDM2KTsgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3MQogICAgdDIgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTA3MgogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsg
MjgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3MwogICAg
aWYgKHQyLmkzMigpIDw9IHQzLmkzMigpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3NAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxp
bnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25D
YWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fNjA2X3ByZXBh
cmVDYWxsX19ub0FyaXR5Rml4dXA7CiAgICB0MyA9IHQyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDc1Cgog
IE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19m
bl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xvd1BhdGhGb3JD
YWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fXzYwNl9wcmVwYXJlQ2FsbF9fbm9Bcml0eUZp
eHVwKQogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICogaW50MzJfdCgweDgpKTsgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA3OQogICAgdDMgPSAodWludDMyX3Qp
KHQzLmkzMigpICsgaW50MzJfdCgweDM3KSk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTA4MAogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICYgaW50MzJfdCgtMTYp
KTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4MQogICAgdDIgPSBj
ZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTA4MwogICAgdDIgPSB0Mi5pKCkgKyB0My5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4NAog
ICAgdDMgPSAqQ0FTVDx1aW50MzJfdCo+KHNwLmk4cCgpICsgMzYpOyAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4NgogICAgdDMgPSAodWludDMyX3QpKHQzLmkz
MigpICogaW50MzJfdCgweDgpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MTA4OAogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpICsgaW50MzJfdCgweDM3KSk7ICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA4OQogICAgdDMgPSAodWludDMy
X3QpKHQzLmkzMigpICYgaW50MzJfdCgtMTYpKTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTA5MAogICAgc3AgPSBzcC5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA5MwogICAgdDMg
PSAodWludDMyX3QpKHQzLmkzMigpIC0gaW50MzJfdCgweDEwKSk7ICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTA5NAogICAgbHIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAoKSArIDgpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA5
NQogICAgdDIgPSB0Mi5pKCkgLSB0My5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEwOAogICAgY2ZyID0gKkNBU1Q8aW50cHRy
X3QqPihjZnIuaThwKCkpOyAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTEwOQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9w
X19jb21tb25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdzX19zbG93UGF0aEZvckNvbW1vbkNhbGxf
X3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX182MDZfcHJlcGFyZUNh
bGxfX2NvcHlMb29wKQogICAgdDMgPSAodWludDMyX3QpKHQzLmkzMigpIC0gaW50MzJfdCgweDgp
KTsgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTExOAogICAgcGMgPSAq
Q0FTVDxpbnRwdHJfdCo+KHNwLmk4cCgpICsgKHQzLmkoKSA8PCAwKSk7ICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTExOQogICAgKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArICh0
My5pKCkgPDwgMCkpID0gcGMuaSgpOyAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEyMAog
ICAgaWYgKHQzLmkzMigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEyMQogICAgICAgIGdvdG8gX29mZmxpbmVhc21f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21t
b25DYWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fNjA2X3By
ZXBhcmVDYWxsX19jb3B5TG9vcDsKICAgIHNwID0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMjQKICAg
IG9wY29kZSA9IHQwLm9wY29kZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMjUKICAgIERJU1BBVENIX09QQ09ERSgpOwoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19kb0NhbGxWYXJhcmdzX19zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2Fs
bF9fY2FsbENhbGxTbG93UGF0aF9fNjA3X2FjdGlvbl9fZG9udFVwZGF0ZVNQKQogICAgbHIgPSBn
ZXRPcGNvZGUobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzM5KTsgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTA0NQogICAgb3Bjb2RlID0gdDAub3Bjb2RlKCk7CiAgICBESVNQ
QVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfY2xvb3BfZGlkX3Jl
dHVybl9mcm9tX2pzXzM5KQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChvcF90YWlsX2NhbGxfZm9y
d2FyZF9hcmd1bWVudHNfc2xvd19yZXR1cm5fbG9jYXRpb25fd2lkZTE2KQogICAgdDIgPSAqQ0FT
VDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MTAwNQogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+KHQyLmk4cCgpICsg
MjApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTk5CiAgICB0
MiA9IHQyLmkoKSA8PCAoaW50cHRyX3QoMHgzKSAmICgoc2l6ZW9mKHVpbnRwdHJfdCkgPT0gOCkg
PyAweDNmIDogMHgxZikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDAwCiAgICB0MiA9IHQy
LmkoKSArIGludHB0cl90KDB4MCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMDAxCiAgICBzcCA9IGNmci5pKCkgLSB0Mi5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDExCiAg
ICBwYyA9ICpDQVNUPHVpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjMxCiAgICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjg1CiAgICBwY0Jhc2UgPSAqQ0FTVDxpbnRwdHJfdCo+KHBjQmFzZS5pOHAoKSArIDg4KTsg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg2CiAgICB0MSA9IChpbnQ2NF90
KSpDQVNUPGludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHgyKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDcKICAgICpDQVNUPGludDY0X3QqPihj
ZnIuaThwKCkgKyAodDEuaSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODgKICAgIHQyID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgp
ICsgOTQpOyAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkz
MigpICE9IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21t
b25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdzX19zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQ
YXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX19jYWxsVGFyZ2V0RnVuY3Rpb25f
X2Rpc3BhdGNoQWZ0ZXJDYWxsX182MDdfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDIgPSAq
Q0FTVDx1aW50MzJfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyAzMDgpOyAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5l
YXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9y
Q29tbW9uQ2FsbF9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fX2Nh
bGxUYXJnZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzYwN19tZXRhZGF0YV9fc2V0VXBP
ZmZzZXQpCiAgICB0MSA9ICpDQVNUPHVpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8
PCAwKSArIGludHB0cl90KDB4ZSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQzCiAgICB0
MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKiBpbnQzMl90KDB4MjgpKTsgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSAr
IHQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5
OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIu
aThwKCkgKyAxNikgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MTApOyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8
dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNv
ZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9B
U01fT1BDT0RFX0xBQkVMKG9wX3RhaWxfY2FsbF9mb3J3YXJkX2FyZ3VtZW50c193aWRlMzIpCiAg
ICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMjcyCiAgICB7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMjczCiAgICAgICAgaW50MzJfdCB0ZW1wID0gKkNBU1Q8aW50MzJfdCo+KHQwLmk4cCgpICsg
MjAwKSArIGludDMyX3QoMHhhKTsKICAgICAgICAqQ0FTVDxpbnQzMl90Kj4odDAuaThwKCkgKyAy
MDApID0gdGVtcDsKICAgICAgICBpZiAodGVtcCA8IDApCiAgICAgICAgICAgIGdvdG8gIF9vZmZs
aW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2NoZWNrU3dpdGNoVG9KSVRGb3JFcGls
b2d1ZV9fNjA3X2NoZWNrU3dpdGNoVG9KSVRfX2NvbnRpbnVlOwogICAgfQogICAgcGMgPSBwYy5p
KCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAg
ICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAo
KSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3JlcGxhY2UodDAs
IHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMg
PSB0MC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzQ5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1v
bk9wX19mbl9fZm5fX2NoZWNrU3dpdGNoVG9KSVRGb3JFcGlsb2d1ZV9fNjA3X2NoZWNrU3dpdGNo
VG9KSVRfX2NvbnRpbnVlKQogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQw
ID0gY2ZyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1NQogICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNr
LnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5U
eXBlIHJlc3VsdCA9IGxsaW50X3Nsb3dfcGF0aF9zaXplX2ZyYW1lX2Zvcl9mb3J3YXJkX2FyZ3Vt
ZW50cyh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9
CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jh
c2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTozNDkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIwMTcKICAgIHQzID0gKkNB
U1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjIwMTgKICAgIGlmICgqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsg
MTIwMTM2KSA9PSAwKSAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIwMTkKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZh
cmFyZ3NfXzYwN19icmFuY2hJZkV4Y2VwdGlvbl9fbm9FeGNlcHRpb247CiAgICBnb3RvIGxsaW50
X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmU7ICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToyMDIwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNt
X2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfXzYwN19icmFuY2hJZkV4
Y2VwdGlvbl9fbm9FeGNlcHRpb24pCiAgICBzcCA9IHQxLmkoKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMDI5CiAg
ICAqQ0FTVDxpbnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIpID0gcGMuaTMyKCk7ICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjI3CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozODQKICAgIHQxID0gcGMuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206Mzg1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAg
ICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBT
bG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX3RhaWxfY2FsbF9mb3J3
YXJkX2FyZ3VtZW50cyh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0
MSk7CiAgICB9CiAgICBpZiAodDEuaSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTM3CiAgICAgICAgZ290byBf
b2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdzX19zbG93
UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fNjA4
X2FjdGlvbl9fZG9udFVwZGF0ZVNQOwogICAgc3AgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEzOAog
ICAgbWV0YWRhdGFUYWJsZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpIC0gOCk7ICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206ODM2CiAgICB0MyA9ICpDQVNUPHVpbnQzMl90Kj4o
Y2ZyLmk4cCgpICsgMzYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToxMDcxCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDcyCiAgICB0MiA9ICpDQVNUPHVp
bnQzMl90Kj4odDIuaThwKCkgKyAyOCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbToxMDczCiAgICBpZiAodDIuaTMyKCkgPD0gdDMuaTMyKCkpICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDc0CiAgICAgICAg
Z290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdz
X19zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0
aF9fYWN0aW9uX182MDdfcHJlcGFyZUNhbGxfX25vQXJpdHlGaXh1cDsKICAgIHQzID0gdDIuaSgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEwNzUKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21f
bGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21t
b25DYWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fNjA3X3By
ZXBhcmVDYWxsX19ub0FyaXR5Rml4dXApCiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgKiBp
bnQzMl90KDB4OCkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDc5
CiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgKyBpbnQzMl90KDB4MzcpKTsgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDgwCiAgICB0MyA9ICh1aW50MzJfdCkodDMu
aTMyKCkgJiBpbnQzMl90KC0xNikpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMDgxCiAgICB0MiA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDgzCiAgICB0MiA9IHQyLmko
KSArIHQzLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxMDg0CiAgICB0MyA9ICpDQVNUPHVpbnQzMl90Kj4oc3AuaThwKCkgKyAz
Nik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDg2CiAgICB0
MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgKiBpbnQzMl90KDB4OCkpOyAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbToxMDg4CiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkg
KyBpbnQzMl90KDB4MzcpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MDg5CiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgJiBpbnQzMl90KC0xNikpOyAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDkwCiAgICBzcCA9IHNwLmkoKSArIGlu
dHB0cl90KDB4MTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMDkzCiAgICB0MyA9ICh1aW50MzJfdCkodDMuaTMyKCkgLSBpbnQzMl90KDB4MTAp
KTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDk0CiAgICBsciA9ICpD
QVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgOCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMDk1CiAgICB0MiA9IHQyLmkoKSAtIHQzLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTA4CiAg
ICBjZnIgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSk7ICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTA5CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Ns
b3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19h
Y3Rpb25fXzYwN19wcmVwYXJlQ2FsbF9fY29weUxvb3ApCiAgICB0MyA9ICh1aW50MzJfdCkodDMu
aTMyKCkgLSBpbnQzMl90KDB4OCkpOyAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToxMTE4CiAgICBwYyA9ICpDQVNUPGludHB0cl90Kj4oc3AuaThwKCkgKyAodDMuaSgpIDw8
IDApKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTE5CiAgICAqQ0FTVDxpbnRw
dHJfdCo+KHQyLmk4cCgpICsgKHQzLmkoKSA8PCAwKSkgPSBwYy5pKCk7ICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToxMTIwCiAgICBpZiAodDMuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTIxCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0NhbGxWYXJh
cmdzX19zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93
UGF0aF9fYWN0aW9uX182MDdfcHJlcGFyZUNhbGxfX2NvcHlMb29wOwogICAgc3AgPSB0Mi5pKCk7
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTEyNAogICAgb3Bjb2RlID0gdDAub3Bjb2RlKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEyNQogICAgRElT
UEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29tbW9u
Q2FsbF9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX182MDhfYWN0aW9uX19kb250
VXBkYXRlU1ApCiAgICBsciA9IGdldE9wY29kZShsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21f
anNfNDApOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDQ1CiAgICBvcGNvZGUgPSB0
MC5vcGNvZGUoKTsKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fR0xVRV9MQUJF
TChsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfNDApCgpPRkZMSU5FX0FTTV9HTFVFX0xB
QkVMKG9wX3RhaWxfY2FsbF9mb3J3YXJkX2FyZ3VtZW50c19zbG93X3JldHVybl9sb2NhdGlvbl93
aWRlMzIpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1CiAgICB0MiA9ICpDQVNUPHVp
bnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgweDMpICYgKChzaXpl
b2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAgIHNwID0gY2ZyLmko
KSAtIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMyX3QqPihjZnIuaThwKCkgKyAz
Mik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzEKICAgIHBj
QmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4o
cGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
ODYKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkg
KyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQogICAgKkNBU1Q8
aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7ICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+KG1ldGFkYXRh
VGFibGUuaThwKCkgKyA5NCk7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzkyCiAg
ICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xs
aW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29tbW9u
Q2FsbF9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fX2NhbGxUYXJn
ZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzYwOF9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7
CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDMwOCk7ICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFC
RUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19f
c2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhf
X2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNjA4X21ldGFk
YXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihwY0Jhc2UuaThwKCkg
KyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxYSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjUxCiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKiBpbnQzMl90KDB4MjgpKTsgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90
KSh0Mi5pMzIoKSArIHQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxp
bnQ2NF90Kj4odDIuaThwKCkgKyAxNikgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4MWUpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAg
IHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNv
ZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykp
OyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NvbnN0cnVjdF92YXJhcmdzKQogICAgcGMg
PSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIo
c3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50X3Nsb3df
cGF0aF9zaXplX2ZyYW1lX2Zvcl92YXJhcmdzKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0
KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4
CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQogICAgdDMgPSAqQ0FTVDxpbnRwdHJf
dCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MjAxNwogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgODApOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjAxOAogICAgaWYgKCpDQVNU
PGludHB0cl90Kj4odDMuaThwKCkgKyAxMjAxMzYpID09IDApICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MjAxOQogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29t
bW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fNjA4X2JyYW5jaElmRXhjZXB0aW9uX19ub0V4
Y2VwdGlvbjsKICAgIGdvdG8gbGxpbnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZTsg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIwMjAKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxs
VmFyYXJnc19fNjA4X2JyYW5jaElmRXhjZXB0aW9uX19ub0V4Y2VwdGlvbikKICAgIHNwID0gdDEu
aSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjIwMjkKICAgICpDQVNUPGludDMyX3QqPihjZnIuaThwKCkgKyAzMikg
PSBwYy5pMzIoKTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAg
IHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjM4NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozODUKICAgIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2lu
dGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9z
bG93X3BhdGhfY29uc3RydWN0X3ZhcmFyZ3ModDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1bHQo
cmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgaWYgKHQxLmkoKSA9PSAwKSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEzNwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxs
VmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxs
U2xvd1BhdGhfXzYwOV9hY3Rpb25fX2RvbnRVcGRhdGVTUDsKICAgIHNwID0gdDEuaSgpOyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjExMzgKICAgIHNwID0gc3AuaSgpICsgaW50cHRyX3QoMHgxMCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNjQKCiAgT0ZGTElORV9B
U01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9D
YWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxD
YWxsU2xvd1BhdGhfXzYwOV9hY3Rpb25fX2RvbnRVcGRhdGVTUCkKICAgIGxyID0gZ2V0T3Bjb2Rl
KGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc180MSk7ICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjEwNDUKICAgIG9wY29kZSA9IHQwLm9wY29kZSgpOwogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJv
bV9qc180MSkKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwob3BfY29uc3RydWN0X3ZhcmFyZ3Nfc2xv
d19yZXR1cm5fbG9jYXRpb24pCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1CiAgICB0
MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJfdCgw
eDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgwKTsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEKICAg
IHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMyX3QqPihj
ZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9ICpDQVNU
PGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206ODYKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNCYXNlLmk4
cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkg
PSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICB0MiA9ICpDQVNU
PHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDQpOyAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJn
c19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1Bh
dGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNjA5X21l
dGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRh
YmxlLmk4cCgpICsgMTI4KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBP
RkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5f
X2ZuX19kb0NhbGxWYXJhcmdzX19zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2Fs
bF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNo
QWZ0ZXJDYWxsX182MDlfbWV0YWRhdGFfX3NldFVwT2Zmc2V0KQogICAgdDEgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NykpOyAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM1CiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKiBp
bnQzMl90KDB4MjgpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcK
ICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkzMigpKTsgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0
YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAxNikgPSB0MC5pNjQoKTsgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSAr
IGludHB0cl90KDB4OCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBD
QVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAo
KSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAg
IERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NvbnN0cnVj
dF92YXJhcmdzX3dpZGUxNikKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAgICB0
MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BTdGFj
ay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0dXJu
VHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfc2l6ZV9mcmFtZV9mb3JfdmFyYXJncyh0MCwg
dDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9
IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAgcGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIwMTcKICAgIHQzID0gKkNBU1Q8aW50cHRy
X3QqPih0My5pOHAoKSArIDgwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjIwMTgKICAgIGlmICgqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTIwMTM2KSA9
PSAwKSAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIwMTkKICAgICAgICBnb3Rv
IF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfXzYw
OV9icmFuY2hJZkV4Y2VwdGlvbl9fbm9FeGNlcHRpb247CiAgICBnb3RvIGxsaW50X3Rocm93X2Zy
b21fc2xvd19wYXRoX3RyYW1wb2xpbmU7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbToyMDIwCgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfXzYwOV9icmFuY2hJZkV4Y2VwdGlvbl9f
bm9FeGNlcHRpb24pCiAgICBzcCA9IHQxLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMDI5CiAgICAqQ0FTVDxp
bnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIpID0gcGMuaTMyKCk7ICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI3CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAog
ICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozODQKICAgIHQxID0gcGMuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206Mzg1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29w
U3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJl
dHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2NvbnN0cnVjdF92YXJhcmdzKHQwLCB0
MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIGlmICh0
MS5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjExMzcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3Bf
X2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9f
c2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX182MTBfYWN0aW9uX19kb250VXBkYXRl
U1A7CiAgICBzcCA9IHQxLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTM4CiAgICBzcCA9IHNwLmkoKSArIGlu
dHB0cl90KDB4MTApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToxMDY0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2xsaW50
T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFyZ3NfX3Nsb3dQYXRoRm9yQ29tbW9uQ2Fs
bF9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRoX182MTBfYWN0aW9uX19kb250VXBk
YXRlU1ApCiAgICBsciA9IGdldE9wY29kZShsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNf
NDIpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDQ1CiAgICBvcGNvZGUgPSB0MC5v
cGNvZGUoKTsKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChs
bGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfNDIpCgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVM
KG9wX2NvbnN0cnVjdF92YXJhcmdzX3Nsb3dfcmV0dXJuX2xvY2F0aW9uX3dpZGUxNikKICAgIHQy
ID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDUKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5p
OHAoKSArIDIwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5
OQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3Qp
ID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAg
dDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgweDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMQogICAgc3AgPSBjZnIuaSgpIC0gdDIuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MTAxMQogICAgcGMgPSAqQ0FTVDx1aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozMQogICAgcGNCYXNlID0gKkNBU1Q8
aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo4NQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihwY0Jhc2UuaThwKCkg
KyA4OCk7ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NgogICAgdDEgPSAo
aW50NjRfdCkqQ0FTVDxpbnQxNl90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGlu
dHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjQ3CiAgICAqQ0FTVDxpbnQ2
NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjg4CiAgICB0MiA9ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJs
ZS5pOHAoKSArIDQpOyAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlm
ICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fbGxpbnRP
cF9fY29tbW9uT3BfX2ZuX19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxs
X19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1
bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNjEwX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAg
IHQyID0gKkNBU1Q8dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMTI4KTsgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChf
b2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdzX19zbG93
UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0
aW9uX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX182MTBfbWV0YWRhdGFf
X3NldFVwT2Zmc2V0KQogICAgdDEgPSAqQ0FTVDx1aW50MTZfdCo+KHBjQmFzZS5pOHAoKSArIChw
Yy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweGUpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo0
MwogICAgdDEgPSAodWludDMyX3QpKHQxLmkzMigpICogaW50MzJfdCgweDI4KSk7ICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk3CiAgICB0MiA9ICh1aW50MzJfdCkodDIu
aTMyKCkgKyB0MS5pMzIoKSk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozOTgKICAgIHQyID0gdDIuaSgpICsgbWV0YWRhdGFUYWJsZS5pKCk7ICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OQogICAgKkNBU1Q8aW50NjRf
dCo+KHQyLmk4cCgpICsgMTYpID0gdDAuaTY0KCk7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo3OQogICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQog
ICAgb3Bjb2RlID0gKkNBU1Q8T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9G
RkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9jb25zdHJ1Y3RfdmFyYXJnc193aWRlMzIpCiAgICBw
YyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRl
cihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xv
d19wYXRoX3NpemVfZnJhbWVfZm9yX3ZhcmFyZ3ModDAsIHQxKTsKICAgICAgICBkZWNvZGVSZXN1
bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgcGMgPSB0MC5pKCk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToz
NDgKICAgIHBjID0gcGMuaSgpIC0gcGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ5CiAgICB0MyA9ICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbToyMDE3CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA4MCk7ICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMDE4CiAgICBpZiAoKkNB
U1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDEyMDEzNikgPT0gMCkgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToyMDE5CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19j
b21tb25PcF9fZm5fX2ZuX19kb0NhbGxWYXJhcmdzX182MTBfYnJhbmNoSWZFeGNlcHRpb25fX25v
RXhjZXB0aW9uOwogICAgZ290byBsbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5l
OyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjAyMAoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0Nh
bGxWYXJhcmdzX182MTBfYnJhbmNoSWZFeGNlcHRpb25fX25vRXhjZXB0aW9uKQogICAgc3AgPSB0
MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MjAyOQogICAgKkNBU1Q8aW50MzJfdCo+KGNmci5pOHAoKSArIDMy
KSA9IHBjLmkzMigpOyAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyNwog
ICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206Mzg0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM4NQogICAgeyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1Bv
aW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9IGxsaW50
X3Nsb3dfcGF0aF9jb25zdHJ1Y3RfdmFyYXJncyh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3Vs
dChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBpZiAodDEuaSgpID09IDApICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMTM3
CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19kb0Nh
bGxWYXJhcmdzX19zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENh
bGxTbG93UGF0aF9fNjExX2FjdGlvbl9fZG9udFVwZGF0ZVNQOwogICAgc3AgPSB0MS5pKCk7ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MTEzOAogICAgc3AgPSBzcC5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTA2NAoKICBPRkZMSU5F
X0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19k
b0NhbGxWYXJhcmdzX19zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2Fs
bENhbGxTbG93UGF0aF9fNjExX2FjdGlvbl9fZG9udFVwZGF0ZVNQKQogICAgbHIgPSBnZXRPcGNv
ZGUobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzQzKTsgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MTA0NQogICAgb3Bjb2RlID0gdDAub3Bjb2RlKCk7CiAgICBESVNQQVRDSF9P
UENPREUoKTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfY2xvb3BfZGlkX3JldHVybl9m
cm9tX2pzXzQzKQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChvcF9jb25zdHJ1Y3RfdmFyYXJnc19z
bG93X3JldHVybl9sb2NhdGlvbl93aWRlMzIpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2Zy
Lmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MDA1CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChp
bnRwdHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3Qo
MHgwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjEwMDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWlu
dDMyX3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsg
MTYpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFz
ZSA9ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5p
OHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbTo1NQogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykp
ID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgdDIgPSAqQ0FT
VDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA0KTsgICAgICAgICAgLy8gL2hvbWUv
bmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAg
ICBnb3RvIF9vZmZsaW5lYXNtX2xsaW50T3BfX2NvbW1vbk9wX19mbl9fZm5fX2RvQ2FsbFZhcmFy
Z3NfX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQ
YXRoX19hY3Rpb25fX2NhbGxUYXJnZXRGdW5jdGlvbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzYxMV9t
ZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFU
YWJsZS5pOHAoKSArIDEyOCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAg
T0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2Zu
X19mbl9fZG9DYWxsVmFyYXJnc19fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZvckNh
bGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRj
aEFmdGVyQ2FsbF9fNjExX21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWlu
dDMyX3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxYSkpOyAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjUxCiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkg
KiBpbnQzMl90KDB4MjgpKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToz
OTcKICAgIHQyID0gKHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkzMigpKTsgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRh
ZGF0YVRhYmxlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyAxNikgPSB0MC5pNjQoKTsg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmko
KSArIGludHB0cl90KDB4MWUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSAr
IChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEg
PSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5p
OHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIK
ICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NhbGxf
ZXZhbCkKICAgICpDQVNUPGludDMyX3QqPihjZnIuaThwKCkgKyAzMikgPSBwYy5pMzIoKTsgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIHBjID0gcGMuaSgpICsg
cGNCYXNlLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzQ0CiAgICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM4NAogICAgdDEg
PSBwYy5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozODUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MTE3CiAgICAgICAgY2xvb3BTdGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwog
ICAgICAgIFNsb3dQYXRoUmV0dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfY2FsbF9l
dmFsKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0K
ICAgIGlmICh0MS5pKCkgPT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMzcKICAgICAgICBnb3RvIF9vZmZsaW5lYXNt
X3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xvd1BhdGhGb3JDYWxsX19jYWxsQ2FsbFNsb3dQYXRo
X182MTJfYWN0aW9uX19kb250VXBkYXRlU1A7CiAgICBzcCA9IHQxLmkoKTsgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTox
MTM4CiAgICBzcCA9IHNwLmkoKSArIGludHB0cl90KDB4MTApOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDY0CgogIE9GRkxJTkVfQVNNX0xPQ0FM
X0xBQkVMKF9vZmZsaW5lYXNtX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xvd1BhdGhGb3JDYWxs
X19jYWxsQ2FsbFNsb3dQYXRoX182MTJfYWN0aW9uX19kb250VXBkYXRlU1ApCiAgICBsciA9IGdl
dE9wY29kZShsbGludF9jbG9vcF9kaWRfcmV0dXJuX2Zyb21fanNfNDQpOyAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMDQ1CiAgICBvcGNvZGUgPSB0MC5vcGNvZGUoKTsKICAgIERJU1BB
VENIX09QQ09ERSgpOwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9jbG9vcF9kaWRfcmV0
dXJuX2Zyb21fanNfNDQpCgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKG9wX2NhbGxfZXZhbF9uYXJy
b3dfc2xvd19yZXR1cm5fbG9jYXRpb24pCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4
cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1
CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRw
dHJfdCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgw
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEw
MDEKICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMy
X3QqPihjZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
OyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9
ICpDQVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50OF90Kj4ocGNC
YXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MSkpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjM5CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8
PCAzKSkgPSB0MC5pNjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICB0MiA9
ICpDQVNUPHVpbnQxNl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDkyKTsgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5Mwog
ICAgICAgIGdvdG8gX29mZmxpbmVhc21fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZv
ckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNw
YXRjaEFmdGVyQ2FsbF9fNjEyX21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8
dWludDMyX3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgMzA0KTsgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9z
bG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9f
YWN0aW9uX19jYWxsVGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX182MTJfbWV0YWRh
dGFfX3NldFVwT2Zmc2V0KQogICAgdDEgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4NikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjM1CiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKiBpbnQzMl90KDB4NDApKTsgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0gKHVpbnQzMl90KSh0
Mi5pMzIoKSArIHQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmkoKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAgICAqQ0FTVDxpbnQ2
NF90Kj4odDIuaThwKCkgKyA0MCkgPSB0MC5pNjQoKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4Nyk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQw
ID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVN
YXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIx
CiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoK
T0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2NhbGxfZXZhbF93aWRlMTYpCiAgICAqQ0FTVDxp
bnQzMl90Kj4oY2ZyLmk4cCgpICsgMzIpID0gcGMuaTMyKCk7ICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjI3CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAog
ICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozODQKICAgIHQxID0gcGMuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206Mzg1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29w
U3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJl
dHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2NhbGxfZXZhbF93aWRlMTYodDAsIHQx
KTsKICAgICAgICBkZWNvZGVSZXN1bHQocmVzdWx0LCB0MCwgdDEpOwogICAgfQogICAgaWYgKHQx
LmkoKSA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTEzNwogICAgICAgIGdvdG8gX29mZmxpbmVhc21fc2xvd1BhdGhG
b3JDb21tb25DYWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfXzYxM19hY3Rp
b25fX2RvbnRVcGRhdGVTUDsKICAgIHNwID0gdDEuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjExMzgKICAgIHNw
ID0gc3AuaSgpICsgaW50cHRyX3QoMHgxMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwNjQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29m
ZmxpbmVhc21fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxs
U2xvd1BhdGhfXzYxM19hY3Rpb25fX2RvbnRVcGRhdGVTUCkKICAgIGxyID0gZ2V0T3Bjb2RlKGxs
aW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9qc180NSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjEwNDUKICAgIG9wY29kZSA9IHQwLm9wY29kZSgpOwogICAgRElTUEFUQ0hfT1BDT0RF
KCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2Nsb29wX2RpZF9yZXR1cm5fZnJvbV9q
c180NSkKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwob3BfY2FsbF9ldmFsX3dpZGUxNl9zbG93X3Jl
dHVybl9sb2NhdGlvbl93aWRlMTYpCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToxMDA1CiAg
ICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4odDIuaThwKCkgKyAyMCk7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTkKICAgIHQyID0gdDIuaSgpIDw8IChpbnRwdHJf
dCgweDMpICYgKChzaXplb2YodWludHB0cl90KSA9PSA4KSA/IDB4M2YgOiAweDFmKSk7IC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDAKICAgIHQyID0gdDIuaSgpICsgaW50cHRyX3QoMHgwKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDEK
ICAgIHNwID0gY2ZyLmkoKSAtIHQyLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMTEKICAgIHBjID0gKkNBU1Q8dWludDMyX3Qq
PihjZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9ICpD
QVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgdDIgPSAq
Q0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA5Mik7ICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX3Nsb3dQYXRoRm9yQ29tbW9uQ2FsbF9fc2xvd1BhdGhGb3JD
YWxsX19jYWxsQ2FsbFNsb3dQYXRoX19hY3Rpb25fX2NhbGxUYXJnZXRGdW5jdGlvbl9fZGlzcGF0
Y2hBZnRlckNhbGxfXzYxM19tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVp
bnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDMwNCk7ICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fc2xv
d1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxDYWxsU2xvd1BhdGhfX2Fj
dGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2FsbF9fNjEzX21ldGFkYXRh
X19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAo
cGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhjKSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
NDMKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIoKSAqIGludDMyX3QoMHg0MCkpOyAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDIgPSAodWludDMyX3QpKHQy
LmkzMigpICsgdDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206Mzk4CiAgICB0MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0
X3QqPih0Mi5pOHAoKSArIDQwKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206NzkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAg
PSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1h
cCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEK
ICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAg
ICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpP
RkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfY2FsbF9ldmFsX3dpZGUzMikKICAgICpDQVNUPGlu
dDMyX3QqPihjZnIuaThwKCkgKyAzMikgPSBwYy5pMzIoKTsgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjcKICAgIHBjID0gcGMuaSgpICsgcGNCYXNlLmkoKTsgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ0CiAg
ICB0MCA9IGNmci5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM4NAogICAgdDEgPSBwYy5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozODUKICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MTE3CiAgICAgICAgY2xvb3BT
dGFjay5zZXRDdXJyZW50U3RhY2tQb2ludGVyKHNwLnZwKCkpOwogICAgICAgIFNsb3dQYXRoUmV0
dXJuVHlwZSByZXN1bHQgPSBsbGludF9zbG93X3BhdGhfY2FsbF9ldmFsX3dpZGUzMih0MCwgdDEp
OwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1bHQsIHQwLCB0MSk7CiAgICB9CiAgICBpZiAodDEu
aSgpID09IDApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbToxMTM3CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9zbG93UGF0aEZv
ckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fNjE0X2FjdGlv
bl9fZG9udFVwZGF0ZVNQOwogICAgc3AgPSB0MS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTEzOAogICAgc3Ag
PSBzcC5pKCkgKyBpbnRwdHJfdCgweDEwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206MTA2NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2Zm
bGluZWFzbV9zbG93UGF0aEZvckNvbW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxT
bG93UGF0aF9fNjE0X2FjdGlvbl9fZG9udFVwZGF0ZVNQKQogICAgbHIgPSBnZXRPcGNvZGUobGxp
bnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pzXzQ2KTsgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MTA0NQogICAgb3Bjb2RlID0gdDAub3Bjb2RlKCk7CiAgICBESVNQQVRDSF9PUENPREUo
KTsKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfY2xvb3BfZGlkX3JldHVybl9mcm9tX2pz
XzQ2KQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChvcF9jYWxsX2V2YWxfd2lkZTMyX3Nsb3dfcmV0
dXJuX2xvY2F0aW9uX3dpZGUzMikKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkg
KyAxNik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjEwMDUKICAg
IHQyID0gKkNBU1Q8dWludDMyX3QqPih0Mi5pOHAoKSArIDIwKTsgICAgICAgICAgICAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5OQogICAgdDIgPSB0Mi5pKCkgPDwgKGludHB0cl90
KDB4MykgJiAoKHNpemVvZih1aW50cHRyX3QpID09IDgpID8gMHgzZiA6IDB4MWYpKTsgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MTAwMAogICAgdDIgPSB0Mi5pKCkgKyBpbnRwdHJfdCgweDApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAwMQog
ICAgc3AgPSBjZnIuaSgpIC0gdDIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MTAxMQogICAgcGMgPSAqQ0FTVDx1aW50MzJfdCo+
KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbTozMQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNik7ICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NQogICAgcGNCYXNlID0gKkNB
U1Q8aW50cHRyX3QqPihwY0Jhc2UuaThwKCkgKyA4OCk7ICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTo4NgogICAgdDEgPSAqQ0FTVDxpbnQzMl90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSArIGludHB0cl90KDB4MikpOyAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjU1CiAgICAqQ0FTVDxpbnQ2NF90Kj4oY2ZyLmk4cCgpICsgKHQxLmkoKSA8PCAzKSkgPSB0MC5p
NjQoKTsgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjg4CiAgICB0MiA9ICpDQVNUPHVpbnQx
Nl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSArIDkyKTsgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTIKICAgIGlmICh0Mi5pMzIoKSAhPSAwKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fc2xvd1BhdGhGb3JDb21tb25DYWxsX19zbG93UGF0aEZvckNhbGxfX2NhbGxD
YWxsU2xvd1BhdGhfX2FjdGlvbl9fY2FsbFRhcmdldEZ1bmN0aW9uX19kaXNwYXRjaEFmdGVyQ2Fs
bF9fNjE0X21ldGFkYXRhX19zZXRVcE9mZnNldDsKICAgIHQyID0gKkNBU1Q8dWludDMyX3QqPiht
ZXRhZGF0YVRhYmxlLmk4cCgpICsgMzA0KTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9zbG93UGF0aEZvckNv
bW1vbkNhbGxfX3Nsb3dQYXRoRm9yQ2FsbF9fY2FsbENhbGxTbG93UGF0aF9fYWN0aW9uX19jYWxs
VGFyZ2V0RnVuY3Rpb25fX2Rpc3BhdGNoQWZ0ZXJDYWxsX182MTRfbWV0YWRhdGFfX3NldFVwT2Zm
c2V0KQogICAgdDEgPSAqQ0FTVDx1aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkgKyBpbnRwdHJfdCgweDE2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NTEKICAgIHQx
ID0gKHVpbnQzMl90KSh0MS5pMzIoKSAqIGludDMyX3QoMHg0MCkpOyAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5NwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICsg
dDEuaTMyKCkpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4
CiAgICB0MiA9IHQyLmkoKSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0Mi5p
OHAoKSArIDQwKSA9IHQwLmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206NzkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHgxYSk7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1
aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29k
ZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FT
TV9HTFVFX0xBQkVMKGxsaW50X2dlbmVyaWNfcmV0dXJuX3BvaW50KQogICAgcGMgPSAqQ0FTVDx1
aW50MzJfdCo+KGNmci5pOHAoKSArIDMyKTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbTozMQogICAgcGNCYXNlID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkg
KyAxNik7ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NQogICAgcGNC
YXNlID0gKkNBU1Q8aW50cHRyX3QqPihwY0Jhc2UuaThwKCkgKyA4OCk7ICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4NgogICAgdDEgPSAoaW50NjRfdCkqQ0FTVDxpbnQ4X3Qq
PihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxKSk7IC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MzkKICAgICpDQVNUPGludDY0X3QqPihjZnIuaThwKCkgKyAodDEu
aSgpIDw8IDMpKSA9IHQwLmk2NCgpOyAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODgKICAg
IHQyID0gKkNBU1Q8dWludDE2X3QqPihtZXRhZGF0YVRhYmxlLmk4cCgpICsgOTIpOyAgICAgICAg
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjM5MgogICAgaWYgKHQyLmkzMigpICE9IDApICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206
MzkzCiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9jb21tb25PcF9fZm5fX2Rpc3BhdGNoQWZ0ZXJD
YWxsX182MTVfbWV0YWRhdGFfX3NldFVwT2Zmc2V0OwogICAgdDIgPSAqQ0FTVDx1aW50MzJfdCo+
KG1ldGFkYXRhVGFibGUuaThwKCkgKyAzMDQpOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206Mzk0CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX2NvbW1vbk9wX19m
bl9fZGlzcGF0Y2hBZnRlckNhbGxfXzYxNV9tZXRhZGF0YV9fc2V0VXBPZmZzZXQpCiAgICB0MSA9
ICpDQVNUPHVpbnQ4X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3Qo
MHg2KSk7IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzUKICAgIHQxID0gKHVpbnQzMl90KSh0
MS5pMzIoKSAqIGludDMyX3QoMHg0MCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXIuYXNtOjM5NwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICsgdDEuaTMyKCkpOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MiA9IHQyLmko
KSArIG1ldGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDQwKSA9IHQw
Lmk2NCgpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHBj
ID0gcGMuaSgpICsgaW50cHRyX3QoMHg3KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNl
Lmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIw
CiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29k
ZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIu
YXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxs
aW50X2dlbmVyaWNfcmV0dXJuX3BvaW50X3dpZGUxNikKICAgIHBjID0gKkNBU1Q8dWludDMyX3Qq
PihjZnIuaThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9ICpD
QVNUPGludHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206ODYKICAgIHQxID0gKGludDY0X3QpKkNBU1Q8aW50MTZfdCo+KHBjQmFz
ZS5pOHAoKSArIChwYy5pKCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbTo0NwogICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwg
MykpID0gdDAuaTY0KCk7ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgdDIgPSAq
Q0FTVDx1aW50MTZfdCo+KG1ldGFkYXRhVGFibGUuaThwKCkgKyA5Mik7ICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAg
ICAgICBnb3RvIF9vZmZsaW5lYXNtX2NvbW1vbk9wX19mbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzYx
Nl9tZXRhZGF0YV9fc2V0VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRh
dGFUYWJsZS5pOHAoKSArIDMwNCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQK
CiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tbW9uT3BfX2ZuX19kaXNw
YXRjaEFmdGVyQ2FsbF9fNjE2X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8
dWludDE2X3QqPihwY0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHhjKSk7
IC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NDMKICAgIHQxID0gKHVpbnQzMl90KSh0MS5pMzIo
KSAqIGludDMyX3QoMHg0MCkpOyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNt
OjM5NwogICAgdDIgPSAodWludDMyX3QpKHQyLmkzMigpICsgdDEuaTMyKCkpOyAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk4CiAgICB0MiA9IHQyLmkoKSArIG1l
dGFkYXRhVGFibGUuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNh
dGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJl
dGVyLmFzbTozOTkKICAgICpDQVNUPGludDY0X3QqPih0Mi5pOHAoKSArIDQwKSA9IHQwLmk2NCgp
OyAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206NzkKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHhlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50X2dl
bmVyaWNfcmV0dXJuX3BvaW50X3dpZGUzMikKICAgIHBjID0gKkNBU1Q8dWludDMyX3QqPihjZnIu
aThwKCkgKyAzMik7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MzEKICAgIHBjQmFzZSA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpOyAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206ODUKICAgIHBjQmFzZSA9ICpDQVNUPGlu
dHB0cl90Kj4ocGNCYXNlLmk4cCgpICsgODgpOyAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0
YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc206ODYKICAgIHQxID0gKkNBU1Q8aW50MzJfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5p
KCkgPDwgMCkgKyBpbnRwdHJfdCgweDIpKTsgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo1NQog
ICAgKkNBU1Q8aW50NjRfdCo+KGNmci5pOHAoKSArICh0MS5pKCkgPDwgMykpID0gdDAuaTY0KCk7
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTo4OAogICAgdDIgPSAqQ0FTVDx1aW50MTZfdCo+
KG1ldGFkYXRhVGFibGUuaThwKCkgKyA5Mik7ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnph
L1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c206MzkyCiAgICBpZiAodDIuaTMyKCkgIT0gMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTMKICAgICAgICBnb3RvIF9vZmZs
aW5lYXNtX2NvbW1vbk9wX19mbl9fZGlzcGF0Y2hBZnRlckNhbGxfXzYxN19tZXRhZGF0YV9fc2V0
VXBPZmZzZXQ7CiAgICB0MiA9ICpDQVNUPHVpbnQzMl90Kj4obWV0YWRhdGFUYWJsZS5pOHAoKSAr
IDMwNCk7ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTQKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fY29tbW9uT3BfX2ZuX19kaXNwYXRjaEFmdGVyQ2FsbF9f
NjE3X21ldGFkYXRhX19zZXRVcE9mZnNldCkKICAgIHQxID0gKkNBU1Q8dWludDMyX3QqPihwY0Jh
c2UuaThwKCkgKyAocGMuaSgpIDw8IDApICsgaW50cHRyX3QoMHgxNikpOyAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjUxCiAgICB0MSA9ICh1aW50MzJfdCkodDEuaTMyKCkgKiBpbnQzMl90KDB4
NDApKTsgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozOTcKICAgIHQyID0g
KHVpbnQzMl90KSh0Mi5pMzIoKSArIHQxLmkzMigpKTsgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOjM5OAogICAgdDIgPSB0Mi5pKCkgKyBtZXRhZGF0YVRhYmxlLmko
KTsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206Mzk5CiAg
ICAqQ0FTVDxpbnQ2NF90Kj4odDIuaThwKCkgKyA0MCkgPSB0MC5pNjQoKTsgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjc5CiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90
KDB4MWEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMzgKICAgIHQwID0gKkNBU1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwg
MCkpOyAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQq
PigmZ19vcGNvZGVNYXApOyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIxCiAgICBvcGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5p
KCkgPDwgMykpOyAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENI
X09QQ09ERSgpOwoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2lkZW50aXR5X3dpdGhfcHJv
ZmlsZSkKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHg0KTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50
OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9
ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9P
UENPREVfTEFCRUwob3BfaWRlbnRpdHlfd2l0aF9wcm9maWxlX3dpZGUxNikKICAgIHBjID0gcGMu
aSgpICsgaW50cHRyX3QoMHg4KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgp
ICsgKHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0
MSA9IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQx
Lmk4cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMy
MgogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfaWRl
bnRpdHlfd2l0aF9wcm9maWxlX3dpZGUzMikKICAgIHBjID0gcGMuaSgpICsgaW50cHRyX3QoMHhl
KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMz
OAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsgKHBjLmkoKSA8PCAwKSk7
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9IENBU1Q8dm9pZCo+KCZn
X29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4cCgpICsgKHQwLmkoKSA8
PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgogICAgRElTUEFUQ0hfT1BD
T0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfeWllbGQpCiAgICBDUkFTSCgpOyAv
LyBicmVhayBpbnN0cnVjdGlvbiBub3QgaW1wbGVtZW50ZWQuICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbToyMjQyCgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfeWllbGRfd2lk
ZTE2KQogICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVudGVkLiAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjI0MgoKT0ZGTElORV9BU01fT1BDT0RF
X0xBQkVMKG9wX3lpZWxkX3dpZGUzMikKICAgIENSQVNIKCk7IC8vIGJyZWFrIGluc3RydWN0aW9u
IG5vdCBpbXBsZW1lbnRlZC4gICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjIyNDIK
Ck9GRkxJTkVfQVNNX09QQ09ERV9MQUJFTChvcF9jcmVhdGVfZ2VuZXJhdG9yX2ZyYW1lX2Vudmly
b25tZW50KQogICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVudGVk
LiAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjI0MgoKT0ZGTElORV9BU01fT1BD
T0RFX0xBQkVMKG9wX2NyZWF0ZV9nZW5lcmF0b3JfZnJhbWVfZW52aXJvbm1lbnRfd2lkZTE2KQog
ICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVudGVkLiAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjI0MgoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVM
KG9wX2NyZWF0ZV9nZW5lcmF0b3JfZnJhbWVfZW52aXJvbm1lbnRfd2lkZTMyKQogICAgQ1JBU0go
KTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVudGVkLiAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206MjI0MgoKT0ZGTElORV9BU01fT1BDT0RFX0xBQkVMKG9wX2RlYnVn
KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAgICAgICAg
ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjE1MgogICAgdDAgPSAqQ0FTVDx1aW50MzJf
dCo+KHQwLmk4cCgpICsgNDApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc206MjE1MwogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjE1NAogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX19mbl9fb3BEZWJ1Z0RvbmU7CiAgICBw
YyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAgdDAgPSBjZnIuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzU1CiAgICB7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRl
cihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVyblR5cGUgcmVzdWx0ID0gbGxpbnRfc2xv
d19wYXRoX2RlYnVnKHQwLCB0MSk7CiAgICAgICAgZGVjb2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQx
KTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MzQ4CiAgICBwYyA9IHBjLmko
KSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjM0OQoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFz
bV9sbGludE9wX19jb21tb25PcF9fZm5fX2ZuX19vcERlYnVnRG9uZSkKICAgIHBjID0gcGMuaSgp
ICsgaW50cHRyX3QoMHgzKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtOjMzOAogICAgdDAgPSAqQ0FTVDx1aW50OF90Kj4ocGNCYXNlLmk4cCgpICsg
KHBjLmkoKSA8PCAwKSk7ICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIwCiAgICB0MSA9
IENBU1Q8dm9pZCo+KCZnX29wY29kZU1hcCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTozMjEKICAgIG9wY29kZSA9ICpDQVNUPE9wY29kZSo+KHQxLmk4
cCgpICsgKHQwLmkoKSA8PCAzKSk7ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMgog
ICAgRElTUEFUQ0hfT1BDT0RFKCk7CgpPRkZMSU5FX0FTTV9PUENPREVfTEFCRUwob3BfZGVidWdf
d2lkZTE2KQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDE2KTsgICAgICAg
ICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjE1MgogICAgdDAgPSAqQ0FTVDx1
aW50MzJfdCo+KHQwLmk4cCgpICsgNDApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc206MjE1MwogICAgaWYgKHQwLmkzMigpID09IDApICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjE1NAogICAgICAg
IGdvdG8gX29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX182MTdfZm5fX29wRGVidWdE
b25lOwogICAgcGMgPSBwYy5pKCkgKyBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDQKICAgIHQwID0gY2ZyLmkoKTsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MzU0CiAgICB0MSA9IHBjLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM1NQogICAgeyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToxMTcKICAgICAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRT
dGFja1BvaW50ZXIoc3AudnAoKSk7CiAgICAgICAgU2xvd1BhdGhSZXR1cm5UeXBlIHJlc3VsdCA9
IGxsaW50X3Nsb3dfcGF0aF9kZWJ1Zyh0MCwgdDEpOwogICAgICAgIGRlY29kZVJlc3VsdChyZXN1
bHQsIHQwLCB0MSk7CiAgICB9CiAgICBwYyA9IHQwLmkoKTsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OAogICAg
cGMgPSBwYy5pKCkgLSBwY0Jhc2UuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNDkKCiAgT0ZGTElORV9BU01fTE9DQUxfTEFCRUwo
X29mZmxpbmVhc21fbGxpbnRPcF9fY29tbW9uT3BfX2ZuX182MTdfZm5fX29wRGVidWdEb25lKQog
ICAgcGMgPSBwYy5pKCkgKyBpbnRwdHJfdCgweDYpOyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzM4CiAgICB0MCA9ICpDQVNUPHVpbnQ4X3QqPihw
Y0Jhc2UuaThwKCkgKyAocGMuaSgpIDw8IDApKTsgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bTozMjAKICAgIHQxID0gQ0FTVDx2b2lkKj4oJmdfb3Bjb2RlTWFwKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjMyMQogICAgb3Bjb2RlID0gKkNBU1Q8
T3Bjb2RlKj4odDEuaThwKCkgKyAodDAuaSgpIDw8IDMpKTsgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206MzIyCiAgICBESVNQQVRDSF9PUENPREUoKTsKCk9GRkxJTkVfQVNNX09QQ09ERV9M
QUJFTChvcF9kZWJ1Z193aWRlMzIpCiAgICB0MCA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgp
ICsgMTYpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMTUyCiAg
ICB0MCA9ICpDQVNUPHVpbnQzMl90Kj4odDAuaThwKCkgKyA0MCk7ICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToyMTUzCiAgICBpZiAodDAuaTMyKCkgPT0gMCkgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToyMTU0CiAgICAgICAgZ290byBfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fXzYx
OF9mbl9fb3BEZWJ1Z0RvbmU7CiAgICBwYyA9IHBjLmkoKSArIHBjQmFzZS5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0NAogICAg
dDAgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbTozNTQKICAgIHQxID0gcGMuaSgpOyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MzU1CiAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjExNwogICAgICAgIGNsb29wU3Rh
Y2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsKICAgICAgICBTbG93UGF0aFJldHVy
blR5cGUgcmVzdWx0ID0gbGxpbnRfc2xvd19wYXRoX2RlYnVnKHQwLCB0MSk7CiAgICAgICAgZGVj
b2RlUmVzdWx0KHJlc3VsdCwgdDAsIHQxKTsKICAgIH0KICAgIHBjID0gdDAuaSgpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MzQ4CiAgICBwYyA9IHBjLmkoKSAtIHBjQmFzZS5pKCk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjM0OQoKICBPRkZMSU5FX0FT
TV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9sbGludE9wX19jb21tb25PcF9fZm5fXzYxOF9mbl9f
b3BEZWJ1Z0RvbmUpCiAgICBwYyA9IHBjLmkoKSArIGludHB0cl90KDB4YSk7ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTozMzgKICAgIHQwID0gKkNB
U1Q8dWludDhfdCo+KHBjQmFzZS5pOHAoKSArIChwYy5pKCkgPDwgMCkpOyAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOjMyMAogICAgdDEgPSBDQVNUPHZvaWQqPigmZ19vcGNvZGVNYXApOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MzIxCiAgICBv
cGNvZGUgPSAqQ0FTVDxPcGNvZGUqPih0MS5pOHAoKSArICh0MC5pKCkgPDwgMykpOyAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbTozMjIKICAgIERJU1BBVENIX09QQ09ERSgpOwoKT0ZGTElO
RV9BU01fR0xVRV9MQUJFTChsbGludF9uYXRpdmVfY2FsbF90cmFtcG9saW5lKQogICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlci5hc206OTcxCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5NzcKICAg
IFBVU0gobHIpOwogICAgUFVTSChjZnIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTc4CiAgICBjZnIgPSBzcC5p
KCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyLmFzbTo5ODAKICAgICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYpID0g
aW50cHRyX3QoMHgwKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjI1MAogICAg
dDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDI0KTsgICAgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjUxCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4o
dDAuaThwKCkgKyAyNCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjIyNTIKICAgIGlmICgodDIuaSgpICYgaW50cHRyX3QoMHgxKSkgPT0gMCkgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjI1MwogICAgICAgIGdvdG8g
X29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX19uYXRpdmVDYWxsVHJh
bXBvbGluZV9faXNFeGVjdXRhYmxlOwogICAgdDIgPSAqQ0FTVDxpbnRwdHJfdCo+KHQyLmk4cCgp
ICsgNTUpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjU0
CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5f
X3NpemVfX2tfX2dlbl9fbmF0aXZlQ2FsbFRyYW1wb2xpbmVfX2lzRXhlY3V0YWJsZSkKICAgIHQw
ID0gKkNBU1Q8aW50cHRyX3QqPih0MC5pOHAoKSArIDE2KTsgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjI1NgogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQw
Lmk4cCgpICsgNTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dl
YktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFz
bToyMjU3CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTEzMjE2KSA9IGNmci5pKCk7
ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIyNTgKICAgICpDQVNUPGludHB0
cl90Kj4oY2ZyLmk4cCgpICsgOCkgPSBsci5pKCk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25m
cy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc206MjI2MAogICAgdDEgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjYyCiAg
ICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIyNjUKICAgIG5hdGl2ZUZ1bmMgPSAqQ0FTVDxO
YXRpdmVGdW5jdGlvbio+KHQyLmk4cCgpICsgNDApOwogICAgZnVuY3Rpb25SZXR1cm5WYWx1ZSA9
IEpTVmFsdWU6OmRlY29kZShuYXRpdmVGdW5jKGpzQ2FzdDxKU0dsb2JhbE9iamVjdCo+KHQwLmNl
bGwoKSksIHQxLmNhbGxGcmFtZSgpKSk7CiAgICAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICAg
ICB0MSA9IGZ1bmN0aW9uUmV0dXJuVmFsdWUudGFnKCk7CiAgICAgICAgdDAgPSBmdW5jdGlvblJl
dHVyblZhbHVlLnBheWxvYWQoKTsKICAgICNlbHNlIC8vIFVTRV9KU1ZBTFVFNjQpCiAgICAgICAg
dDAgPSBKU1ZhbHVlOjplbmNvZGUoZnVuY3Rpb25SZXR1cm5WYWx1ZSk7CiAgICAjZW5kaWYgLy8g
VVNFX0pTVkFMVUU2NCkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAyNCk7
ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjI3NgogICAgdDMg
PSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTYpOyAgICAgICAgICAgICAgICAgICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjc3CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMu
aThwKCkgKyA1Nik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNt
OjIyNzgKICAgIGlmICgqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTIwMTM2KSAhPSAwKSAg
ICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRD
b3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjI4MAogICAgICAgIGdvdG8gX29m
ZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX19uYXRpdmVDYWxsVHJhbXBv
bGluZV9faGFuZGxlRXhjZXB0aW9uOwogICAgUE9QKGNmcik7ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTg5CiAg
ICBQT1AobHIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTAKICAgIG9wY29kZSA9IGxyLm9wY29kZSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjI4MwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVfQVNNX0xPQ0FMX0xBQkVM
KF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dlbl9fbmF0aXZlQ2FsbFRy
YW1wb2xpbmVfX2hhbmRsZUV4Y2VwdGlvbikKICAgICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkg
KyAxMTMyMTYpID0gY2ZyLmkoKTsgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJL
aXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
MjI4NgogICAgZ290byBsbGludF90aHJvd19mcm9tX3Nsb3dfcGF0aF90cmFtcG9saW5lOyAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjg3CgpPRkZMSU5FX0FTTV9HTFVF
X0xBQkVMKGxsaW50X25hdGl2ZV9jYWxsX3RyYW1wb2xpbmVfd2lkZTE2KQoKT0ZGTElORV9BU01f
R0xVRV9MQUJFTChsbGludF9uYXRpdmVfY2FsbF90cmFtcG9saW5lX3dpZGUzMikKCk9GRkxJTkVf
QVNNX0dMVUVfTEFCRUwobGxpbnRfbmF0aXZlX2NvbnN0cnVjdF90cmFtcG9saW5lKQogICAgLy8g
L2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc206OTcxCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5NzcK
ICAgIFBVU0gobHIpOwogICAgUFVTSChjZnIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTc4CiAgICBjZnIgPSBz
cC5pKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo5ODAKICAgICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMTYp
ID0gaW50cHRyX3QoMHgwKTsgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjI1MAog
ICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5pOHAoKSArIDI0KTsgICAgICAgICAgICAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjUxCiAgICB0MiA9ICpDQVNUPGludHB0cl90
Kj4odDAuaThwKCkgKyAyNCk7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIyNTIKICAgIGlmICgodDIuaSgpICYgaW50cHRyX3QoMHgxKSkgPT0gMCkgICAgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjI1MwogICAgICAgIGdv
dG8gX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX182MThfbmF0aXZl
Q2FsbFRyYW1wb2xpbmVfX2lzRXhlY3V0YWJsZTsKICAgIHQyID0gKkNBU1Q8aW50cHRyX3QqPih0
Mi5pOHAoKSArIDU1KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjI1NAoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcF9fY29tbW9u
T3BfX2ZuX19zaXplX19rX19nZW5fXzYxOF9uYXRpdmVDYWxsVHJhbXBvbGluZV9faXNFeGVjdXRh
YmxlKQogICAgdDAgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgMTYpOyAgICAgICAgICAg
ICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjU2CiAgICB0MSA9ICpDQVNUPGlu
dHB0cl90Kj4odDAuaThwKCkgKyA1Nik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMv
bWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtOjIyNTcKICAgICpDQVNUPGludHB0cl90Kj4odDEuaThwKCkgKyAxMTMyMTYp
ID0gY2ZyLmkoKTsgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjI1OAogICAg
KkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyA4KSA9IGxyLmkoKTsgICAgICAgICAgICAgICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjYwCiAgICB0MSA9IGNmci5pKCk7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtOjIyNjIKICAgIGNsb29wU3RhY2suc2V0Q3VycmVudFN0YWNrUG9pbnRlcihzcC52cCgpKTsg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjI2NQogICAgbmF0aXZlRnVu
YyA9ICpDQVNUPE5hdGl2ZUZ1bmN0aW9uKj4odDIuaThwKCkgKyA0OCk7CiAgICBmdW5jdGlvblJl
dHVyblZhbHVlID0gSlNWYWx1ZTo6ZGVjb2RlKG5hdGl2ZUZ1bmMoanNDYXN0PEpTR2xvYmFsT2Jq
ZWN0Kj4odDAuY2VsbCgpKSwgdDEuY2FsbEZyYW1lKCkpKTsKICAgICNpZiBVU0UoSlNWQUxVRTMy
XzY0KQogICAgICAgIHQxID0gZnVuY3Rpb25SZXR1cm5WYWx1ZS50YWcoKTsKICAgICAgICB0MCA9
IGZ1bmN0aW9uUmV0dXJuVmFsdWUucGF5bG9hZCgpOwogICAgI2Vsc2UgLy8gVVNFX0pTVkFMVUU2
NCkKICAgICAgICB0MCA9IEpTVmFsdWU6OmVuY29kZShmdW5jdGlvblJldHVyblZhbHVlKTsKICAg
ICNlbmRpZiAvLyBVU0VfSlNWQUxVRTY0KQogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KGNmci5p
OHAoKSArIDI0KTsgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
Mjc2CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyAxNik7ICAgICAgICAgICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIyNzcKICAgIHQzID0gKkNBU1Q8aW50
cHRyX3QqPih0My5pOHAoKSArIDU2KTsgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjI3OAogICAgaWYgKCpDQVNUPGludHB0cl90Kj4odDMuaThwKCkgKyAxMjAx
MzYpICE9IDApICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjgwCiAgICAg
ICAgZ290byBfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2ZuX19zaXplX19rX19nZW5fXzYxOF9u
YXRpdmVDYWxsVHJhbXBvbGluZV9faGFuZGxlRXhjZXB0aW9uOwogICAgUE9QKGNmcik7ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc206OTg5CiAgICBQT1AobHIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5OTAKICAgIG9wY29kZSA9
IGxyLm9wY29kZSgpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21l
L25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc206MjI4MwogICAgRElTUEFUQ0hfT1BDT0RFKCk7CgogIE9GRkxJTkVf
QVNNX0xPQ0FMX0xBQkVMKF9vZmZsaW5lYXNtX29wX19jb21tb25PcF9fZm5fX3NpemVfX2tfX2dl
bl9fNjE4X25hdGl2ZUNhbGxUcmFtcG9saW5lX19oYW5kbGVFeGNlcHRpb24pCiAgICAqQ0FTVDxp
bnRwdHJfdCo+KHQzLmk4cCgpICsgMTEzMjE2KSA9IGNmci5pKCk7ICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjIyODYKICAgIGdvdG8gbGxpbnRfdGhyb3dfZnJvbV9zbG93X3Bh
dGhfdHJhbXBvbGluZTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjI4
NwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9uYXRpdmVfY29uc3RydWN0X3RyYW1wb2xp
bmVfd2lkZTE2KQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9uYXRpdmVfY29uc3RydWN0
X3RyYW1wb2xpbmVfd2lkZTMyKQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9pbnRlcm5h
bF9mdW5jdGlvbl9jYWxsX3RyYW1wb2xpbmUpCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5
NzEKICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk3NwogICAgUFVTSChscik7CiAgICBQVVNI
KGNmcik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAv
aG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dM
ZXZlbEludGVycHJldGVyLmFzbTo5NzgKICAgIGNmciA9IHNwLmkoKTsgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk4MAog
ICAgKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAxNikgPSBpbnRwdHJfdCgweDApOyAgICAg
ICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMjkyCiAgICB0MiA9ICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgMjQpOyAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
NjQuYXNtOjIyOTMKICAgIHQwID0gKkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDQwKTsgICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjI5NAogICAgdDEgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQwLmk4cCgpICsgNTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyMjk1CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsg
MTEzMjE2KSA9IGNmci5pKCk7ICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIy
OTYKICAgICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgOCkgPSBsci5pKCk7ICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjI5OAogICAgdDEgPSBjZnIuaSgpOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21j
YXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlcjY0LmFzbToyMzAwCiAgICBjbG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3Au
dnAoKSk7ICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMDMKICAgIG5h
dGl2ZUZ1bmMgPSAqQ0FTVDxOYXRpdmVGdW5jdGlvbio+KHQyLmk4cCgpICsgMTYpOwogICAgZnVu
Y3Rpb25SZXR1cm5WYWx1ZSA9IEpTVmFsdWU6OmRlY29kZShuYXRpdmVGdW5jKGpzQ2FzdDxKU0ds
b2JhbE9iamVjdCo+KHQwLmNlbGwoKSksIHQxLmNhbGxGcmFtZSgpKSk7CiAgICAjaWYgVVNFKEpT
VkFMVUUzMl82NCkKICAgICAgICB0MSA9IGZ1bmN0aW9uUmV0dXJuVmFsdWUudGFnKCk7CiAgICAg
ICAgdDAgPSBmdW5jdGlvblJldHVyblZhbHVlLnBheWxvYWQoKTsKICAgICNlbHNlIC8vIFVTRV9K
U1ZBTFVFNjQpCiAgICAgICAgdDAgPSBKU1ZhbHVlOjplbmNvZGUoZnVuY3Rpb25SZXR1cm5WYWx1
ZSk7CiAgICAjZW5kaWYgLy8gVVNFX0pTVkFMVUU2NCkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3Qq
PihjZnIuaThwKCkgKyAyNCk7ICAgICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56
YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206MjMxNAogICAgdDMgPSAqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgNDApOyAgICAg
ICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzE1CiAgICB0MyA9ICpD
QVNUPGludHB0cl90Kj4odDMuaThwKCkgKyA1Nik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtOjIzMTYKICAgIGlmICgqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgp
ICsgMTIwMTM2KSAhPSAwKSAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQv
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMx
OAogICAgICAgIGdvdG8gX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2Vu
X19pbnRlcm5hbEZ1bmN0aW9uQ2FsbFRyYW1wb2xpbmVfX2hhbmRsZUV4Y2VwdGlvbjsKICAgIFBP
UChjZnIpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk4OQogICAgUE9QKGxyKTsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206OTkw
CiAgICBvcGNvZGUgPSBsci5vcGNvZGUoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMjEKICAgIERJU1BBVENIX09QQ09ERSgp
OwoKICBPRkZMSU5FX0FTTV9MT0NBTF9MQUJFTChfb2ZmbGluZWFzbV9vcF9fY29tbW9uT3BfX2Zu
X19zaXplX19rX19nZW5fX2ludGVybmFsRnVuY3Rpb25DYWxsVHJhbXBvbGluZV9faGFuZGxlRXhj
ZXB0aW9uKQogICAgKkNBU1Q8aW50cHRyX3QqPih0My5pOHAoKSArIDExMzIxNikgPSBjZnIuaSgp
OyAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzI0CiAgICBnb3RvIGxsaW50
X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1wb2xpbmU7ICAgICAgICAgICAgICAvLyAvaG9tZS9u
ZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbElu
dGVycHJldGVyNjQuYXNtOjIzMjUKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfaW50ZXJu
YWxfZnVuY3Rpb25fY2FsbF90cmFtcG9saW5lX3dpZGUxNikKCk9GRkxJTkVfQVNNX0dMVUVfTEFC
RUwobGxpbnRfaW50ZXJuYWxfZnVuY3Rpb25fY2FsbF90cmFtcG9saW5lX3dpZGUzMikKCk9GRkxJ
TkVfQVNNX0dMVUVfTEFCRUwobGxpbnRfaW50ZXJuYWxfZnVuY3Rpb25fY29uc3RydWN0X3RyYW1w
b2xpbmUpCiAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5NzEKICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXIuYXNtOjk3NwogICAgUFVTSChscik7CiAgICBQVVNIKGNmcik7ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2Vi
S2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbTo5
NzgKICAgIGNmciA9IHNwLmkoKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk4MAogICAgKkNBU1Q8aW50cHRyX3QqPihj
ZnIuaThwKCkgKyAxNikgPSBpbnRwdHJfdCgweDApOyAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRh
bnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
cjY0LmFzbToyMjkyCiAgICB0MiA9ICpDQVNUPGludHB0cl90Kj4oY2ZyLmk4cCgpICsgMjQpOyAg
ICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIyOTMKICAgIHQwID0g
KkNBU1Q8aW50cHRyX3QqPih0Mi5pOHAoKSArIDQwKTsgICAgICAgICAgICAgICAgICAgIC8vIC9o
b21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc206MjI5NAogICAgdDEgPSAqQ0FTVDxpbnRwdHJfdCo+KHQwLmk4
cCgpICsgNTYpOyAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktp
dC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToy
Mjk1CiAgICAqQ0FTVDxpbnRwdHJfdCo+KHQxLmk4cCgpICsgMTEzMjE2KSA9IGNmci5pKCk7ICAg
ICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIyOTYKICAgICpDQVNUPGludHB0cl90
Kj4oY2ZyLmk4cCgpICsgOCkgPSBsci5pKCk7ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9t
Y2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc206MjI5OAogICAgdDEgPSBjZnIuaSgpOyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToyMzAwCiAgICBj
bG9vcFN0YWNrLnNldEN1cnJlbnRTdGFja1BvaW50ZXIoc3AudnAoKSk7ICAgICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMDMKICAgIG5hdGl2ZUZ1bmMgPSAqQ0FTVDxOYXRp
dmVGdW5jdGlvbio+KHQyLmk4cCgpICsgMjQpOwogICAgZnVuY3Rpb25SZXR1cm5WYWx1ZSA9IEpT
VmFsdWU6OmRlY29kZShuYXRpdmVGdW5jKGpzQ2FzdDxKU0dsb2JhbE9iamVjdCo+KHQwLmNlbGwo
KSksIHQxLmNhbGxGcmFtZSgpKSk7CiAgICAjaWYgVVNFKEpTVkFMVUUzMl82NCkKICAgICAgICB0
MSA9IGZ1bmN0aW9uUmV0dXJuVmFsdWUudGFnKCk7CiAgICAgICAgdDAgPSBmdW5jdGlvblJldHVy
blZhbHVlLnBheWxvYWQoKTsKICAgICNlbHNlIC8vIFVTRV9KU1ZBTFVFNjQpCiAgICAgICAgdDAg
PSBKU1ZhbHVlOjplbmNvZGUoZnVuY3Rpb25SZXR1cm5WYWx1ZSk7CiAgICAjZW5kaWYgLy8gVVNF
X0pTVkFMVUU2NCkKICAgIHQzID0gKkNBU1Q8aW50cHRyX3QqPihjZnIuaThwKCkgKyAyNCk7ICAg
ICAgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMxNAogICAgdDMgPSAq
Q0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgNDApOyAgICAgICAgICAgICAgICAgICAgLy8gL2hv
bWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjY0LmFzbToyMzE1CiAgICB0MyA9ICpDQVNUPGludHB0cl90Kj4odDMuaThw
KCkgKyA1Nik7ICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIz
MTYKICAgIGlmICgqQ0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTIwMTM2KSAhPSAwKSAgICAg
ICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206MjMxOAogICAgICAgIGdvdG8gX29mZmxp
bmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX182MThfaW50ZXJuYWxGdW5jdGlv
bkNhbGxUcmFtcG9saW5lX19oYW5kbGVFeGNlcHRpb247CiAgICBQT1AoY2ZyKTsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFu
emEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVy
LmFzbTo5ODkKICAgIFBPUChscik7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9XZWJLaXQvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOjk5MAogICAgb3Bjb2RlID0gbHIu
b3Bjb2RlKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZz
L21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlcjY0LmFzbToyMzIxCiAgICBESVNQQVRDSF9PUENPREUoKTsKCiAgT0ZGTElORV9BU01f
TE9DQUxfTEFCRUwoX29mZmxpbmVhc21fb3BfX2NvbW1vbk9wX19mbl9fc2l6ZV9fa19fZ2VuX182
MThfaW50ZXJuYWxGdW5jdGlvbkNhbGxUcmFtcG9saW5lX19oYW5kbGVFeGNlcHRpb24pCiAgICAq
Q0FTVDxpbnRwdHJfdCo+KHQzLmk4cCgpICsgMTEzMjE2KSA9IGNmci5pKCk7ICAgICAgICAgICAv
LyAvaG9tZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtOjIzMjQKICAgIGdvdG8gbGxpbnRfdGhyb3dfZnJvbV9z
bG93X3BhdGhfdHJhbXBvbGluZTsgICAgICAgICAgICAgIC8vIC9ob21lL25mcy9tY2F0YW56YS9X
ZWJLaXQvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c206MjMyNQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChsbGludF9pbnRlcm5hbF9mdW5jdGlvbl9j
b25zdHJ1Y3RfdHJhbXBvbGluZV93aWRlMTYpCgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGxsaW50
X2ludGVybmFsX2Z1bmN0aW9uX2NvbnN0cnVjdF90cmFtcG9saW5lX3dpZGUzMikKCk9GRkxJTkVf
QVNNX0dMVUVfTEFCRUwoY2hlY2twb2ludF9vc3JfZXhpdF9mcm9tX2lubGluZWRfY2FsbF90cmFt
cG9saW5lKQogICAgQ1JBU0goKTsgLy8gYnJlYWsgaW5zdHJ1Y3Rpb24gbm90IGltcGxlbWVudGVk
LiAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjI0MgoKT0ZGTElORV9BU01fR0xV
RV9MQUJFTChjaGVja3BvaW50X29zcl9leGl0X2Zyb21faW5saW5lZF9jYWxsX3RyYW1wb2xpbmVf
d2lkZTE2KQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChjaGVja3BvaW50X29zcl9leGl0X2Zyb21f
aW5saW5lZF9jYWxsX3RyYW1wb2xpbmVfd2lkZTMyKQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTChj
aGVja3BvaW50X29zcl9leGl0X3RyYW1wb2xpbmUpCiAgICBDUkFTSCgpOyAvLyBicmVhayBpbnN0
cnVjdGlvbiBub3QgaW1wbGVtZW50ZWQuICAgICAgICAgICAvLyAvaG9tZS9uZnMvbWNhdGFuemEv
V2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFz
bToyMjQyCgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGNoZWNrcG9pbnRfb3NyX2V4aXRfdHJhbXBv
bGluZV93aWRlMTYpCgpPRkZMSU5FX0FTTV9HTFVFX0xBQkVMKGNoZWNrcG9pbnRfb3NyX2V4aXRf
dHJhbXBvbGluZV93aWRlMzIpCgogICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206MjI0NgogICAg
Ly8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQv
TG93TGV2ZWxJbnRlcnByZXRlci5hc206MjI0NwoKT0ZGTElORV9BU01fR0xVRV9MQUJFTCh3YXNt
X2Z1bmN0aW9uX3Byb2xvZ3VlKQogICAgQ1JBU0goKTsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gL2hvbWUvbmZzL21jYXRhbnphL1dlYktpdC9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc206NjA0CgpPRkZM
SU5FX0FTTV9HTFVFX0xBQkVMKHdhc21fZnVuY3Rpb25fcHJvbG9ndWVfd2lkZTE2KQoKT0ZGTElO
RV9BU01fR0xVRV9MQUJFTCh3YXNtX2Z1bmN0aW9uX3Byb2xvZ3VlX3dpZGUzMikKCk9GRkxJTkVf
QVNNX0dMVUVfTEFCRUwod2FzbV9mdW5jdGlvbl9wcm9sb2d1ZV9ub190bHMpCiAgICBDUkFTSCgp
OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAvaG9t
ZS9uZnMvbWNhdGFuemEvV2ViS2l0L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyLmFzbTo2MDQKCk9GRkxJTkVfQVNNX0dMVUVfTEFCRUwod2FzbV9mdW5jdGlv
bl9wcm9sb2d1ZV9ub190bHNfd2lkZTE2KQoKT0ZGTElORV9BU01fR0xVRV9MQUJFTCh3YXNtX2Z1
bmN0aW9uX3Byb2xvZ3VlX25vX3Rsc193aWRlMzIpCk9GRkxJTkVfQVNNX0dMT0JBTF9MQUJFTChs
bGludFBDUmFuZ2VFbmQpCk9GRkxJTkVfQVNNX0VORAojZW5kaWYKLy8gb2ZmbGluZWFzbSBpbnB1
dCBoYXNoOiA3MmRjY2RlOTIyYTIwY2MyZjIwNTNlYTE5Y2NiZmJkZDBiZWZlNmUyIGIyYzdhNWIy
MWY0YzQ1ZjkxM2M2ZTRjMGY0Nzk3ZjA4YWU4MDdlMjQgNDNjOGQwMDkxODMxZGYwNzcwNmI1NmMz
MmFkZTI2OGFhNDYxOWE0NiBkYTM5YTNlZTVlNmI0YjBkMzI1NWJmZWY5NTYwMTg5MGFmZDgwNzA5
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402781</attachid>
            <date>2020-06-25 12:08:56 -0700</date>
            <delta_ts>2020-06-25 12:15:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213307-20200625120856.patch</filename>
            <type>text/plain</type>
            <size>1895</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
YWNmYTA0NDI5Mjg2NTAyY2NmOGNhMTYyZDdkMTNjOWEyM2MzNjY0Li4wYjM5MGFhYWU1NTYxM2E5
NmE5ZDFjYzkyZjhkNWZmMWMwZDcwNTI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAyMC0wNi0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFJFR1JFU1NJT04ocjI2MzAzNSk6IHN0cmVzcy9nZXQtcHJvdG90eXBlLW9m
LmpzIGJyb2tlbiBvbiBzMzkweAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjEzMzA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU3RydWN0dXJlOjptX291dE9mTGluZVR5cGVGbGFncyBpcyB1aW50MTZfdC4g
SWYgd2UgYWNjZXNzIHRoaXMgZmllbGQgYXMgMzJiaXQgZmllbGQsIHdlIGhhdmUgZGlmZmVyZW50
IHZhbHVlIGluIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcy4KKyAgICAgICAgU2luY2Ugd2UgZG8g
bm90IGhhdmUgaGFsZi1zaXplLWxvYWQgYnJhbmNoIGluc3RydWN0aW9ucywgd2Ugc2hvdWxkIGxv
YWQgdGhpcyB1aW50MTZfdCB2YWx1ZSB2aWEgYGxvYWRoYCAod2hpY2ggemVyby1leHRlbmRzIHRo
ZSBsb2FkZWQgdmFsdWUpCisgICAgICAgIGFuZCBwZXJmb3JtIGJyYW5jaCBvbnRvIHRoYXQgdmFs
dWUuCisKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOgorCiAyMDIw
LTA2LTI0ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KIAogICAgICAg
ICBbSW50bF0gRGlzcHJlZmVyIHVzaW5nIElDVSBlbnVtcyBkaXJlY3RseSBhcyBpbnN0YW5jZSB2
YXJpYWJsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyNjQuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc20KaW5kZXggOWZmOTMxYzI1ZTQ4OTMwODk5NWFhNTg0MWUzNmU1ZTI1
ZGQ1ZTUwZC4uMDYxNzQ1ZjFlODVmZTU4Zjk5MzBiYzM1ZTgzOTNiYThiYjJjNzMxYSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc20KQEAgLTE1MDksNyArMTUwOSw4IEBAIGxsaW50T3BXaXRoUHJvZmlsZShvcF9nZXRfcHJv
dG90eXBlX29mLCBPcEdldFByb3RvdHlwZU9mLCBtYWNybyAoc2l6ZSwgZ2V0LCBkaXNwCiAgICAg
YmJiIEpTQ2VsbDo6bV90eXBlW3QwXSwgT2JqZWN0VHlwZSwgLm9wR2V0UHJvdG90eXBlT2ZTbG93
CiAKICAgICBsb2FkU3RydWN0dXJlV2l0aFNjcmF0Y2godDAsIHQyLCB0MSwgdDMpCi0gICAgYnRp
bnogU3RydWN0dXJlOjptX291dE9mTGluZVR5cGVGbGFnc1t0Ml0sIE92ZXJyaWRlc0dldFByb3Rv
dHlwZU91dE9mTGluZSwgLm9wR2V0UHJvdG90eXBlT2ZTbG93CisgICAgbG9hZGggU3RydWN0dXJl
OjptX291dE9mTGluZVR5cGVGbGFnc1t0Ml0sIHQzCisgICAgYnRpbnogdDMsIE92ZXJyaWRlc0dl
dFByb3RvdHlwZU91dE9mTGluZSwgLm9wR2V0UHJvdG90eXBlT2ZTbG93CiAKICAgICBsb2FkcSBT
dHJ1Y3R1cmU6Om1fcHJvdG90eXBlW3QyXSwgdDIKICAgICBidHF6IHQyLCAub3BHZXRQcm90b3R5
cGVPZlBvbHlQcm90bwo=
</data>
<flag name="review"
          id="418180"
          type_id="1"
          status="+"
          setter="ross.kirsling"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402795</attachid>
            <date>2020-06-25 12:41:13 -0700</date>
            <delta_ts>2020-06-25 12:55:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213307-20200625124112.patch</filename>
            <type>text/plain</type>
            <size>3101</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
YWNmYTA0NDI5Mjg2NTAyY2NmOGNhMTYyZDdkMTNjOWEyM2MzNjY0Li40NzYyNmQ1ZGVmNzg0YmI3
ZDA2ZTA1OTZjZmVkMWQzNDI1MDg0ZTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAyMC0wNi0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFJFR1JFU1NJT04ocjI2MzAzNSk6IHN0cmVzcy9nZXQtcHJvdG90eXBlLW9m
LmpzIGJyb2tlbiBvbiBzMzkweAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjEzMzA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU3RydWN0dXJlOjptX291dE9mTGluZVR5cGVGbGFncyBpcyB1aW50MTZfdC4g
SWYgd2UgYWNjZXNzIHRoaXMgZmllbGQgYXMgMzJiaXQgZmllbGQsIHdlIGhhdmUgZGlmZmVyZW50
IHZhbHVlIGluIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcy4KKyAgICAgICAgU2luY2Ugd2UgZG8g
bm90IGhhdmUgaGFsZi1zaXplLWxvYWQgYnJhbmNoIGluc3RydWN0aW9ucywgd2Ugc2hvdWxkIGxv
YWQgdGhpcyB1aW50MTZfdCB2YWx1ZSB2aWEgYGxvYWRoYCAod2hpY2ggemVyby1leHRlbmRzIHRo
ZSBsb2FkZWQgdmFsdWUpCisgICAgICAgIGFuZCBwZXJmb3JtIGJyYW5jaCBvbnRvIHRoYXQgdmFs
dWUuCisKKyAgICAgICAgKiBqaXQvQXNzZW1ibHlIZWxwZXJzLmNwcDoKKyAgICAgICAgKEpTQzo6
QXNzZW1ibHlIZWxwZXJzOjplbWl0TG9hZFByb3RvdHlwZSk6CisgICAgICAgICogbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToKKwogMjAyMC0wNi0yNCAgUm9zcyBLaXJzbGluZyAgPHJv
c3Mua2lyc2xpbmdAc29ueS5jb20+CiAKICAgICAgICAgW0ludGxdIERpc3ByZWZlciB1c2luZyBJ
Q1UgZW51bXMgZGlyZWN0bHkgYXMgaW5zdGFuY2UgdmFyaWFibGVzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5jcHAKaW5kZXggMTE0MDQ1ZmJmYzIxYmNjMDhj
OTgwOTY4M2E4ZjEzMzVlNjI2NjVjMS4uY2RkYWEzNTg1NDBlZWIxZWNiNmYzZTNkZGE4NWUxMWZk
ZDg3ZDhkMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhl
bHBlcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJz
LmNwcApAQCAtNDAwLDkgKzQwMCw4IEBAIHZvaWQgQXNzZW1ibHlIZWxwZXJzOjplbWl0TG9hZFBy
b3RvdHlwZShWTSYgdm0sIEdQUlJlZyBvYmplY3RHUFIsIEpTVmFsdWVSZWdzIHJlCiAKICAgICBl
bWl0TG9hZFN0cnVjdHVyZSh2bSwgb2JqZWN0R1BSLCByZXN1bHRSZWdzLnBheWxvYWRHUFIoKSwg
c2NyYXRjaEdQUik7CiAKLSAgICBhdXRvIG92ZXJyaWRlc0dldFByb3RvdHlwZSA9IGJyYW5jaFRl
c3QzMihNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVybywKLSAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OkFk
ZHJlc3MocmVzdWx0UmVncy5wYXlsb2FkR1BSKCksIFN0cnVjdHVyZTo6b3V0T2ZMaW5lVHlwZUZs
YWdzT2Zmc2V0KCkpLAotICAgICAgICBUcnVzdGVkSW1tMzIoT3ZlcnJpZGVzR2V0UHJvdG90eXBl
T3V0T2ZMaW5lKSk7CisgICAgaml0LmxvYWQxNihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhyZXN1
bHRSZWdzLnBheWxvYWRHUFIoKSwgU3RydWN0dXJlOjpvdXRPZkxpbmVUeXBlRmxhZ3NPZmZzZXQo
KSksIHNjcmF0Y2hHUFIpOworICAgIGF1dG8gb3ZlcnJpZGVzR2V0UHJvdG90eXBlID0gYnJhbmNo
VGVzdDMyKE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCBzY3JhdGNoR1BSLCBUcnVzdGVkSW1tMzIo
T3ZlcnJpZGVzR2V0UHJvdG90eXBlT3V0T2ZMaW5lKSk7CiAgICAgc2xvd1BhdGguYXBwZW5kKG92
ZXJyaWRlc0dldFByb3RvdHlwZSk7CiAKICAgICBsb2FkVmFsdWUoTWFjcm9Bc3NlbWJsZXI6OkFk
ZHJlc3MocmVzdWx0UmVncy5wYXlsb2FkR1BSKCksIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zmc2V0
KCkpLCByZXN1bHRSZWdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50
L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KaW5kZXggOWZmOTMxYzI1ZTQ4OTMwODk5NWFhNTg0
MWUzNmU1ZTI1ZGQ1ZTUwZC4uMDYxNzQ1ZjFlODVmZTU4Zjk5MzBiYzM1ZTgzOTNiYThiYjJjNzMx
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJw
cmV0ZXI2NC5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc20KQEAgLTE1MDksNyArMTUwOSw4IEBAIGxsaW50T3BXaXRoUHJvZmlsZShv
cF9nZXRfcHJvdG90eXBlX29mLCBPcEdldFByb3RvdHlwZU9mLCBtYWNybyAoc2l6ZSwgZ2V0LCBk
aXNwCiAgICAgYmJiIEpTQ2VsbDo6bV90eXBlW3QwXSwgT2JqZWN0VHlwZSwgLm9wR2V0UHJvdG90
eXBlT2ZTbG93CiAKICAgICBsb2FkU3RydWN0dXJlV2l0aFNjcmF0Y2godDAsIHQyLCB0MSwgdDMp
Ci0gICAgYnRpbnogU3RydWN0dXJlOjptX291dE9mTGluZVR5cGVGbGFnc1t0Ml0sIE92ZXJyaWRl
c0dldFByb3RvdHlwZU91dE9mTGluZSwgLm9wR2V0UHJvdG90eXBlT2ZTbG93CisgICAgbG9hZGgg
U3RydWN0dXJlOjptX291dE9mTGluZVR5cGVGbGFnc1t0Ml0sIHQzCisgICAgYnRpbnogdDMsIE92
ZXJyaWRlc0dldFByb3RvdHlwZU91dE9mTGluZSwgLm9wR2V0UHJvdG90eXBlT2ZTbG93CiAKICAg
ICBsb2FkcSBTdHJ1Y3R1cmU6Om1fcHJvdG90eXBlW3QyXSwgdDIKICAgICBidHF6IHQyLCAub3BH
ZXRQcm90b3R5cGVPZlBvbHlQcm90bwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>402797</attachid>
            <date>2020-06-25 12:49:05 -0700</date>
            <delta_ts>2020-06-25 12:49:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-213307-20200625124904.patch</filename>
            <type>text/plain</type>
            <size>3104</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYzNTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA3
MzU3NzE2ODQ4NTRlMzdmNDlhMzRlZTczOTMxNmVhZDQxZTM4MDkxLi41MjI4NGMyNGJlMmExZTEw
MDcxYWRmNjFkNjc4N2VmMTYyNGM5MTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAyMC0wNi0yNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFJFR1JFU1NJT04ocjI2MzAzNSk6IHN0cmVzcy9nZXQtcHJvdG90eXBlLW9m
LmpzIGJyb2tlbiBvbiBzMzkweAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjEzMzA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgU3RydWN0dXJlOjptX291dE9mTGluZVR5cGVGbGFncyBpcyB1aW50MTZfdC4g
SWYgd2UgYWNjZXNzIHRoaXMgZmllbGQgYXMgMzJiaXQgZmllbGQsIHdlIGhhdmUgZGlmZmVyZW50
IHZhbHVlIGluIGJpZyBlbmRpYW4gYXJjaGl0ZWN0dXJlcy4KKyAgICAgICAgU2luY2Ugd2UgZG8g
bm90IGhhdmUgaGFsZi1zaXplLWxvYWQgYnJhbmNoIGluc3RydWN0aW9ucywgd2Ugc2hvdWxkIGxv
YWQgdGhpcyB1aW50MTZfdCB2YWx1ZSB2aWEgYGxvYWRoYCAod2hpY2ggemVyby1leHRlbmRzIHRo
ZSBsb2FkZWQgdmFsdWUpCisgICAgICAgIGFuZCBwZXJmb3JtIGJyYW5jaCBvbnRvIHRoYXQgdmFs
dWUuCisKKyAgICAgICAgKiBqaXQvQXNzZW1ibHlIZWxwZXJzLmNwcDoKKyAgICAgICAgKEpTQzo6
QXNzZW1ibHlIZWxwZXJzOjplbWl0TG9hZFByb3RvdHlwZSk6CisgICAgICAgICogbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbToKKwogMjAyMC0wNi0yNSAgTWFyayBMYW0gIDxtYXJrLmxh
bUBhcHBsZS5jb20+CiAKICAgICAgICAgSlNDZWxsIGNvbnN0cnVjdG9yIG5lZWRzIHRvIGVuc3Vy
ZSB0aGF0IHRoZSBwYXNzZWQgaW4gc3RydWN0dXJlIGlzIHN0aWxsIGFsaXZlLgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3BwCmluZGV4IDExNDA0NWZiZmMy
MWJjYzA4Yzk4MDk2ODNhOGYxMzM1ZTYyNjY1YzEuLjZiZWJlYmRhZmMzZTdjZDllMmIyNTMzOWQ3
NzA4ZTY3OGZmZGQ4MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNz
ZW1ibHlIZWxwZXJzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5
SGVscGVycy5jcHAKQEAgLTQwMCw5ICs0MDAsOCBAQCB2b2lkIEFzc2VtYmx5SGVscGVyczo6ZW1p
dExvYWRQcm90b3R5cGUoVk0mIHZtLCBHUFJSZWcgb2JqZWN0R1BSLCBKU1ZhbHVlUmVncyByZQog
CiAgICAgZW1pdExvYWRTdHJ1Y3R1cmUodm0sIG9iamVjdEdQUiwgcmVzdWx0UmVncy5wYXlsb2Fk
R1BSKCksIHNjcmF0Y2hHUFIpOwogCi0gICAgYXV0byBvdmVycmlkZXNHZXRQcm90b3R5cGUgPSBi
cmFuY2hUZXN0MzIoTWFjcm9Bc3NlbWJsZXI6Ok5vblplcm8sCi0gICAgICAgIE1hY3JvQXNzZW1i
bGVyOjpBZGRyZXNzKHJlc3VsdFJlZ3MucGF5bG9hZEdQUigpLCBTdHJ1Y3R1cmU6Om91dE9mTGlu
ZVR5cGVGbGFnc09mZnNldCgpKSwKLSAgICAgICAgVHJ1c3RlZEltbTMyKE92ZXJyaWRlc0dldFBy
b3RvdHlwZU91dE9mTGluZSkpOworICAgIGxvYWQxNihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhy
ZXN1bHRSZWdzLnBheWxvYWRHUFIoKSwgU3RydWN0dXJlOjpvdXRPZkxpbmVUeXBlRmxhZ3NPZmZz
ZXQoKSksIHNjcmF0Y2hHUFIpOworICAgIGF1dG8gb3ZlcnJpZGVzR2V0UHJvdG90eXBlID0gYnJh
bmNoVGVzdDMyKE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCBzY3JhdGNoR1BSLCBUcnVzdGVkSW1t
MzIoT3ZlcnJpZGVzR2V0UHJvdG90eXBlT3V0T2ZMaW5lKSk7CiAgICAgc2xvd1BhdGguYXBwZW5k
KG92ZXJyaWRlc0dldFByb3RvdHlwZSk7CiAKICAgICBsb2FkVmFsdWUoTWFjcm9Bc3NlbWJsZXI6
OkFkZHJlc3MocmVzdWx0UmVncy5wYXlsb2FkR1BSKCksIFN0cnVjdHVyZTo6cHJvdG90eXBlT2Zm
c2V0KCkpLCByZXN1bHRSZWdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KaW5kZXggOWZmOTMxYzI1ZTQ4OTMwODk5NWFh
NTg0MWUzNmU1ZTI1ZGQ1ZTUwZC4uMDYxNzQ1ZjFlODVmZTU4Zjk5MzBiYzM1ZTgzOTNiYThiYjJj
NzMxYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXI2NC5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXI2NC5hc20KQEAgLTE1MDksNyArMTUwOSw4IEBAIGxsaW50T3BXaXRoUHJvZmls
ZShvcF9nZXRfcHJvdG90eXBlX29mLCBPcEdldFByb3RvdHlwZU9mLCBtYWNybyAoc2l6ZSwgZ2V0
LCBkaXNwCiAgICAgYmJiIEpTQ2VsbDo6bV90eXBlW3QwXSwgT2JqZWN0VHlwZSwgLm9wR2V0UHJv
dG90eXBlT2ZTbG93CiAKICAgICBsb2FkU3RydWN0dXJlV2l0aFNjcmF0Y2godDAsIHQyLCB0MSwg
dDMpCi0gICAgYnRpbnogU3RydWN0dXJlOjptX291dE9mTGluZVR5cGVGbGFnc1t0Ml0sIE92ZXJy
aWRlc0dldFByb3RvdHlwZU91dE9mTGluZSwgLm9wR2V0UHJvdG90eXBlT2ZTbG93CisgICAgbG9h
ZGggU3RydWN0dXJlOjptX291dE9mTGluZVR5cGVGbGFnc1t0Ml0sIHQzCisgICAgYnRpbnogdDMs
IE92ZXJyaWRlc0dldFByb3RvdHlwZU91dE9mTGluZSwgLm9wR2V0UHJvdG90eXBlT2ZTbG93CiAK
ICAgICBsb2FkcSBTdHJ1Y3R1cmU6Om1fcHJvdG90eXBlW3QyXSwgdDIKICAgICBidHF6IHQyLCAu
b3BHZXRQcm90b3R5cGVPZlBvbHlQcm90bwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>