<?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>11849</bug_id>
          
          <creation_ts>2006-12-16 05:18:16 -0800</creation_ts>
          <short_desc>REGRESSION (r18182): Google Calendar is broken (a regular expression containing a null character is not parsed correctly)</short_desc>
          <delta_ts>2007-01-02 10:04:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.google.com/calendar/render</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>GoogleBug, HasReduction, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abob</cc>
    
    <cc>ap</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ggaren</cc>
    
    <cc>jhmart1</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>41695</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2006-12-16 05:18:16 -0800</bug_when>
    <thetext>Google Calendar does not display most of the interface in TOT. It fails due to an &quot;Invalid regular expression&quot; error during its initialization. Prior to r18182 (fix for bug 6257), JSC did not throw errors on invalid regular expression.

The offending regular expression is valid, but it fails to be parsed correctly since it contains a null character, which PCRE considers as a terminator. 

A reduced test case is
RegExp(&quot;[\0]&quot;)
which throws an error (&quot;missing terminating ] for character class&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39711</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-12-26 12:39:42 -0800</bug_when>
    <thetext>*** Bug 11982 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39235</commentid>
    <comment_count>2</comment_count>
      <attachid>12081</attachid>
    <who name="">mitz</who>
    <bug_when>2006-12-28 07:24:38 -0800</bug_when>
    <thetext>Created attachment 12081
Quick and dirty fix, no change log, no test

This patch escapes null characters in the pattern before passing it to pcre_compile. I looked into changing pcre_compile to take a length parameter instead of a null-terminated string, and I think it&apos;s doable (would require some careful work), but I&apos;m not sure it&apos;s necessary.

No test regressions and in fact fixes two JavaScriptCore tests: ecma_3/RegExp/octal-002.js and ecma_3/RegExp/regress-85721.js</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39156</commentid>
    <comment_count>3</comment_count>
      <attachid>12088</attachid>
    <who name="">mitz</who>
    <bug_when>2006-12-28 15:06:43 -0800</bug_when>
    <thetext>Created attachment 12088
First pass at changing pcre_compile

Many redundant checks and other inefficiencies, and several FIXMEs, but it passes all of fast/js and the JavaScriptCore tests (an fixes two existing failures).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39176</commentid>
    <comment_count>4</comment_count>
      <attachid>12092</attachid>
    <who name="">mitz</who>
    <bug_when>2006-12-28 17:24:59 -0800</bug_when>
    <thetext>Created attachment 12092
pcre changes, refined

Most of the time compile_branch() doesn&apos;t need to check for end of string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39143</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-28 17:52:47 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=12092) [edit]
&gt; pcre changes, refined
&gt; 
&gt; Most of the time compile_branch() doesn&apos;t need to check for end of string.

The pcre library contains its own regression tests which are not included in JavaScriptCore/pcre.  It would be interesting to apply this patch to pcre-6.1 (which is what WebKit&apos;s version is based on) to verify that no regressions have taken place.

http://www.pcre.org/

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39141</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-12-28 18:08:30 -0800</bug_when>
    <thetext>This patch would increase the time required to scan a regular expression by O(n) --an unfortunate performance hit.

An alternative, which would fix the Google Calendar bug, would be to escape NULL characters as a part of sanitizePattern -- in other words, only if the expression failed to parse. However, that would leave open a subtle bug in the case where the subexpressionup until the first NULL character was still valid.

I think we need to change PCRE to take a length, instead. We do have a substantial number of regular expression tests that can catch subtle bugs along the way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39069</commentid>
    <comment_count>7</comment_count>
    <who name="">mitz</who>
    <bug_when>2006-12-29 01:53:39 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; This patch would increase the time required to scan a regular expression by
&gt; O(n) --an unfortunate performance hit.

You mean the first patch, right?

&gt; I think we need to change PCRE to take a length, instead.

That&apos;s where the second (and third) patch are headed, isn&apos;t it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39045</commentid>
    <comment_count>8</comment_count>
      <attachid>12092</attachid>
    <who name="">mitz</who>
    <bug_when>2006-12-29 08:16:55 -0800</bug_when>
    <thetext>Comment on attachment 12092
pcre changes, refined

(In reply to comment #5)
&gt; The pcre library contains its own regression tests which are not included in
&gt; JavaScriptCore/pcre.  It would be interesting to apply this patch to pcre-6.1
&gt; (which is what WebKit&apos;s version is based on) to verify that no regressions have
&gt; taken place.

Done. Or rather, backported patch, found a couple of regressions, fixed patch, verified no regressions. Thanks for the excellent idea! I&apos;m going to post the updated patch soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39048</commentid>
    <comment_count>9</comment_count>
      <attachid>12106</attachid>
    <who name="">mitz</who>
    <bug_when>2006-12-29 08:37:22 -0800</bug_when>
    <thetext>Created attachment 12106
Change pcre_compile to take the pattern&apos;s length and work with patterns containing null characters

No layout test regressions, no JSC test regressions, two JSC tests fixed, no PCRE test regressions (when applying an equivalent patch to pcre-6.1).

I would really appreciate it if someone who knows how to do it measured the performance impact of this patch and of the alternative approach (attachment 12081).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38991</commentid>
    <comment_count>10</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-12-29 13:54:58 -0800</bug_when>
    <thetext>(In reply to comment #9)

I ran a simple test:

tot: 231ms (baseline)
attachment 12106: 224ms (3% faster)
attachment 12081: 240ms (3.9% slower)

Test attached as &apos;regexp-parsing-performance.js&apos;. Usage: &quot;run-testkjs regexp-parsing-performance.js&quot;

As a side note, I guess my concern was a little academic, since this issue only applies to parsing regular expressions, while executing them is by far the greater cost in common usage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38992</commentid>
    <comment_count>11</comment_count>
      <attachid>12112</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-12-29 13:55:52 -0800</bug_when>
    <thetext>Created attachment 12112
regexp-parsing-performance.js</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38943</commentid>
    <comment_count>12</comment_count>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2006-12-29 19:00:54 -0800</bug_when>
    <thetext>*** Bug 12032 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38561</commentid>
    <comment_count>13</comment_count>
      <attachid>12144</attachid>
    <who name="">mitz</who>
    <bug_when>2007-01-01 08:55:07 -0800</bug_when>
    <thetext>Created attachment 12144
Change pcre_compile to take the pattern&apos;s length and work with patterns containing null characters

Updated for PCRE 6.4 (following bug 12031 and bug 12036).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38005</commentid>
    <comment_count>14</comment_count>
      <attachid>12144</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-01-01 19:42:40 -0800</bug_when>
    <thetext>Comment on attachment 12144
Change pcre_compile to take the pattern&apos;s length and work with patterns containing null characters

       /* The space before the ; is to avoid a warning on a silly compiler
       on the Macintosh. */

The above comment no longer makes sense.

This is by far the biggest change we&apos;ve ever made to PCRE! But it&apos;s worth it.

Merging with future versions of PCRE is going to be rather difficult.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37972</commentid>
    <comment_count>15</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-01-01 21:00:56 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Created an attachment (id=12144) [edit]
&gt; Change pcre_compile to take the pattern&apos;s length and work with patterns
&gt; containing null characters
&gt; 
&gt; Updated for PCRE 6.4 (following bug 12031 and bug 12036).

JavaScriptCore/tests/mozilla/expected.html did not apply cleanly.  Trying to regenerate results, but there seems to be a lot of machine-specific information in this file.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37964</commentid>
    <comment_count>16</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-01-01 21:28:40 -0800</bug_when>
    <thetext>Committed revision 18517.

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37923</commentid>
    <comment_count>17</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-01-02 04:58:50 -0800</bug_when>
    <thetext>Patch in Attachment 12144 causes new compile errors in pcre_compile.c on Windows now:

http://build.webkit.org/post-commit-win32/builds/4045

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37747</commentid>
    <comment_count>18</comment_count>
      <attachid>12164</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-01-02 09:43:58 -0800</bug_when>
    <thetext>Created attachment 12164
Fixes Windows build

(In reply to comment #17)
&gt; Patch in Attachment 12144 [edit] causes new compile errors in pcre_compile.c on
&gt; Windows now:
&gt; 
&gt; http://build.webkit.org/post-commit-win32/builds/4045

Fixed by this patch.

Committed revision 18525.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>37724</commentid>
    <comment_count>19</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2007-01-02 10:04:28 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; Created an attachment (id=12164) [edit]
&gt; Fixes Windows build
&gt; 
&gt; Committed revision 18525.

See also r18526.
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12081</attachid>
            <date>2006-12-28 07:24:38 -0800</date>
            <delta_ts>2007-01-02 09:43:58 -0800</delta_ts>
            <desc>Quick and dirty fix, no change log, no test</desc>
            <filename>11849_r0.patch</filename>
            <type>text/plain</type>
            <size>1703</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9yZWdleHAuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFT
Y3JpcHRDb3JlL2tqcy9yZWdleHAuY3BwCShyZXZpc2lvbiAxODQ0OSkKKysrIEphdmFTY3JpcHRD
b3JlL2tqcy9yZWdleHAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0Nyw4IEBAIFJlZ0V4
cDo6UmVnRXhwKGNvbnN0IFVTdHJpbmcgJnAsIGludCBmbGEKICAgY29uc3QgY2hhciAqZXJyb3JN
ZXNzYWdlOwogICBpbnQgZXJyb3JPZmZzZXQ7CiAgIAotICBVU3RyaW5nIHBhdHRlcm4ocCk7Cisg
IFVTdHJpbmcgcGF0dGVybiA9IGVzY2FwZU51bGxzQW5kVGVybWluYXRlUGF0dGVybihwKTsKICAg
Ci0gIHBhdHRlcm4uYXBwZW5kKCdcMCcpOwogICBtX3JlZ2V4ID0gcGNyZV9jb21waWxlKHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDE2X3QqPihwYXR0ZXJuLmRhdGEoKSksCiAgICAgICAgICAg
ICAgICAgICAgICAgICBvcHRpb25zLCAmZXJyb3JNZXNzYWdlLCAmZXJyb3JPZmZzZXQsIE5VTEwp
OwogICBpZiAoIW1fcmVnZXgpIHsKQEAgLTE5Miw2ICsxOTEsMjcgQEAgVVN0cmluZyBSZWdFeHA6
Om1hdGNoKGNvbnN0IFVTdHJpbmcgJnMsIAogI2VuZGlmCiB9CiAKK1VTdHJpbmcgUmVnRXhwOjpl
c2NhcGVOdWxsc0FuZFRlcm1pbmF0ZVBhdHRlcm4oY29uc3QgVVN0cmluZyYgcCkKK3sKKyAgVVN0
cmluZyBuZXdQYXR0ZXJuOworICAKKyAgaW50IHN0YXJ0UG9zID0gMDsKKyAgaW50IHBvcyA9IHAu
ZmluZChzdGF0aWNfY2FzdDxVQ2hhcj4oJ1wwJyksIDApOworICAKKyAgCisgIHdoaWxlIChwb3Mg
IT0gLTEpIHsKKyAgICBuZXdQYXR0ZXJuLmFwcGVuZChwLnN1YnN0cihzdGFydFBvcywgcG9zIC0g
c3RhcnRQb3MpKTsKKyAgICBuZXdQYXR0ZXJuLmFwcGVuZCgiXFx4MDAiKTsKKworICAgIHN0YXJ0
UG9zID0gcG9zICsgMTsKKyAgICBwb3MgPSBwLmZpbmQoc3RhdGljX2Nhc3Q8VUNoYXI+KCdcMCcp
LCBwb3MgKyAxKTsKKyAgfQorICBuZXdQYXR0ZXJuLmFwcGVuZChwLnN1YnN0cihzdGFydFBvcywg
cC5zaXplKCkgLSBzdGFydFBvcykpOworICBuZXdQYXR0ZXJuLmFwcGVuZCgnXDAnKTsKKworICBy
ZXR1cm4gbmV3UGF0dGVybjsKK30KKwogVVN0cmluZyBSZWdFeHA6OnNhbml0aXplUGF0dGVybihj
b25zdCBVU3RyaW5nJiBwKQogewogICBVU3RyaW5nIG5ld1BhdHRlcm47CkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS9ranMvcmVnZXhwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL3Jl
Z2V4cC5oCShyZXZpc2lvbiAxODQ0OSkKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9yZWdleHAuaAko
d29ya2luZyBjb3B5KQpAQCAtNjUsNiArNjUsNyBAQCBuYW1lc3BhY2UgS0pTIHsKICAgICBSZWdF
eHAoY29uc3QgUmVnRXhwICYpOwogICAgIFJlZ0V4cCAmb3BlcmF0b3I9KGNvbnN0IFJlZ0V4cCAm
KTsKIAorICAgIHN0YXRpYyBVU3RyaW5nIGVzY2FwZU51bGxzQW5kVGVybWluYXRlUGF0dGVybihj
b25zdCBVU3RyaW5nJik7CiAgICAgc3RhdGljIFVTdHJpbmcgc2FuaXRpemVQYXR0ZXJuKGNvbnN0
IFVTdHJpbmcmKTsKIAogICAgIHN0YXRpYyBib29sIGlzSGV4RGlnaXQoVUNoYXIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12088</attachid>
            <date>2006-12-28 15:06:43 -0800</date>
            <delta_ts>2006-12-28 17:24:59 -0800</delta_ts>
            <desc>First pass at changing pcre_compile</desc>
            <filename>11849_pcre_r0.patch</filename>
            <type>text/plain</type>
            <size>51625</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9yZWdleHAuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFT
Y3JpcHRDb3JlL2tqcy9yZWdleHAuY3BwCShyZXZpc2lvbiAxODQ1NykKKysrIEphdmFTY3JpcHRD
b3JlL2tqcy9yZWdleHAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NywxNSArNDcsMTIgQEAgUmVn
RXhwOjpSZWdFeHAoY29uc3QgVVN0cmluZyAmcCwgaW50IGZsYQogICBjb25zdCBjaGFyICplcnJv
ck1lc3NhZ2U7CiAgIGludCBlcnJvck9mZnNldDsKICAgCi0gIFVTdHJpbmcgcGF0dGVybihwKTsK
LSAgCi0gIHBhdHRlcm4uYXBwZW5kKCdcMCcpOwotICBtX3JlZ2V4ID0gcGNyZV9jb21waWxlKHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDE2X3QqPihwYXR0ZXJuLmRhdGEoKSksCisgIG1fcmVn
ZXggPSBwY3JlX2NvbXBpbGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50MTZfdCo+KHAuZGF0
YSgpKSwgcC5zaXplKCksCiAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLCAmZXJyb3JN
ZXNzYWdlLCAmZXJyb3JPZmZzZXQsIE5VTEwpOwogICBpZiAoIW1fcmVnZXgpIHsKICAgICAvLyBU
cnkgYWdhaW4sIHRoaXMgdGltZSBoYW5kbGUgYW55IFx1IHdlIG1pZ2h0IGZpbmQuCi0gICAgVVN0
cmluZyB1UGF0dGVybiA9IHNhbml0aXplUGF0dGVybihwYXR0ZXJuKTsKLSAgICBtX3JlZ2V4ID0g
cGNyZV9jb21waWxlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDE2X3QqPih1UGF0dGVybi5k
YXRhKCkpLAorICAgIFVTdHJpbmcgdVBhdHRlcm4gPSBzYW5pdGl6ZVBhdHRlcm4ocCk7CisgICAg
bV9yZWdleCA9IHBjcmVfY29tcGlsZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQxNl90Kj4o
dVBhdHRlcm4uZGF0YSgpKSwgdVBhdHRlcm4uc2l6ZSgpLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICBvcHRpb25zLCAmZXJyb3JNZXNzYWdlLCAmZXJyb3JPZmZzZXQsIE5VTEwpOwogICAgIGlm
ICghbV9yZWdleCkgewogICAgICAgbV9jb25zdHJ1Y3Rpb25FcnJvciA9IHN0cmR1cChlcnJvck1l
c3NhZ2UpOwpJbmRleDogSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlLmgJKHJldmlzaW9uIDE4NDU3KQorKysgSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzNyw5ICsyMzcsOSBAQCBQQ1JF
X0RBVEFfU0NPUEUgaW50ICAgcGNyZV9jYWxsb3V0KHBjcmVfCiAKIC8qIEV4cG9ydGVkIFBDUkUg
ZnVuY3Rpb25zICovCiAKLVBDUkVfREFUQV9TQ09QRSBwY3JlICpwY3JlX2NvbXBpbGUoY29uc3Qg
cGNyZV9jaGFyICosIGludCwgY29uc3QgY2hhciAqKiwgaW50ICosCitQQ1JFX0RBVEFfU0NPUEUg
cGNyZSAqcGNyZV9jb21waWxlKGNvbnN0IHBjcmVfY2hhciAqLCBpbnQsIGludCwgY29uc3QgY2hh
ciAqKiwgaW50ICosCiAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICopOwot
UENSRV9EQVRBX1NDT1BFIHBjcmUgKnBjcmVfY29tcGlsZTIoY29uc3QgcGNyZV9jaGFyICosIGlu
dCwgaW50ICosIGNvbnN0IGNoYXIgKiosCitQQ1JFX0RBVEFfU0NPUEUgcGNyZSAqcGNyZV9jb21w
aWxlMihjb25zdCBwY3JlX2NoYXIgKiwgaW50LCBpbnQsIGludCAqLCBjb25zdCBjaGFyICoqLAog
ICAgICAgICAgICAgICAgICAgaW50ICosIGNvbnN0IHVuc2lnbmVkIGNoYXIgKik7CiBQQ1JFX0RB
VEFfU0NPUEUgaW50ICBwY3JlX2NvbmZpZyhpbnQsIHZvaWQgKik7CiBQQ1JFX0RBVEFfU0NPUEUg
aW50ICBwY3JlX2NvcHlfbmFtZWRfc3Vic3RyaW5nKGNvbnN0IHBjcmUgKiwgY29uc3QgcGNyZV9j
aGFyICosCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfY29tcGlsZS5jCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEphdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9jb21waWxlLmMJKHJldmlzaW9uIDE4NDU3
KQorKysgSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX2NvbXBpbGUuYwkod29ya2luZyBjb3B5KQpA
QCAtMzQ2LDcgKzM0Niw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGViY2RpY19jaGFy
dGEKIC8qIERlZmluaXRpb24gdG8gYWxsb3cgbXV0dWFsIHJlY3Vyc2lvbiAqLwogCiBzdGF0aWMg
Qk9PTAotICBjb21waWxlX3JlZ2V4KGludCwgaW50LCBpbnQgKiwgdXNjaGFyICoqLCBjb25zdCBw
Y3JlX3VjaGFyICoqLCBpbnQgKiwgQk9PTCwgaW50LAorICBjb21waWxlX3JlZ2V4KGludCwgaW50
LCBpbnQgKiwgdXNjaGFyICoqLCBjb25zdCBwY3JlX3VjaGFyICoqLCBjb25zdCBwY3JlX3VjaGFy
IGNvbnN0KiwgaW50ICosIEJPT0wsIGludCwKICAgICBpbnQgKiwgaW50ICosIGJyYW5jaF9jaGFp
biAqLCBjb21waWxlX2RhdGEgKik7CiAKIApAQCAtMzc0LDcgKzM3NCw3IEBAIFJldHVybnM6ICAg
ICAgICAgemVybyBvciBwb3NpdGl2ZSA9PiBhIGQKICovCiAKIHN0YXRpYyBpbnQKLWNoZWNrX2Vz
Y2FwZShjb25zdCBwY3JlX3VjaGFyICoqcHRycHRyLCBpbnQgKmVycm9yY29kZXB0ciwgaW50IGJy
YWNvdW50LAorY2hlY2tfZXNjYXBlKGNvbnN0IHBjcmVfdWNoYXIgKipwdHJwdHIsIGNvbnN0IHBj
cmVfdWNoYXIgY29uc3QqIHBhdHRlcm5FbmQsIGludCAqZXJyb3Jjb2RlcHRyLCBpbnQgYnJhY291
bnQsCiAgIGludCBvcHRpb25zLCBCT09MIGlzY2xhc3MpCiB7CiBjb25zdCBwY3JlX3VjaGFyICpw
dHIgPSAqcHRycHRyOwpAQCAtMzgyLDE3OSArMzgyLDE4MyBAQCBpbnQgYywgaTsKIAogLyogSWYg
YmFja3NsYXNoIGlzIGF0IHRoZSBlbmQgb2YgdGhlIHBhdHRlcm4sIGl0J3MgYW4gZXJyb3IuICov
CiAKLWMgPSAqKCsrcHRyKTsKLWlmIChjID09IDApICplcnJvcmNvZGVwdHIgPSBFUlIxOwotCi0v
KiBOb24tYWxwaGFtZXJpY3MgYXJlIGxpdGVyYWxzLiBGb3IgZGlnaXRzIG9yIGxldHRlcnMsIGRv
IGFuIGluaXRpYWwgbG9va3VwIGluCi1hIHRhYmxlLiBBIG5vbi16ZXJvIHJlc3VsdCBpcyBzb21l
dGhpbmcgdGhhdCBjYW4gYmUgcmV0dXJuZWQgaW1tZWRpYXRlbHkuCi1PdGhlcndpc2UgZnVydGhl
ciBwcm9jZXNzaW5nIG1heSBiZSByZXF1aXJlZC4gKi8KK2lmICgrK3B0ciA9PSBwYXR0ZXJuRW5k
KSB7CisgICAgYyA9IDA7CisgICAgKmVycm9yY29kZXB0ciA9IEVSUjE7Cit9IGVsc2UgeworICAg
IGMgPSAqcHRyOworCisgICAgLyogTm9uLWFscGhhbWVyaWNzIGFyZSBsaXRlcmFscy4gRm9yIGRp
Z2l0cyBvciBsZXR0ZXJzLCBkbyBhbiBpbml0aWFsIGxvb2t1cCBpbgorICAgIGEgdGFibGUuIEEg
bm9uLXplcm8gcmVzdWx0IGlzIHNvbWV0aGluZyB0aGF0IGNhbiBiZSByZXR1cm5lZCBpbW1lZGlh
dGVseS4KKyAgICBPdGhlcndpc2UgZnVydGhlciBwcm9jZXNzaW5nIG1heSBiZSByZXF1aXJlZC4g
Ki8KKworICAgICNpZiAhRUJDRElDICAgIC8qIEFTQ0lJIGNvZGluZyAqLworICAgIGlmIChjIDwg
JzAnIHx8IGMgPiAneicpIHt9ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogTm90IGFscGhh
bWVyaWMgKi8KKyAgICBlbHNlIGlmICgoaSA9IGVzY2FwZXNbYyAtICcwJ10pICE9IDApIGMgPSBp
OworCisgICAgI2Vsc2UgICAgICAgICAgLyogRUJDRElDIGNvZGluZyAqLworICAgIGlmIChjIDwg
J2EnIHx8IChlYmNkaWNfY2hhcnRhYltjXSAmIDB4MEUpID09IDApIHt9ICAgLyogTm90IGFscGhh
bWVyaWMgKi8KKyAgICBlbHNlIGlmICgoaSA9IGVzY2FwZXNbYyAtIDB4NDhdKSAhPSAwKSAgYyA9
IGk7CisgICAgI2VuZGlmCiAKLSNpZiAhRUJDRElDICAgIC8qIEFTQ0lJIGNvZGluZyAqLwotZWxz
ZSBpZiAoYyA8ICcwJyB8fCBjID4gJ3onKSB7fSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q
IE5vdCBhbHBoYW1lcmljICovCi1lbHNlIGlmICgoaSA9IGVzY2FwZXNbYyAtICcwJ10pICE9IDAp
IGMgPSBpOworICAgIC8qIEVzY2FwZXMgdGhhdCBuZWVkIGZ1cnRoZXIgcHJvY2Vzc2luZywgb3Ig
YXJlIGlsbGVnYWwuICovCiAKLSNlbHNlICAgICAgICAgIC8qIEVCQ0RJQyBjb2RpbmcgKi8KLWVs
c2UgaWYgKGMgPCAnYScgfHwgKGViY2RpY19jaGFydGFiW2NdICYgMHgwRSkgPT0gMCkge30gICAv
KiBOb3QgYWxwaGFtZXJpYyAqLwotZWxzZSBpZiAoKGkgPSBlc2NhcGVzW2MgLSAweDQ4XSkgIT0g
MCkgIGMgPSBpOwotI2VuZGlmCisgICAgZWxzZQorICAgICAgeworICAgICAgY29uc3QgcGNyZV91
Y2hhciAqb2xkcHRyOworICAgICAgc3dpdGNoIChjKQorICAgICAgICB7CisgICAgICAgIC8qIEEg
bnVtYmVyIG9mIFBlcmwgZXNjYXBlcyBhcmUgbm90IGhhbmRsZWQgYnkgUENSRS4gV2UgZ2l2ZSBh
biBleHBsaWNpdAorICAgICAgICBlcnJvci4gKi8KIAotLyogRXNjYXBlcyB0aGF0IG5lZWQgZnVy
dGhlciBwcm9jZXNzaW5nLCBvciBhcmUgaWxsZWdhbC4gKi8KKyAgICAgICAgY2FzZSAnbCc6Cisg
ICAgICAgIGNhc2UgJ0wnOgorICAgICAgICBjYXNlICdOJzoKKyAgICAgICAgY2FzZSAndSc6Cisg
ICAgICAgIGNhc2UgJ1UnOgorICAgICAgICAqZXJyb3Jjb2RlcHRyID0gRVJSMzc7CisgICAgICAg
IGJyZWFrOwogCi1lbHNlCi0gIHsKLSAgY29uc3QgcGNyZV91Y2hhciAqb2xkcHRyOwotICBzd2l0
Y2ggKGMpCi0gICAgewotICAgIC8qIEEgbnVtYmVyIG9mIFBlcmwgZXNjYXBlcyBhcmUgbm90IGhh
bmRsZWQgYnkgUENSRS4gV2UgZ2l2ZSBhbiBleHBsaWNpdAotICAgIGVycm9yLiAqLworICAgICAg
ICAvKiBUaGUgaGFuZGxpbmcgb2YgZXNjYXBlIHNlcXVlbmNlcyBjb25zaXN0aW5nIG9mIGEgc3Ry
aW5nIG9mIGRpZ2l0cworICAgICAgICBzdGFydGluZyB3aXRoIG9uZSB0aGF0IGlzIG5vdCB6ZXJv
IGlzIG5vdCBzdHJhaWdodGZvcndhcmQuIEJ5IGV4cGVyaW1lbnQsCisgICAgICAgIHRoZSB3YXkg
UGVybCB3b3JrcyBzZWVtcyB0byBiZSBhcyBmb2xsb3dzOgorCisgICAgICAgIE91dHNpZGUgYSBj
aGFyYWN0ZXIgY2xhc3MsIHRoZSBkaWdpdHMgYXJlIHJlYWQgYXMgYSBkZWNpbWFsIG51bWJlci4g
SWYgdGhlCisgICAgICAgIG51bWJlciBpcyBsZXNzIHRoYW4gMTAsIG9yIGlmIHRoZXJlIGFyZSB0
aGF0IG1hbnkgcHJldmlvdXMgZXh0cmFjdGluZworICAgICAgICBsZWZ0IGJyYWNrZXRzLCB0aGVu
IGl0IGlzIGEgYmFjayByZWZlcmVuY2UuIE90aGVyd2lzZSwgdXAgdG8gdGhyZWUgb2N0YWwKKyAg
ICAgICAgZGlnaXRzIGFyZSByZWFkIHRvIGZvcm0gYW4gZXNjYXBlZCBieXRlLiBUaHVzIFwxMjMg
aXMgbGlrZWx5IHRvIGJlIG9jdGFsCisgICAgICAgIDEyMyAoY2YgXDAxMjMsIHdoaWNoIGlzIG9j
dGFsIDAxMiBmb2xsb3dlZCBieSB0aGUgbGl0ZXJhbCAzKS4gSWYgdGhlIG9jdGFsCisgICAgICAg
IHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiAzNzcsIHRoZSBsZWFzdCBzaWduaWZpY2FudCA4IGJpdHMg
YXJlIHRha2VuLiBJbnNpZGUgYQorICAgICAgICBjaGFyYWN0ZXIgY2xhc3MsIFwgZm9sbG93ZWQg
YnkgYSBkaWdpdCBpcyBhbHdheXMgYW4gb2N0YWwgbnVtYmVyLiAqLworCisgICAgICAgIGNhc2Ug
JzEnOiBjYXNlICcyJzogY2FzZSAnMyc6IGNhc2UgJzQnOiBjYXNlICc1JzoKKyAgICAgICAgY2Fz
ZSAnNic6IGNhc2UgJzcnOiBjYXNlICc4JzogY2FzZSAnOSc6CisKKyAgICAgICAgaWYgKCFpc2Ns
YXNzKQorICAgICAgICAgIHsKKyAgICAgICAgICBvbGRwdHIgPSBwdHI7CisgICAgICAgICAgYyAt
PSAnMCc7CisgICAgICAgICAgd2hpbGUgKHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIChESUdJVEFC
KHB0clsxXSkgJiBjdHlwZV9kaWdpdCkgIT0gMCkKKyAgICAgICAgICAgIGMgPSBjICogMTAgKyAq
KCsrcHRyKSAtICcwJzsKKyAgICAgICAgICBpZiAoYyA8IDEwIHx8IGMgPD0gYnJhY291bnQpCisg
ICAgICAgICAgICB7CisgICAgICAgICAgICBjID0gLShFU0NfUkVGICsgYyk7CisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICBwdHIgPSBvbGRwdHI7ICAgICAgLyog
UHV0IHRoZSBwb2ludGVyIGJhY2sgYW5kIGZhbGwgdGhyb3VnaCAqLworICAgICAgICAgIH0KIAot
ICAgIGNhc2UgJ2wnOgotICAgIGNhc2UgJ0wnOgotICAgIGNhc2UgJ04nOgotICAgIGNhc2UgJ3Un
OgotICAgIGNhc2UgJ1UnOgotICAgICplcnJvcmNvZGVwdHIgPSBFUlIzNzsKLSAgICBicmVhazsK
KyAgICAgICAgLyogSGFuZGxlIGFuIG9jdGFsIG51bWJlciBmb2xsb3dpbmcgXC4gSWYgdGhlIGZp
cnN0IGRpZ2l0IGlzIDggb3IgOSwgUGVybAorICAgICAgICBnZW5lcmF0ZXMgYSBiaW5hcnkgemVy
byBieXRlIGFuZCB0cmVhdHMgdGhlIGRpZ2l0IGFzIGEgZm9sbG93aW5nIGxpdGVyYWwuCisgICAg
ICAgIFRodXMgd2UgaGF2ZSB0byBwdWxsIGJhY2sgdGhlIHBvaW50ZXIgYnkgb25lLiAqLwogCi0g
ICAgLyogVGhlIGhhbmRsaW5nIG9mIGVzY2FwZSBzZXF1ZW5jZXMgY29uc2lzdGluZyBvZiBhIHN0
cmluZyBvZiBkaWdpdHMKLSAgICBzdGFydGluZyB3aXRoIG9uZSB0aGF0IGlzIG5vdCB6ZXJvIGlz
IG5vdCBzdHJhaWdodGZvcndhcmQuIEJ5IGV4cGVyaW1lbnQsCi0gICAgdGhlIHdheSBQZXJsIHdv
cmtzIHNlZW1zIHRvIGJlIGFzIGZvbGxvd3M6Ci0KLSAgICBPdXRzaWRlIGEgY2hhcmFjdGVyIGNs
YXNzLCB0aGUgZGlnaXRzIGFyZSByZWFkIGFzIGEgZGVjaW1hbCBudW1iZXIuIElmIHRoZQotICAg
IG51bWJlciBpcyBsZXNzIHRoYW4gMTAsIG9yIGlmIHRoZXJlIGFyZSB0aGF0IG1hbnkgcHJldmlv
dXMgZXh0cmFjdGluZwotICAgIGxlZnQgYnJhY2tldHMsIHRoZW4gaXQgaXMgYSBiYWNrIHJlZmVy
ZW5jZS4gT3RoZXJ3aXNlLCB1cCB0byB0aHJlZSBvY3RhbAotICAgIGRpZ2l0cyBhcmUgcmVhZCB0
byBmb3JtIGFuIGVzY2FwZWQgYnl0ZS4gVGh1cyBcMTIzIGlzIGxpa2VseSB0byBiZSBvY3RhbAot
ICAgIDEyMyAoY2YgXDAxMjMsIHdoaWNoIGlzIG9jdGFsIDAxMiBmb2xsb3dlZCBieSB0aGUgbGl0
ZXJhbCAzKS4gSWYgdGhlIG9jdGFsCi0gICAgdmFsdWUgaXMgZ3JlYXRlciB0aGFuIDM3NywgdGhl
IGxlYXN0IHNpZ25pZmljYW50IDggYml0cyBhcmUgdGFrZW4uIEluc2lkZSBhCi0gICAgY2hhcmFj
dGVyIGNsYXNzLCBcIGZvbGxvd2VkIGJ5IGEgZGlnaXQgaXMgYWx3YXlzIGFuIG9jdGFsIG51bWJl
ci4gKi8KLQotICAgIGNhc2UgJzEnOiBjYXNlICcyJzogY2FzZSAnMyc6IGNhc2UgJzQnOiBjYXNl
ICc1JzoKLSAgICBjYXNlICc2JzogY2FzZSAnNyc6IGNhc2UgJzgnOiBjYXNlICc5JzoKLQotICAg
IGlmICghaXNjbGFzcykKLSAgICAgIHsKLSAgICAgIG9sZHB0ciA9IHB0cjsKLSAgICAgIGMgLT0g
JzAnOwotICAgICAgd2hpbGUgKChESUdJVEFCKHB0clsxXSkgJiBjdHlwZV9kaWdpdCkgIT0gMCkK
LSAgICAgICAgYyA9IGMgKiAxMCArICooKytwdHIpIC0gJzAnOwotICAgICAgaWYgKGMgPCAxMCB8
fCBjIDw9IGJyYWNvdW50KQotICAgICAgICB7Ci0gICAgICAgIGMgPSAtKEVTQ19SRUYgKyBjKTsK
LSAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgIHB0ciA9IG9sZHB0cjsgICAgICAvKiBQ
dXQgdGhlIHBvaW50ZXIgYmFjayBhbmQgZmFsbCB0aHJvdWdoICovCi0gICAgICB9CisgICAgICAg
IGlmICgoYyA9ICpwdHIpID49ICc4JykKKyAgICAgICAgICB7CisgICAgICAgICAgcHRyLS07Cisg
ICAgICAgICAgYyA9IDA7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgfQogCi0gICAgLyog
SGFuZGxlIGFuIG9jdGFsIG51bWJlciBmb2xsb3dpbmcgXC4gSWYgdGhlIGZpcnN0IGRpZ2l0IGlz
IDggb3IgOSwgUGVybAotICAgIGdlbmVyYXRlcyBhIGJpbmFyeSB6ZXJvIGJ5dGUgYW5kIHRyZWF0
cyB0aGUgZGlnaXQgYXMgYSBmb2xsb3dpbmcgbGl0ZXJhbC4KLSAgICBUaHVzIHdlIGhhdmUgdG8g
cHVsbCBiYWNrIHRoZSBwb2ludGVyIGJ5IG9uZS4gKi8KKyAgICAgICAgLyogXDAgYWx3YXlzIHN0
YXJ0cyBhbiBvY3RhbCBudW1iZXIsIGJ1dCB3ZSBtYXkgZHJvcCB0aHJvdWdoIHRvIGhlcmUgd2l0
aCBhCisgICAgICAgIGxhcmdlciBmaXJzdCBvY3RhbCBkaWdpdC4gKi8KIAotICAgIGlmICgoYyA9
ICpwdHIpID49ICc4JykKLSAgICAgIHsKLSAgICAgIHB0ci0tOwotICAgICAgYyA9IDA7Ci0gICAg
ICBicmVhazsKLSAgICAgIH0KKyAgICAgICAgY2FzZSAnMCc6CisgICAgICAgIGMgLT0gJzAnOwor
ICAgICAgICB3aGlsZSAoaSsrIDwgMiAmJiBwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiBwdHJbMV0g
Pj0gJzAnICYmIHB0clsxXSA8PSAnNycpCisgICAgICAgICAgICBjID0gYyAqIDggKyAqKCsrcHRy
KSAtICcwJzsKKyAgICAgICAgYyAmPSAyNTU7ICAgICAvKiBUYWtlIGxlYXN0IHNpZ25pZmljYW50
IDggYml0cyAqLworICAgICAgICBicmVhazsKIAotICAgIC8qIFwwIGFsd2F5cyBzdGFydHMgYW4g
b2N0YWwgbnVtYmVyLCBidXQgd2UgbWF5IGRyb3AgdGhyb3VnaCB0byBoZXJlIHdpdGggYQotICAg
IGxhcmdlciBmaXJzdCBvY3RhbCBkaWdpdC4gKi8KKyAgICAgICAgLyogXHggaXMgY29tcGxpY2F0
ZWQgd2hlbiBVVEYtOCBpcyBlbmFibGVkLiBceHtkZGR9IGlzIGEgY2hhcmFjdGVyIG51bWJlcgor
ICAgICAgICB3aGljaCBjYW4gYmUgZ3JlYXRlciB0aGFuIDB4ZmYsIGJ1dCBvbmx5IGlmIHRoZSBk
ZGQgYXJlIGhleCBkaWdpdHMuICovCiAKLSAgICBjYXNlICcwJzoKLSAgICBjIC09ICcwJzsKLSAg
ICB3aGlsZShpKysgPCAyICYmIHB0clsxXSA+PSAnMCcgJiYgcHRyWzFdIDw9ICc3JykKLSAgICAg
ICAgYyA9IGMgKiA4ICsgKigrK3B0cikgLSAnMCc7Ci0gICAgYyAmPSAyNTU7ICAgICAvKiBUYWtl
IGxlYXN0IHNpZ25pZmljYW50IDggYml0cyAqLwotICAgIGJyZWFrOworICAgICAgICBjYXNlICd4
JzoKKyAgICAjaWZkZWYgU1VQUE9SVF9VVEY4CisgICAgICAgIGlmIChwdHIgKyAxIDwgcGF0dGVy
bkVuZCAmJiBwdHJbMV0gPT0gJ3snICYmIChvcHRpb25zICYgUENSRV9VVEY4KSAhPSAwKQorICAg
ICAgICAgIHsKKyAgICAgICAgICBjb25zdCBwY3JlX3VjaGFyICpwdCA9IHB0ciArIDI7CisgICAg
ICAgICAgcmVnaXN0ZXIgaW50IGNvdW50ID0gMDsKKyAgICAgICAgICBjID0gMDsKKyAgICAgICAg
ICB3aGlsZSAocHQgPCBwYXR0ZXJuRW5kICYmIChESUdJVEFCKCpwdCkgJiBjdHlwZV94ZGlnaXQp
ICE9IDApCisgICAgICAgICAgICB7CisgICAgICAgICAgICBpbnQgY2MgPSAqcHQrKzsKKyAgICAg
ICAgICAgIGNvdW50Kys7CisgICAgI2lmICFFQkNESUMgICAgLyogQVNDSUkgY29kaW5nICovCisg
ICAgICAgICAgICBpZiAoY2MgPj0gJ2EnKSBjYyAtPSAzMjsgICAgICAgICAgICAgICAvKiBDb252
ZXJ0IHRvIHVwcGVyIGNhc2UgKi8KKyAgICAgICAgICAgIGMgPSBjICogMTYgKyBjYyAtICgoY2Mg
PCAnQScpPyAnMCcgOiAoJ0EnIC0gMTApKTsKKyAgICAjZWxzZSAgICAgICAgICAvKiBFQkNESUMg
Y29kaW5nICovCisgICAgICAgICAgICBpZiAoY2MgPj0gJ2EnICYmIGNjIDw9ICd6JykgY2MgKz0g
NjQ7ICAvKiBDb252ZXJ0IHRvIHVwcGVyIGNhc2UgKi8KKyAgICAgICAgICAgIGMgPSBjICogMTYg
KyBjYyAtICgoY2MgPj0gJzAnKT8gJzAnIDogKCdBJyAtIDEwKSk7CisgICAgI2VuZGlmCisgICAg
ICAgICAgICB9CisgICAgICAgICAgaWYgKHB0IDwgcGF0dGVybkVuZCAmJiAqcHQgPT0gJ30nKQor
ICAgICAgICAgICAgeworICAgICAgICAgICAgaWYgKGMgPCAwIHx8IGNvdW50ID4gOCB8fCAoYyA+
PSAweGQ4MDAgJiYgYyA8PSAweGRiZmYpIHx8IChjID49IDB4ZmRkMCAmJiBjIDw9IDB4ZmRlZikg
fHwgYyA9PSAweGZmZmUgfHwgYyA9PSAweGZmZmYgfHwgYyA+IDB4MTBGRkZGKSAqZXJyb3Jjb2Rl
cHRyID0gRVJSMzQ7CisgICAgICAgICAgICBwdHIgPSBwdDsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgfQorICAgICAgICAgIC8qIElmIHRoZSBzZXF1ZW5jZSBvZiBoZXggZGlnaXRz
IGRvZXMgbm90IGVuZCB3aXRoICd9JywgdGhlbiB3ZSBkb24ndAorICAgICAgICAgIHJlY29nbml6
ZSB0aGlzIGNvbnN0cnVjdDsgZmFsbCB0aHJvdWdoIHRvIHRoZSBub3JtYWwgXHggaGFuZGxpbmcu
ICovCisgICAgICAgICAgfQorICAgICNlbmRpZgogCi0gICAgLyogXHggaXMgY29tcGxpY2F0ZWQg
d2hlbiBVVEYtOCBpcyBlbmFibGVkLiBceHtkZGR9IGlzIGEgY2hhcmFjdGVyIG51bWJlcgotICAg
IHdoaWNoIGNhbiBiZSBncmVhdGVyIHRoYW4gMHhmZiwgYnV0IG9ubHkgaWYgdGhlIGRkZCBhcmUg
aGV4IGRpZ2l0cy4gKi8KKyAgICAgICAgLyogUmVhZCBqdXN0IGEgc2luZ2xlIGhleCBjaGFyICov
CiAKLSAgICBjYXNlICd4JzoKLSNpZmRlZiBTVVBQT1JUX1VURjgKLSAgICBpZiAocHRyWzFdID09
ICd7JyAmJiAob3B0aW9ucyAmIFBDUkVfVVRGOCkgIT0gMCkKLSAgICAgIHsKLSAgICAgIGNvbnN0
IHBjcmVfdWNoYXIgKnB0ID0gcHRyICsgMjsKLSAgICAgIHJlZ2lzdGVyIGludCBjb3VudCA9IDA7
Ci0gICAgICBjID0gMDsKLSAgICAgIHdoaWxlICgoRElHSVRBQigqcHQpICYgY3R5cGVfeGRpZ2l0
KSAhPSAwKQotICAgICAgICB7Ci0gICAgICAgIGludCBjYyA9ICpwdCsrOwotICAgICAgICBjb3Vu
dCsrOwotI2lmICFFQkNESUMgICAgLyogQVNDSUkgY29kaW5nICovCi0gICAgICAgIGlmIChjYyA+
PSAnYScpIGNjIC09IDMyOyAgICAgICAgICAgICAgIC8qIENvbnZlcnQgdG8gdXBwZXIgY2FzZSAq
LwotICAgICAgICBjID0gYyAqIDE2ICsgY2MgLSAoKGNjIDwgJ0EnKT8gJzAnIDogKCdBJyAtIDEw
KSk7Ci0jZWxzZSAgICAgICAgICAvKiBFQkNESUMgY29kaW5nICovCi0gICAgICAgIGlmIChjYyA+
PSAnYScgJiYgY2MgPD0gJ3onKSBjYyArPSA2NDsgIC8qIENvbnZlcnQgdG8gdXBwZXIgY2FzZSAq
LwotICAgICAgICBjID0gYyAqIDE2ICsgY2MgLSAoKGNjID49ICcwJyk/ICcwJyA6ICgnQScgLSAx
MCkpOwotI2VuZGlmCi0gICAgICAgIH0KLSAgICAgIGlmICgqcHQgPT0gJ30nKQotICAgICAgICB7
Ci0gICAgICAgIGlmIChjIDwgMCB8fCBjb3VudCA+IDggfHwgKGMgPj0gMHhkODAwICYmIGMgPD0g
MHhkYmZmKSB8fCAoYyA+PSAweGZkZDAgJiYgYyA8PSAweGZkZWYpIHx8IGMgPT0gMHhmZmZlIHx8
IGMgPT0gMHhmZmZmIHx8IGMgPiAweDEwRkZGRikgKmVycm9yY29kZXB0ciA9IEVSUjM0OwotICAg
ICAgICBwdHIgPSBwdDsKKyAgICAgICAgYyA9IDA7CisgICAgICAgIHdoaWxlIChpKysgPCAyICYm
IHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIChESUdJVEFCKHB0clsxXSkgJiBjdHlwZV94ZGlnaXQp
ICE9IDApCisgICAgICAgICAgeworICAgICAgICAgIGludCBjYzsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLyogU29tZSBjb21waWxlcnMgZG9uJ3QgbGlrZSArKyAqLworICAgICAgICAg
IGNjID0gKigrK3B0cik7ICAgICAgICAgICAgICAgICAgICAgICAgLyogaW4gaW5pdGlhbGl6ZXJz
ICovCisgICAgI2lmICFFQkNESUMgICAgLyogQVNDSUkgY29kaW5nICovCisgICAgICAgICAgaWYg
KGNjID49ICdhJykgY2MgLT0gMzI7ICAgICAgICAgICAgICAvKiBDb252ZXJ0IHRvIHVwcGVyIGNh
c2UgKi8KKyAgICAgICAgICBjID0gYyAqIDE2ICsgY2MgLSAoKGNjIDwgJ0EnKT8gJzAnIDogKCdB
JyAtIDEwKSk7CisgICAgI2Vsc2UgICAgICAgICAgLyogRUJDRElDIGNvZGluZyAqLworICAgICAg
ICAgIGlmIChjYyA8PSAneicpIGNjICs9IDY0OyAgICAgICAgICAgICAgLyogQ29udmVydCB0byB1
cHBlciBjYXNlICovCisgICAgICAgICAgYyA9IGMgKiAxNiArIGNjIC0gKChjYyA+PSAnMCcpPyAn
MCcgOiAoJ0EnIC0gMTApKTsKKyAgICAjZW5kaWYKKyAgICAgICAgICB9CiAgICAgICAgIGJyZWFr
OwotICAgICAgICB9Ci0gICAgICAvKiBJZiB0aGUgc2VxdWVuY2Ugb2YgaGV4IGRpZ2l0cyBkb2Vz
IG5vdCBlbmQgd2l0aCAnfScsIHRoZW4gd2UgZG9uJ3QKLSAgICAgIHJlY29nbml6ZSB0aGlzIGNv
bnN0cnVjdDsgZmFsbCB0aHJvdWdoIHRvIHRoZSBub3JtYWwgXHggaGFuZGxpbmcuICovCi0gICAg
ICB9Ci0jZW5kaWYKIAotICAgIC8qIFJlYWQganVzdCBhIHNpbmdsZSBoZXggY2hhciAqLworICAg
ICAgICAvKiBPdGhlciBzcGVjaWFsIGVzY2FwZXMgbm90IHN0YXJ0aW5nIHdpdGggYSBkaWdpdCBh
cmUgc3RyYWlnaHRmb3J3YXJkICovCiAKLSAgICBjID0gMDsKLSAgICB3aGlsZSAoaSsrIDwgMiAm
JiAoRElHSVRBQihwdHJbMV0pICYgY3R5cGVfeGRpZ2l0KSAhPSAwKQotICAgICAgewotICAgICAg
aW50IGNjOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBTb21lIGNvbXBpbGVycyBk
b24ndCBsaWtlICsrICovCi0gICAgICBjYyA9ICooKytwdHIpOyAgICAgICAgICAgICAgICAgICAg
ICAgIC8qIGluIGluaXRpYWxpemVycyAqLwotI2lmICFFQkNESUMgICAgLyogQVNDSUkgY29kaW5n
ICovCi0gICAgICBpZiAoY2MgPj0gJ2EnKSBjYyAtPSAzMjsgICAgICAgICAgICAgIC8qIENvbnZl
cnQgdG8gdXBwZXIgY2FzZSAqLwotICAgICAgYyA9IGMgKiAxNiArIGNjIC0gKChjYyA8ICdBJyk/
ICcwJyA6ICgnQScgLSAxMCkpOwotI2Vsc2UgICAgICAgICAgLyogRUJDRElDIGNvZGluZyAqLwot
ICAgICAgaWYgKGNjIDw9ICd6JykgY2MgKz0gNjQ7ICAgICAgICAgICAgICAvKiBDb252ZXJ0IHRv
IHVwcGVyIGNhc2UgKi8KLSAgICAgIGMgPSBjICogMTYgKyBjYyAtICgoY2MgPj0gJzAnKT8gJzAn
IDogKCdBJyAtIDEwKSk7Ci0jZW5kaWYKLSAgICAgIH0KLSAgICBicmVhazsKLQotICAgIC8qIE90
aGVyIHNwZWNpYWwgZXNjYXBlcyBub3Qgc3RhcnRpbmcgd2l0aCBhIGRpZ2l0IGFyZSBzdHJhaWdo
dGZvcndhcmQgKi8KKyAgICAgICAgY2FzZSAnYyc6CisgICAgICAgIGlmICgrK3B0ciA9PSBwYXR0
ZXJuRW5kKQorICAgICAgICAgIHsKKyAgICAgICAgICAqZXJyb3Jjb2RlcHRyID0gRVJSMjsKKyAg
ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICB9CisgICAgICAgIGMgPSAqcHRyOwogCi0gICAg
Y2FzZSAnYyc6Ci0gICAgYyA9ICooKytwdHIpOwotICAgIGlmIChjID09IDApCi0gICAgICB7Ci0g
ICAgICAqZXJyb3Jjb2RlcHRyID0gRVJSMjsKLSAgICAgIHJldHVybiAwOwotICAgICAgfQotCi0g
ICAgLyogQSBsZXR0ZXIgaXMgdXBwZXItY2FzZWQ7IHRoZW4gdGhlIDB4NDAgYml0IGlzIGZsaXBw
ZWQuIFRoaXMgY29kaW5nCi0gICAgaXMgQVNDSUktc3BlY2lmaWMsIGJ1dCB0aGVuIHRoZSB3aG9s
ZSBjb25jZXB0IG9mIFxjeCBpcyBBU0NJSS1zcGVjaWZpYy4KLSAgICAoSG93ZXZlciwgYW4gRUJD
RElDIGVxdWl2YWxlbnQgaGFzIG5vdyBiZWVuIGFkZGVkLikgKi8KLQotI2lmICFFQkNESUMgICAg
LyogQVNDSUkgY29kaW5nICovCi0gICAgaWYgKGMgPj0gJ2EnICYmIGMgPD0gJ3onKSBjIC09IDMy
OwotICAgIGMgXj0gMHg0MDsKLSNlbHNlICAgICAgICAgIC8qIEVCQ0RJQyBjb2RpbmcgKi8KLSAg
ICBpZiAoYyA+PSAnYScgJiYgYyA8PSAneicpIGMgKz0gNjQ7Ci0gICAgYyBePSAweEMwOwotI2Vu
ZGlmCi0gICAgYnJlYWs7CisgICAgICAgIC8qIEEgbGV0dGVyIGlzIHVwcGVyLWNhc2VkOyB0aGVu
IHRoZSAweDQwIGJpdCBpcyBmbGlwcGVkLiBUaGlzIGNvZGluZworICAgICAgICBpcyBBU0NJSS1z
cGVjaWZpYywgYnV0IHRoZW4gdGhlIHdob2xlIGNvbmNlcHQgb2YgXGN4IGlzIEFTQ0lJLXNwZWNp
ZmljLgorICAgICAgICAoSG93ZXZlciwgYW4gRUJDRElDIGVxdWl2YWxlbnQgaGFzIG5vdyBiZWVu
IGFkZGVkLikgKi8KKworICAgICNpZiAhRUJDRElDICAgIC8qIEFTQ0lJIGNvZGluZyAqLworICAg
ICAgICBpZiAoYyA+PSAnYScgJiYgYyA8PSAneicpIGMgLT0gMzI7CisgICAgICAgIGMgXj0gMHg0
MDsKKyAgICAjZWxzZSAgICAgICAgICAvKiBFQkNESUMgY29kaW5nICovCisgICAgICAgIGlmIChj
ID49ICdhJyAmJiBjIDw9ICd6JykgYyArPSA2NDsKKyAgICAgICAgYyBePSAweEMwOworICAgICNl
bmRpZgorICAgICAgICBicmVhazsKIAotICAgIC8qIFBDUkVfRVhUUkEgZW5hYmxlcyBleHRlbnNp
b25zIHRvIFBlcmwgaW4gdGhlIG1hdHRlciBvZiBlc2NhcGVzLiBBbnkKLSAgICBvdGhlciBhbHBo
YW1lcmljIGZvbGxvd2luZyBcIGlzIGFuIGVycm9yIGlmIFBDUkVfRVhUUkEgd2FzIHNldDsgb3Ro
ZXJ3aXNlLAotICAgIGZvciBQZXJsIGNvbXBhdGliaWxpdHksIGl0IGlzIGEgbGl0ZXJhbC4gVGhp
cyBjb2RlIGxvb2tzIGEgYml0IG9kZCwgYnV0Ci0gICAgdGhlcmUgdXNlZCB0byBiZSBzb21lIGNh
c2VzIG90aGVyIHRoYW4gdGhlIGRlZmF1bHQsIGFuZCB0aGVyZSBtYXkgYmUgYWdhaW4KLSAgICBp
biBmdXR1cmUsIHNvIEkgaGF2ZW4ndCAib3B0aW1pemVkIiBpdC4gKi8KKyAgICAgICAgLyogUENS
RV9FWFRSQSBlbmFibGVzIGV4dGVuc2lvbnMgdG8gUGVybCBpbiB0aGUgbWF0dGVyIG9mIGVzY2Fw
ZXMuIEFueQorICAgICAgICBvdGhlciBhbHBoYW1lcmljIGZvbGxvd2luZyBcIGlzIGFuIGVycm9y
IGlmIFBDUkVfRVhUUkEgd2FzIHNldDsgb3RoZXJ3aXNlLAorICAgICAgICBmb3IgUGVybCBjb21w
YXRpYmlsaXR5LCBpdCBpcyBhIGxpdGVyYWwuIFRoaXMgY29kZSBsb29rcyBhIGJpdCBvZGQsIGJ1
dAorICAgICAgICB0aGVyZSB1c2VkIHRvIGJlIHNvbWUgY2FzZXMgb3RoZXIgdGhhbiB0aGUgZGVm
YXVsdCwgYW5kIHRoZXJlIG1heSBiZSBhZ2FpbgorICAgICAgICBpbiBmdXR1cmUsIHNvIEkgaGF2
ZW4ndCAib3B0aW1pemVkIiBpdC4gKi8KIAotICAgIGRlZmF1bHQ6Ci0gICAgaWYgKChvcHRpb25z
ICYgUENSRV9FWFRSQSkgIT0gMCkgc3dpdGNoKGMpCi0gICAgICB7Ci0gICAgICBkZWZhdWx0Ogot
ICAgICAgKmVycm9yY29kZXB0ciA9IEVSUjM7Ci0gICAgICBicmVhazsKKyAgICAgICAgZGVmYXVs
dDoKKyAgICAgICAgaWYgKChvcHRpb25zICYgUENSRV9FWFRSQSkgIT0gMCkgc3dpdGNoKGMpCisg
ICAgICAgICAgeworICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgKmVycm9yY29kZXB0ciA9
IEVSUjM7CisgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgfQorICAgICAgICBicmVhazsKKyAg
ICAgICAgfQogICAgICAgfQotICAgIGJyZWFrOwotICAgIH0KLSAgfQorfQogCiAqcHRycHRyID0g
cHRyOwogcmV0dXJuIGM7CkBAIC01ODEsMTQgKzU4NSwxNCBAQCBSZXR1cm5zOiAgICAgdmFsdWUg
ZnJvbSB1Y3BfdHlwZV90YWJsZSwgCiAqLwogCiBzdGF0aWMgaW50Ci1nZXRfdWNwKGNvbnN0IHBj
cmVfdWNoYXIgKipwdHJwdHIsIEJPT0wgKm5lZ3B0ciwgaW50ICplcnJvcmNvZGVwdHIpCitnZXRf
dWNwKGNvbnN0IHBjcmVfdWNoYXIgKipwdHJwdHIsIGNvbnN0IHBjcmVfdWNoYXIgY29uc3QqIHBh
dHRlcm5FbmQsIEJPT0wgKm5lZ3B0ciwgaW50ICplcnJvcmNvZGVwdHIpCiB7CiBpbnQgYywgaSwg
Ym90LCB0b3A7CiBjb25zdCBwY3JlX3VjaGFyICpwdHIgPSAqcHRycHRyOwogY2hhciBuYW1lWzRd
OwogCi1jID0gKigrK3B0cik7Ci1pZiAoYyA9PSAwKSBnb3RvIEVSUk9SX1JFVFVSTjsKK2lmICgr
K3B0ciA9PSBwYXR0ZXJuRW5kKSBnb3RvIEVSUk9SX1JFVFVSTjsKK2MgPSAqcHRyOwogCiAqbmVn
cHRyID0gRkFMU0U7CiAKQEAgLTU5NywyMiArNjAxLDIzIEBAIHByZWNlZGVkIGJ5IF4gZm9yIG5l
Z2F0aW9uLiAqLwogCiBpZiAoYyA9PSAneycpCiAgIHsKLSAgaWYgKHB0clsxXSA9PSAnXicpCisg
IGlmIChwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiBwdHJbMV0gPT0gJ14nKQogICAgIHsKICAgICAq
bmVncHRyID0gVFJVRTsKICAgICBwdHIrKzsKICAgICB9CiAgIGZvciAoaSA9IDA7IGkgPD0gMjsg
aSsrKQogICAgIHsKLSAgICBjID0gKigrK3B0cik7Ci0gICAgaWYgKGMgPT0gMCkgZ290byBFUlJP
Ul9SRVRVUk47CisgICAgaWYgKCsrcHRyID09IHBhdHRlcm5FbmQpIGdvdG8gRVJST1JfUkVUVVJO
OworICAgIGMgPSAqcHRyOwogICAgIGlmIChjID09ICd9JykgYnJlYWs7CiAgICAgaWYgKGMgPiAx
MjcpIGdvdG8gRVJST1JfUkVUVVJOOwogICAgIG5hbWVbaV0gPSBjOwogICAgIH0KICAgaWYgKGMg
IT0nfScpICAgLyogVHJ5IHRvIGRpc3Rpbmd1aXNoIGVycm9yIGNhc2VzICovCiAgICAgewotICAg
IHdoaWxlICgqKCsrcHRyKSAhPSAwICYmICpwdHIgIT0gJ30nKTsKKyAgICB3aGlsZSAoKytwdHIg
PCBwYXR0ZXJuRW5kICYmICpwdHIgIT0gJ30nKQorICAgICAgICA7CiAgICAgaWYgKCpwdHIgPT0g
J30nKSBnb3RvIFVOS05PV05fUkVUVVJOOyBlbHNlIGdvdG8gRVJST1JfUkVUVVJOOwogICAgIH0K
ICAgbmFtZVtpXSA9IDA7CkBAIC02NzMsMjEgKzY3OCwyOCBAQCBSZXR1cm5zOiAgICBUUlVFIG9y
IEZBTFNFCiAqLwogCiBzdGF0aWMgQk9PTAotaXNfY291bnRlZF9yZXBlYXQoY29uc3QgcGNyZV91
Y2hhciAqcCkKK2lzX2NvdW50ZWRfcmVwZWF0KGNvbnN0IHBjcmVfdWNoYXIgKnAsIGNvbnN0IHBj
cmVfdWNoYXIgY29uc3QqIHBhdHRlcm5FbmQpCiB7Ci1pZiAoKERJR0lUQUIoKnApICYgY3R5cGVf
ZGlnaXQpID09IDApIHJldHVybiBGQUxTRTsKK2lmIChwID49IHBhdHRlcm5FbmQgfHwgKERJR0lU
QUIoKnApICYgY3R5cGVfZGlnaXQpID09IDApCisgICAgcmV0dXJuIEZBTFNFOwogcCsrOwotd2hp
bGUgKChESUdJVEFCKCpwKSAmIGN0eXBlX2RpZ2l0KSAhPSAwKSBwKys7Ci1pZiAoKnAgPT0gJ30n
KSByZXR1cm4gVFJVRTsKK3doaWxlIChwIDwgcGF0dGVybkVuZCAmJiAoRElHSVRBQigqcCkgJiBj
dHlwZV9kaWdpdCkgIT0gMCkKKyAgICBwKys7CitpZiAocCA8IHBhdHRlcm5FbmQgJiYgKnAgPT0g
J30nKQorICAgIHJldHVybiBUUlVFOwogCi1pZiAoKnArKyAhPSAnLCcpIHJldHVybiBGQUxTRTsK
LWlmICgqcCA9PSAnfScpIHJldHVybiBUUlVFOworaWYgKHAgPj0gcGF0dGVybkVuZCB8fCAqcCsr
ICE9ICcsJykKKyAgICByZXR1cm4gRkFMU0U7CitpZiAocCA8IHBhdHRlcm5FbmQgJiYgKnAgPT0g
J30nKQorICAgIHJldHVybiBUUlVFOwogCi1pZiAoKERJR0lUQUIoKnApICYgY3R5cGVfZGlnaXQp
ID09IDApIHJldHVybiBGQUxTRTsKK2lmIChwID49IHBhdHRlcm5FbmQgfHwgKERJR0lUQUIoKnAp
ICYgY3R5cGVfZGlnaXQpID09IDApCisgICAgcmV0dXJuIEZBTFNFOwogcCsrOwotd2hpbGUgKChE
SUdJVEFCKCpwKSAmIGN0eXBlX2RpZ2l0KSAhPSAwKSBwKys7Cit3aGlsZSAocCA8IHBhdHRlcm5F
bmQgJiYgKERJR0lUQUIoKnApICYgY3R5cGVfZGlnaXQpICE9IDApCisgICAgcCsrOwogCi1yZXR1
cm4gKCpwID09ICd9Jyk7CityZXR1cm4gKHAgPCBwYXR0ZXJuRW5kICYmICpwID09ICd9Jyk7CiB9
CiAKIApAQCAtNzExLDI1ICs3MjMsMzAgQEAgUmV0dXJuczogICAgICAgICBwb2ludGVyIHRvICd9
JyBvbiBzdWNjZQogICAgICAgICAgICAgICAgICBjdXJyZW50IHB0ciBvbiBlcnJvciwgd2l0aCBl
cnJvcmNvZGVwdHIgc2V0IG5vbi16ZXJvCiAqLwogCisvLyBGSVhNRTogSSBkb24ndCB0aGluayB0
aGlzIHJlYWxseSB3b3JrZWQgZm9yICJ7XDBudW1lcmljanVuayIJCTwtLSB0aGlzIHRhYiBpcyBh
IGNvbW1pdCBndWFyZCEKIHN0YXRpYyBjb25zdCBwY3JlX3VjaGFyICoKLXJlYWRfcmVwZWF0X2Nv
dW50cyhjb25zdCBwY3JlX3VjaGFyICpwLCBpbnQgKm1pbnAsIGludCAqbWF4cCwgaW50ICplcnJv
cmNvZGVwdHIpCityZWFkX3JlcGVhdF9jb3VudHMoY29uc3QgcGNyZV91Y2hhciAqcCwgY29uc3Qg
cGNyZV91Y2hhciBjb25zdCogcGF0dGVybkVuZCwgaW50ICptaW5wLCBpbnQgKm1heHAsIGludCAq
ZXJyb3Jjb2RlcHRyKQogewogaW50IG1pbiA9IDA7CiBpbnQgbWF4ID0gLTE7CiAKLXdoaWxlICgo
RElHSVRBQigqcCkgJiBjdHlwZV9kaWdpdCkgIT0gMCkgbWluID0gbWluICogMTAgKyAqcCsrIC0g
JzAnOword2hpbGUgKHAgPCBwYXR0ZXJuRW5kICYmIChESUdJVEFCKCpwKSAmIGN0eXBlX2RpZ2l0
KSAhPSAwKQorICAgIG1pbiA9IG1pbiAqIDEwICsgKnArKyAtICcwJzsKIGlmIChtaW4gPCAwIHx8
IG1pbiA+IDY1NTM1KQogICB7CiAgICAgKmVycm9yY29kZXB0ciA9IEVSUjU7CiAgICAgcmV0dXJu
IHA7CiAgIH0KIAotaWYgKCpwID09ICd9JykgbWF4ID0gbWluOyBlbHNlCitpZiAocCA8IHBhdHRl
cm5FbmQgJiYgKnAgPT0gJ30nKQorICAgIG1heCA9IG1pbjsKK2Vsc2UKICAgewotICBpZiAoKigr
K3ApICE9ICd9JykKKyAgaWYgKCsrcCA8IHBhdHRlcm5FbmQgJiYgKnAgIT0gJ30nKQogICAgIHsK
ICAgICBtYXggPSAwOwotICAgIHdoaWxlKChESUdJVEFCKCpwKSAmIGN0eXBlX2RpZ2l0KSAhPSAw
KSBtYXggPSBtYXggKiAxMCArICpwKysgLSAnMCc7CisgICAgd2hpbGUocCA8IHBhdHRlcm5FbmQg
JiYgKERJR0lUQUIoKnApICYgY3R5cGVfZGlnaXQpICE9IDApCisgICAgICAgIG1heCA9IG1heCAq
IDEwICsgKnArKyAtICcwJzsKICAgICBpZiAobWF4IDwgMCB8fCBtYXggPiA2NTUzNSkKICAgICB7
CiAgICAgICAgICplcnJvcmNvZGVwdHIgPSBFUlI1OwpAQCAtMTM0MywxNCArMTM2MCwxNiBAQCBB
cmd1bWVudDoKIFJldHVybnM6ICAgVFJVRSBvciBGQUxTRQogKi8KIAorLy8gRklYTUU6IEkgZG9u
J3QgdGhpbmsgdGhpcyByZWFsbHkgd29ya2VkIGZvciAiW1wwanVuayIJCTwtLSB0aGlzIHRhYiBp
cyBhIGNvbW1pdCBndWFyZCEKIHN0YXRpYyBCT09MCi1jaGVja19wb3NpeF9zeW50YXgoY29uc3Qg
cGNyZV91Y2hhciAqcHRyLCBjb25zdCBwY3JlX3VjaGFyICoqZW5kcHRyLCBjb21waWxlX2RhdGEg
KmNkKQorY2hlY2tfcG9zaXhfc3ludGF4KGNvbnN0IHBjcmVfdWNoYXIgKnB0ciwgY29uc3QgcGNy
ZV91Y2hhciBjb25zdCAqcGF0dGVybkVuZCwgY29uc3QgcGNyZV91Y2hhciAqKmVuZHB0ciwgY29t
cGlsZV9kYXRhICpjZCkKIHsKIGludCB0ZXJtaW5hdG9yOyAgICAgICAgICAvKiBEb24ndCBjb21i
aW5lIHRoZXNlIGxpbmVzOyB0aGUgU29sYXJpcyBjYyAqLwogdGVybWluYXRvciA9ICooKytwdHIp
OyAgIC8qIGNvbXBpbGVyIHdhcm5zIGFib3V0ICJub24tY29uc3RhbnQiIGluaXRpYWxpemVyLiAq
LwogaWYgKCooKytwdHIpID09ICdeJykgcHRyKys7Ci13aGlsZSAoKENUWVBFUyhjZCwgKnB0cikg
JiBjdHlwZV9sZXR0ZXIpICE9IDApIHB0cisrOwotaWYgKCpwdHIgPT0gdGVybWluYXRvciAmJiBw
dHJbMV0gPT0gJ10nKQord2hpbGUgKHB0ciA8IHBhdHRlcm5FbmQgJiYgKENUWVBFUyhjZCwgKnB0
cikgJiBjdHlwZV9sZXR0ZXIpICE9IDApCisgICAgcHRyKys7CitpZiAocHRyICsgMSA8IHBhdHRl
cm5FbmQgJiYgKnB0ciA9PSB0ZXJtaW5hdG9yICYmIHB0clsxXSA9PSAnXScpCiAgIHsKICAgKmVu
ZHB0ciA9IHB0cjsKICAgcmV0dXJuIFRSVUU7CkBAIC0xNTcwLDcgKzE1ODksNyBAQCBSZXR1cm5z
OiAgICAgICAgIFRSVUUgb24gc3VjY2VzcwogCiBzdGF0aWMgQk9PTAogY29tcGlsZV9icmFuY2go
aW50ICpvcHRpb25zcHRyLCBpbnQgKmJyYWNrZXRzLCB1c2NoYXIgKipjb2RlcHRyLAotICBjb25z
dCBwY3JlX3VjaGFyICoqcHRycHRyLCBpbnQgKmVycm9yY29kZXB0ciwgaW50ICpmaXJzdGJ5dGVw
dHIsCisgIGNvbnN0IHBjcmVfdWNoYXIgKipwdHJwdHIsIGNvbnN0IHBjcmVfdWNoYXIgY29uc3Qq
IHBhdHRlcm5FbmQsIGludCAqZXJyb3Jjb2RlcHRyLCBpbnQgKmZpcnN0Ynl0ZXB0ciwKICAgaW50
ICpyZXFieXRlcHRyLCBicmFuY2hfY2hhaW4gKmJjcHRyLCBjb21waWxlX2RhdGEgKmNkKQogewog
aW50IHJlcGVhdF90eXBlLCBvcF90eXBlOwpAQCAtMTY0NiwxMyArMTY2NSwxMyBAQCBmb3IgKDs7
IHB0cisrKQogCiAgIC8qIE5leHQgYnl0ZSBpbiB0aGUgcGF0dGVybiAqLwogCi0gIGMgPSAqcHRy
OworICBjID0gcHRyIDwgcGF0dGVybkVuZCA/ICpwdHIgOiAwOwogCiAgIC8qIElmIGluIFxRLi4u
XEUsIGNoZWNrIGZvciB0aGUgZW5kOyBpZiBub3QsIHdlIGhhdmUgYSBsaXRlcmFsICovCiAKICAg
aWYgKGluZXNjcSAmJiBjICE9IDApCiAgICAgewotICAgIGlmIChjID09ICdcXCcgJiYgcHRyWzFd
ID09ICdFJykKKyAgICBpZiAoYyA9PSAnXFwnICYmIHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIHB0
clsxXSA9PSAnRScpCiAgICAgICB7CiAgICAgICBpbmVzY3EgPSBGQUxTRTsKICAgICAgIHB0cisr
OwpAQCAtMTY3OCw3ICsxNjk3LDcgQEAgZm9yICg7OyBwdHIrKykKICAgYSBxdWFudGlmaWVyLiAq
LwogCiAgIGlzX3F1YW50aWZpZXIgPSBjID09ICcqJyB8fCBjID09ICcrJyB8fCBjID09ICc/JyB8
fAotICAgIChjID09ICd7JyAmJiBpc19jb3VudGVkX3JlcGVhdChwdHIrMSkpOworICAgIChjID09
ICd7JyAmJiBpc19jb3VudGVkX3JlcGVhdChwdHIrMSwgcGF0dGVybkVuZCkpOwogCiAgIGlmICgh
aXNfcXVhbnRpZmllciAmJiBwcmV2aW91c19jYWxsb3V0ICE9IE5VTEwgJiYKICAgICAgICBhZnRl
cl9tYW51YWxfY2FsbG91dC0tIDw9IDApCkBAIC0xNjk2LDggKzE3MTUsMTAgQEAgZm9yICg7OyBw
dHIrKykKICAgICAgIHsKICAgICAgIC8qIFRoZSBzcGFjZSBiZWZvcmUgdGhlIDsgaXMgdG8gYXZv
aWQgYSB3YXJuaW5nIG9uIGEgc2lsbHkgY29tcGlsZXIKICAgICAgIG9uIHRoZSBNYWNpbnRvc2gu
ICovCi0gICAgICB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCAmJiBjICE9IE5FV0xJTkUpIDsK
LSAgICAgIGlmIChjICE9IDApIGNvbnRpbnVlOyAgIC8qIEVsc2UgZmFsbCB0aHJvdWdoIHRvIGhh
bmRsZSBlbmQgb2Ygc3RyaW5nICovCisgICAgICB3aGlsZSAoKytwdHIgPCBwYXR0ZXJuRW5kICYm
IChjID0gKnB0cikgIT0gTkVXTElORSkKKyAgICAgICAgICA7CisgICAgICBpZiAocHRyIDwgcGF0
dGVybkVuZCkKKyAgICAgICAgICBjb250aW51ZTsgICAvKiBFbHNlIGZhbGwgdGhyb3VnaCB0byBo
YW5kbGUgZW5kIG9mIHN0cmluZyAqLwogICAgICAgfQogICAgIH0KIApAQCAtMTcxNCw2ICsxNzM1
LDkgQEAgZm9yICg7OyBwdHIrKykKICAgICAvKiBUaGUgYnJhbmNoIHRlcm1pbmF0ZXMgYXQgZW5k
IG9mIHN0cmluZywgfCwgb3IgKS4gKi8KIAogICAgIGNhc2UgMDoKKyAgICAgICAgaWYgKHB0ciA8
IHBhdHRlcm5FbmQpCisgICAgICAgICAgICBnb3RvIE5PUk1BTF9DSEFSOworICAgICAgICAvLyBF
bmQgb2Ygc3RyaW5nOyBmYWxsIHRocm91Z2gKICAgICBjYXNlICd8JzoKICAgICBjYXNlICcpJzoK
ICAgICAqZmlyc3RieXRlcHRyID0gZmlyc3RieXRlOwpAQCAtMTc2OCw4ICsxNzkyLDggQEAgZm9y
ICg7OyBwdHIrKykKICAgICAvKiBQQ1JFIHN1cHBvcnRzIFBPU0lYIGNsYXNzIHN0dWZmIGluc2lk
ZSBhIGNsYXNzLiBQZXJsIGdpdmVzIGFuIGVycm9yIGlmCiAgICAgdGhleSBhcmUgZW5jb3VudGVy
ZWQgYXQgdGhlIHRvcCBsZXZlbCwgc28gd2UnbGwgZG8gdGhhdCB0b28uICovCiAKLSAgICBpZiAo
KHB0clsxXSA9PSAnOicgfHwgcHRyWzFdID09ICcuJyB8fCBwdHJbMV0gPT0gJz0nKSAmJgotICAg
ICAgICBjaGVja19wb3NpeF9zeW50YXgocHRyLCAmdGVtcHB0ciwgY2QpKQorICAgIGlmIChwdHIg
KyAxIDwgcGF0dGVybkVuZCAmJiAocHRyWzFdID09ICc6JyB8fCBwdHJbMV0gPT0gJy4nIHx8IHB0
clsxXSA9PSAnPScpICYmCisgICAgICAgIGNoZWNrX3Bvc2l4X3N5bnRheChwdHIsIHBhdHRlcm5F
bmQsICZ0ZW1wcHRyLCBjZCkpCiAgICAgICB7CiAgICAgICAqZXJyb3Jjb2RlcHRyID0gKHB0clsx
XSA9PSAnOicpPyBFUlIxMyA6IEVSUjMxOwogICAgICAgZ290byBGQUlMRUQ7CkBAIC0xNzc3LDEw
ICsxODAxLDEwIEBAIGZvciAoOzsgcHRyKyspCiAKICAgICAvKiBJZiB0aGUgZmlyc3QgY2hhcmFj
dGVyIGlzICdeJywgc2V0IHRoZSBuZWdhdGlvbiBmbGFnIGFuZCBza2lwIGl0LiAqLwogCi0gICAg
aWYgKChjID0gKigrK3B0cikpID09ICdeJykKKyAgICBpZiAoKytwdHIgPCBwYXR0ZXJuRW5kICYm
IChjID0gKnB0cikgPT0gJ14nKQogICAgICAgewogICAgICAgbmVnYXRlX2NsYXNzID0gVFJVRTsK
LSAgICAgIGMgPSAqKCsrcHRyKTsKKyAgICAgIGMgPSArK3B0ciA8IHBhdHRlcm5FbmQgPyAqcHRy
IDogMDsKICAgICAgIH0KICAgICBlbHNlCiAgICAgICB7CkBAIC0xODE2LDcgKzE4NDAsNyBAQCBm
b3IgKDs7IHB0cisrKQogICAgICAgewogI2lmZGVmIFNVUFBPUlRfVVRGOAogICAgICAgaWYgKHV0
ZjggJiYgYyA+IDEyNykKLSAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIEJy
YWNlcyBhcmUgcmVxdWlyZWQgYmVjYXVzZSB0aGUgKi8KKyAgICAgICAgey8vIEZJWE1FOiBIYWxm
IGEgc3Vycm9nYXRlIHBhaXIgZm9sbG93ZWQgYnkgZW5kIG9mIHN0cmluZwk8LS0gZ3VhcmQgLyog
QnJhY2VzIGFyZSByZXF1aXJlZCBiZWNhdXNlIHRoZSAqLwogICAgICAgICBHRVRDSEFSTEVOKGMs
IHB0ciwgcHRyKTsgICAgLyogbWFjcm8gZ2VuZXJhdGVzIG11bHRpcGxlIHN0YXRlbWVudHMgKi8K
ICAgICAgICAgfQogI2VuZGlmCkBAIC0xODI1LDcgKzE4NDksNyBAQCBmb3IgKDs7IHB0cisrKQog
CiAgICAgICBpZiAoaW5lc2NxKQogICAgICAgICB7Ci0gICAgICAgIGlmIChjID09ICdcXCcgJiYg
cHRyWzFdID09ICdFJykKKyAgICAgICAgaWYgKGMgPT0gJ1xcJyAmJiBwdHIgKzEgPCBwYXR0ZXJu
RW5kICYmIHB0clsxXSA9PSAnRScpCiAgICAgICAgICAgewogICAgICAgICAgIGluZXNjcSA9IEZB
TFNFOwogICAgICAgICAgIHB0cisrOwpAQCAtMTg0MCw5ICsxODY0LDkgQEAgZm9yICg7OyBwdHIr
KykKICAgICAgIFsuY2guXSBhbmQgWz1jaD1dICgiY29sbGF0aW5nIGVsZW1lbnRzIikgYW5kIGZh
dWx0IHRoZW0sIGFzIFBlcmwKICAgICAgIDUuNiBhbmQgNS44IGRvLiAqLwogCi0gICAgICBpZiAo
YyA9PSAnWycgJiYKKyAgICAgIGlmIChjID09ICdbJyAmJiBwdHIgKyAxIDwgcGF0dGVybkVuZCAm
JgogICAgICAgICAgIChwdHJbMV0gPT0gJzonIHx8IHB0clsxXSA9PSAnLicgfHwgcHRyWzFdID09
ICc9JykgJiYKLSAgICAgICAgICBjaGVja19wb3NpeF9zeW50YXgocHRyLCAmdGVtcHB0ciwgY2Qp
KQorICAgICAgICAgIGNoZWNrX3Bvc2l4X3N5bnRheChwdHIsIHBhdHRlcm5FbmQsICZ0ZW1wcHRy
LCBjZCkpCiAgICAgICAgIHsKICAgICAgICAgQk9PTCBsb2NhbF9uZWdhdGUgPSBGQUxTRTsKICAg
ICAgICAgaW50IHBvc2l4X2NsYXNzLCBpLCBuYW1lbGVuOwpAQCAtMTg1NSw3ICsxODc5LDcgQEAg
Zm9yICg7OyBwdHIrKykKICAgICAgICAgICB9CiAKICAgICAgICAgcHRyICs9IDI7Ci0gICAgICAg
IGlmICgqcHRyID09ICdeJykKKyAgICAgICAgaWYgKHB0ciA8IHBhdHRlcm5FbmQgJiYgKnB0ciA9
PSAnXicpCiAgICAgICAgICAgewogICAgICAgICAgIGxvY2FsX25lZ2F0ZSA9IFRSVUU7CiAgICAg
ICAgICAgcHRyKys7CkBAIC0xODg0LDcgKzE5MDgsNyBAQCBmb3IgKDs7IHB0cisrKQogICAgICAg
ICBwb3NpeF9jbGFzcyAqPSAzOwogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKQogICAg
ICAgICAgIHsKLSAgICAgICAgICBCT09MIGJsYW5rY2xhc3MgPSBTVFJFUVVBTChwdHIsIDUsICJi
bGFuayIpOworICAgICAgICAgIEJPT0wgYmxhbmtjbGFzcyA9IHB0ciArIDUgPD0gcGF0dGVybkVu
ZCAmJiBTVFJFUVVBTChwdHIsIDUsICJibGFuayIpOwogICAgICAgICAgIGludCB0YWJvZmZzZXQg
PSBwb3NpeF9jbGFzc19tYXBzW3Bvc2l4X2NsYXNzICsgaV07CiAgICAgICAgICAgaWYgKHRhYm9m
ZnNldCA8IDApIGJyZWFrOwogICAgICAgICAgIGlmIChsb2NhbF9uZWdhdGUpCkBAIC0xOTE3LDEz
ICsxOTQxLDEzIEBAIGZvciAoOzsgcHRyKyspCiAKICAgICAgIGlmIChjID09ICdcXCcpCiAgICAg
ICAgIHsKLSAgICAgICAgYyA9IGNoZWNrX2VzY2FwZSgmcHRyLCBlcnJvcmNvZGVwdHIsICpicmFj
a2V0cywgb3B0aW9ucywgVFJVRSk7CisgICAgICAgIGMgPSBjaGVja19lc2NhcGUoJnB0ciwgcGF0
dGVybkVuZCwgZXJyb3Jjb2RlcHRyLCAqYnJhY2tldHMsIG9wdGlvbnMsIFRSVUUpOwogCiAgICAg
ICAgIGlmICgtYyA9PSBFU0NfYikgYyA9ICdcYic7ICAgICAgIC8qIFxiIGlzIGJhY2tzbGFzaCBp
biBhIGNsYXNzICovCiAgICAgICAgIGVsc2UgaWYgKC1jID09IEVTQ19YKSBjID0gJ1gnOyAgIC8q
IFxYIGlzIGxpdGVyYWwgWCBpbiBhIGNsYXNzICovCiAgICAgICAgIGVsc2UgaWYgKC1jID09IEVT
Q19RKSAgICAgICAgICAgIC8qIEhhbmRsZSBzdGFydCBvZiBxdW90ZWQgc3RyaW5nICovCiAgICAg
ICAgICAgewotICAgICAgICAgIGlmIChwdHJbMV0gPT0gJ1xcJyAmJiBwdHJbMl0gPT0gJ0UnKQor
ICAgICAgICAgIGlmIChwdHIgKyAyIDwgcGF0dGVybkVuZCAmJiBwdHJbMV0gPT0gJ1xcJyAmJiBw
dHJbMl0gPT0gJ0UnKQogICAgICAgICAgICAgewogICAgICAgICAgICAgcHRyICs9IDI7IC8qIGF2
b2lkIGVtcHR5IHN0cmluZyAqLwogICAgICAgICAgICAgfQpAQCAtMTk3MCw3ICsxOTk0LDcgQEAg
Zm9yICg7OyBwdHIrKykKICAgICAgICAgICAgIGNhc2UgRVNDX1A6CiAgICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgQk9PTCBuZWdhdGVkOwotICAgICAgICAgICAgICBpbnQgcHJvcGVydHkg
PSBnZXRfdWNwKCZwdHIsICZuZWdhdGVkLCBlcnJvcmNvZGVwdHIpOworICAgICAgICAgICAgICBp
bnQgcHJvcGVydHkgPSBnZXRfdWNwKCZwdHIsIHBhdHRlcm5FbmQsICZuZWdhdGVkLCBlcnJvcmNv
ZGVwdHIpOwogICAgICAgICAgICAgICBpZiAocHJvcGVydHkgPCAwKSBnb3RvIEZBSUxFRDsKICAg
ICAgICAgICAgICAgY2xhc3NfdXRmOCA9IFRSVUU7CiAgICAgICAgICAgICAgICpjbGFzc191dGY4
ZGF0YSsrID0gKCgtYyA9PSBFU0NfcCkgIT0gbmVnYXRlZCk/CkBAIC0xOTkxLDcgKzIwMTUsNyBA
QCBmb3IgKDs7IHB0cisrKQogICAgICAgICAgICAgICAqZXJyb3Jjb2RlcHRyID0gRVJSNzsKICAg
ICAgICAgICAgICAgZ290byBGQUlMRUQ7CiAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGMg
PSAqcHRyOyAgICAgICAgICAgICAgLyogVGhlIGZpbmFsIGNoYXJhY3RlciAqLworICAgICAgICAg
ICAgYyA9IHB0ciA8IHBhdHRlcm5FbmQgPyAqcHRyIDogMDsgICAgICAgICAgICAgIC8qIFRoZSBm
aW5hbCBjaGFyYWN0ZXIgKi8KICAgICAgICAgICAgIGNsYXNzX2NoYXJjb3VudCAtPSAyOyAgLyog
VW5kbyB0aGUgZGVmYXVsdCBjb3VudCBmcm9tIGFib3ZlICovCiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgfQpAQCAtMjAwNSwxOSArMjAyOSwxOSBAQCBmb3IgKDs7IHB0cisrKQogICAgICAgUGVy
bCBkb2VzIG5vdCBwZXJtaXQgJ10nIHRvIGJlIHRoZSBlbmQgb2YgdGhlIHJhbmdlLiBBICctJyBj
aGFyYWN0ZXIKICAgICAgIGhlcmUgaXMgdHJlYXRlZCBhcyBhIGxpdGVyYWwuICovCiAKLSAgICAg
IGlmIChwdHJbMV0gPT0gJy0nICYmIHB0clsyXSAhPSAnXScpCisgICAgICBpZiAocHRyICsgMSA8
IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICctJyAmJiAocHRyICsgMiA+PSBwYXR0ZXJuRW5kIHx8
IHB0clsyXSAhPSAnXScpKQogICAgICAgICB7CiAgICAgICAgIGludCBkOwogICAgICAgICBwdHIg
Kz0gMjsKIAogI2lmZGVmIFNVUFBPUlRfVVRGOAogICAgICAgICBpZiAodXRmOCkKLSAgICAgICAg
ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQnJhY2VzIGFyZSByZXF1aXJlZCBiZWNh
dXNlIHRoZSAqLworICAgICAgICAgIHsvLyBGSVhNRTogSGFsZiBhIHN1cnJvZ2F0ZSBwYWlyIGZv
bGxvd2VkIGJ5IGVuZCBvZiBzdHJpbmc/CTwtLSBndWFyZCB0YWIgICAgIC8qIEJyYWNlcyBhcmUg
cmVxdWlyZWQgYmVjYXVzZSB0aGUgKi8KICAgICAgICAgICBHRVRDSEFSTEVOKGQsIHB0ciwgcHRy
KTsgICAgLyogbWFjcm8gZ2VuZXJhdGVzIG11bHRpcGxlIHN0YXRlbWVudHMgKi8KICAgICAgICAg
ICB9CiAgICAgICAgIGVsc2UKICNlbmRpZgotICAgICAgICBkID0gKnB0cjsgIC8qIE5vdCBVVEYt
OCBtb2RlICovCisgICAgICAgIGQgPSBwdHIgPCBwYXR0ZXJuRW5kID8gKnB0ciA6IDA7ICAvKiBO
b3QgVVRGLTggbW9kZSAqLwogCiAgICAgICAgIC8qIFRoZSBzZWNvbmQgcGFydCBvZiBhIHJhbmdl
IGNhbiBiZSBhIHNpbmdsZS1jaGFyYWN0ZXIgZXNjYXBlLCBidXQKICAgICAgICAgbm90IGFueSBv
ZiB0aGUgb3RoZXIgZXNjYXBlcy4gUGVybCA1LjYgdHJlYXRzIGEgaHlwaGVuIGFzIGEgbGl0ZXJh
bApAQCAtMjAyNiw3ICsyMDUwLDcgQEAgZm9yICg7OyBwdHIrKykKICAgICAgICAgaWYgKGQgPT0g
J1xcJykKICAgICAgICAgICB7CiAgICAgICAgICAgY29uc3QgcGNyZV91Y2hhciAqb2xkcHRyID0g
cHRyOwotICAgICAgICAgIGQgPSBjaGVja19lc2NhcGUoJnB0ciwgZXJyb3Jjb2RlcHRyLCAqYnJh
Y2tldHMsIG9wdGlvbnMsIFRSVUUpOworICAgICAgICAgIGQgPSBjaGVja19lc2NhcGUoJnB0ciwg
cGF0dGVybkVuZCwgZXJyb3Jjb2RlcHRyLCAqYnJhY2tldHMsIG9wdGlvbnMsIFRSVUUpOwogCiAg
ICAgICAgICAgLyogXGIgaXMgYmFja3NsYXNoOyBcWCBpcyBsaXRlcmFsIFg7IGFueSBvdGhlciBz
cGVjaWFsIG1lYW5zIHRoZSAnLScKICAgICAgICAgICB3YXMgbGl0ZXJhbCAqLwpAQCAtMjE4OCw3
ICsyMjEyLDcgQEAgZm9yICg7OyBwdHIrKykKICAgICAvKiBMb29wIHVudGlsICddJyByZWFjaGVk
OyB0aGUgY2hlY2sgZm9yIGVuZCBvZiBzdHJpbmcgaGFwcGVucyBpbnNpZGUgdGhlCiAgICAgbG9v
cC4gVGhpcyAid2hpbGUiIGlzIHRoZSBlbmQgb2YgdGhlICJkbyIgYWJvdmUuICovCiAKLSAgICB3
aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gJ10nIHx8IGluZXNjcSk7CisgICAgd2hpbGUgKChjID0g
KCsrcHRyIDwgcGF0dGVybkVuZCA/ICpwdHIgOiAwKSkgIT0gJ10nIHx8IGluZXNjcSk7CiAKICAg
ICAvKiBJZiBjbGFzc19jaGFyY291bnQgaXMgMSwgd2Ugc2F3IHByZWNpc2VseSBvbmUgY2hhcmFj
dGVyIHdob3NlIHZhbHVlIGlzCiAgICAgbGVzcyB0aGFuIDI1Ni4gSW4gbm9uLVVURi04IG1vZGUg
d2UgY2FuIGFsd2F5cyBvcHRpbWl6ZS4gSW4gVVRGLTggbW9kZSwgd2UKQEAgLTIzMTEsNyArMjMz
NSw3IEBAIGZvciAoOzsgcHRyKyspCiAKICAgICBjYXNlICd7JzoKICAgICBpZiAoIWlzX3F1YW50
aWZpZXIpIGdvdG8gTk9STUFMX0NIQVI7Ci0gICAgcHRyID0gcmVhZF9yZXBlYXRfY291bnRzKHB0
cisxLCAmcmVwZWF0X21pbiwgJnJlcGVhdF9tYXgsIGVycm9yY29kZXB0cik7CisgICAgcHRyID0g
cmVhZF9yZXBlYXRfY291bnRzKHB0cisxLCBwYXR0ZXJuRW5kLCAmcmVwZWF0X21pbiwgJnJlcGVh
dF9tYXgsIGVycm9yY29kZXB0cik7CiAgICAgaWYgKCplcnJvcmNvZGVwdHIgIT0gMCkgZ290byBG
QUlMRUQ7CiAgICAgZ290byBSRVBFQVQ7CiAKQEAgLTIzNjAsMTMgKzIzODQsMTMgQEAgZm9yICg7
OyBwdHIrKykKICAgICBidXQgaWYgUENSRV9VTkdSRUVEWSBpcyBzZXQsIGl0IHdvcmtzIHRoZSBv
dGhlciB3YXkgcm91bmQuIFdlIGNoYW5nZSB0aGUKICAgICByZXBlYXQgdHlwZSB0byB0aGUgbm9u
LWRlZmF1bHQuICovCiAKLSAgICBpZiAocHRyWzFdID09ICcrJykKKyAgICBpZiAocHRyICsgMSA8
IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICcrJykKICAgICAgIHsKICAgICAgIHJlcGVhdF90eXBl
ID0gMDsgICAgICAgICAgICAgICAgICAvKiBGb3JjZSBncmVlZHkgKi8KICAgICAgIHBvc3Nlc3Np
dmVfcXVhbnRpZmllciA9IFRSVUU7CiAgICAgICBwdHIrKzsKICAgICAgIH0KLSAgICBlbHNlIGlm
IChwdHJbMV0gPT0gJz8nKQorICAgIGVsc2UgaWYgKHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIHB0
clsxXSA9PSAnPycpCiAgICAgICB7CiAgICAgICByZXBlYXRfdHlwZSA9IGdyZWVkeV9ub25fZGVm
YXVsdDsKICAgICAgIHB0cisrOwpAQCAtMjgxNiwxMiArMjg0MCwxMiBAQCBmb3IgKDs7IHB0cisr
KQogICAgIG5ld29wdGlvbnMgPSBvcHRpb25zOwogICAgIHNraXBieXRlcyA9IDA7CiAKLSAgICBp
ZiAoKigrK3B0cikgPT0gJz8nKQorICAgIGlmICgrK3B0ciA8IHBhdHRlcm5FbmQgJiYgKnB0ciA9
PSAnPycpCiAgICAgICB7CiAgICAgICBpbnQgc2V0LCB1bnNldDsKICAgICAgIGludCAqb3B0c2V0
OwogCi0gICAgICBzd2l0Y2ggKCooKytwdHIpKQorICAgICAgc3dpdGNoICgrK3B0ciA8IHBhdHRl
cm5FbmQgPyAqcHRyIDogMCkKICAgICAgICAgewogICAgICAgICBjYXNlICcjJzogICAgICAgICAg
ICAgICAgIC8qIENvbW1lbnQ7IHNraXAgdG8ga2V0ICovCiAgICAgICAgIHB0cisrOwpAQCAtMjgz
OCw3ICsyODYyLDcgQEAgZm9yICg7OyBwdHIrKykKIAogICAgICAgICAvKiBDb25kaXRpb24gdG8g
dGVzdCBmb3IgcmVjdXJzaW9uICovCiAKLSAgICAgICAgaWYgKHB0clsxXSA9PSAnUicpCisgICAg
ICAgIGlmIChwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiBwdHJbMV0gPT0gJ1InKQogICAgICAgICAg
IHsKICAgICAgICAgICBjb2RlWzErTElOS19TSVpFXSA9IE9QX0NSRUY7CiAgICAgICAgICAgUFVU
Mihjb2RlLCAyK0xJTktfU0laRSwgQ1JFRl9SRUNVUlNFKTsKQEAgLTI4NTAsNyArMjg3NCw3IEBA
IGZvciAoOzsgcHRyKyspCiAgICAgICAgIGlmIGEgZGlnaXQgZm9sbG93cyAoIHRoZW4gdGhlcmUg
d2lsbCBqdXN0IGJlIGRpZ2l0cyB1bnRpbCApIGJlY2F1c2UKICAgICAgICAgdGhlIHN5bnRheCB3
YXMgY2hlY2tlZCBpbiB0aGUgZmlyc3QgcGFzcy4gKi8KIAotICAgICAgICBlbHNlIGlmICgoRElH
SVRBQihwdHJbMV0pICYmIGN0eXBlX2RpZ2l0KSAhPSAwKQorICAgICAgICBlbHNlIGlmIChwdHIg
KyAxIDwgcGF0dGVybkVuZCAmJiAoRElHSVRBQihwdHJbMV0pICYmIGN0eXBlX2RpZ2l0KSAhPSAw
KQogICAgICAgICAgIHsKICAgICAgICAgICBpbnQgY29uZHJlZjsgICAgICAgICAgICAgICAgIC8q
IERvbid0IGFtYWxnYW1hdGU7IHNvbWUgY29tcGlsZXJzICovCiAgICAgICAgICAgY29uZHJlZiA9
ICooKytwdHIpIC0gJzAnOyAgICAvKiBncnVtYmxlIGF0IGF1dG9pbmNyZW1lbnQgaW4gZGVjbGFy
YXRpb24gKi8KQEAgLTI4ODAsNyArMjkwNCw3IEBAIGZvciAoOzsgcHRyKyspCiAgICAgICAgIGJy
ZWFrOwogCiAgICAgICAgIGNhc2UgJzwnOiAgICAgICAgICAgICAgICAgLyogTG9va2JlaGluZHMg
Ki8KLSAgICAgICAgc3dpdGNoICgqKCsrcHRyKSkKKyAgICAgICAgc3dpdGNoICgrK3B0ciA8IHBh
dHRlcm5FbmQgPyAqcHRyIDogMCkKICAgICAgICAgICB7CiAgICAgICAgICAgY2FzZSAnPSc6ICAg
ICAgICAgICAgICAgLyogUG9zaXRpdmUgbG9va2JlaGluZCAqLwogICAgICAgICAgIGJyYXZhbHVl
ID0gT1BfQVNTRVJUQkFDSzsKQEAgLTI5MDYsNyArMjkzMCw3IEBAIGZvciAoOzsgcHRyKyspCiAg
ICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgLyogY2xvc2luZyBwYXJlbnRoZXNpcyBp
cyBwcmVzZW50LiAqLwogICAgICAgICAgIGludCBuID0gMDsKICAgICAgICAgICArK3B0cjsKLSAg
ICAgICAgICB3aGlsZSAoKERJR0lUQUIoKnB0cikgJiBjdHlwZV9kaWdpdCkgIT0gMCkKKyAgICAg
ICAgICB3aGlsZSAocHRyIDwgcGF0dGVybkVuZCAmJiAoRElHSVRBQigqcHRyKSAmIGN0eXBlX2Rp
Z2l0KSAhPSAwKQogICAgICAgICAgICAgewogICAgICAgICAgICAgbiA9IG4gKiAxMCArICpwdHIg
LSAnMCc7CiAgICAgICAgICAgICArK3B0cjsKQEAgLTI5MjUsNyArMjk0OSw3IEBAIGZvciAoOzsg
cHRyKyspCiAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGNhc2UgJ1AnOiAgICAgICAgICAg
ICAgICAgLyogTmFtZWQgc3VicGF0dGVybiBoYW5kbGluZyAqLwotICAgICAgICBpZiAoKigrK3B0
cikgPT0gJzwnKSAgICAgIC8qIERlZmluaXRpb24gKi8KKyAgICAgICAgaWYgKCsrcHRyIDwgcGF0
dGVybkVuZCAmJiAqcHRyID09ICc8JykgICAgICAvKiBEZWZpbml0aW9uICovCiAgICAgICAgICAg
ewogICAgICAgICAgIGludCBpLCBuYW1lbGVuOwogICAgICAgICAgIHVzY2hhciAqc2xvdCA9IGNk
LT5uYW1lX3RhYmxlOwpAQCAtMjk2NCw3ICsyOTg4LDcgQEAgZm9yICg7OyBwdHIrKykKICAgICAg
ICAgICBnb3RvIE5VTUJFUkVEX0dST1VQOwogICAgICAgICAgIH0KIAotICAgICAgICBpZiAoKnB0
ciA9PSAnPScgfHwgKnB0ciA9PSAnPicpICAvKiBSZWZlcmVuY2Ugb3IgcmVjdXJzaW9uICovCisg
ICAgICAgIGlmIChwdHIgPCBwYXR0ZXJuRW5kICYmICgqcHRyID09ICc9JyB8fCAqcHRyID09ICc+
JykpICAvKiBSZWZlcmVuY2Ugb3IgcmVjdXJzaW9uICovCiAgICAgICAgICAgewogICAgICAgICAg
IGludCBpLCBuYW1lbGVuOwogICAgICAgICAgIGludCB0eXBlID0gKnB0cisrOwpAQCAtMzAxMyw3
ICszMDM3LDcgQEAgZm9yICg7OyBwdHIrKykKICAgICAgICAgICB7CiAgICAgICAgICAgY29uc3Qg
dXNjaGFyICpjYWxsZWQ7CiAgICAgICAgICAgcmVjbm8gPSAwOwotICAgICAgICAgIHdoaWxlKChE
SUdJVEFCKCpwdHIpICYgY3R5cGVfZGlnaXQpICE9IDApCisgICAgICAgICAgd2hpbGUgKHB0ciA8
IHBhdHRlcm5FbmQgJiYgKERJR0lUQUIoKnB0cikgJiBjdHlwZV9kaWdpdCkgIT0gMCkKICAgICAg
ICAgICAgIHJlY25vID0gcmVjbm8gKiAxMCArICpwdHIrKyAtICcwJzsKIAogICAgICAgICAgIC8q
IENvbWUgaGVyZSBmcm9tIGNvZGUgYWJvdmUgdGhhdCBoYW5kbGVzIGEgbmFtZWQgcmVjdXJzaW9u
ICovCkBAIC0zMDg5LDcgKzMxMTMsNyBAQCBmb3IgKDs7IHB0cisrKQogICAgICAgICBvcHRpb25z
IHdpbGwgaGF2ZSBiZWVuIGFic3RyYWN0ZWQgYW5kIG1hZGUgZ2xvYmFsLCBzbyB0aGVyZSB3aWxs
IGJlIG5vCiAgICAgICAgIGNoYW5nZSB0byBjb21waWxlLiAqLwogCi0gICAgICAgIGlmICgqcHRy
ID09ICcpJykKKyAgICAgICAgaWYgKHB0ciA8IHBhdHRlcm5FbmQgJiYgKnB0ciA9PSAnKScpCiAg
ICAgICAgICAgewogICAgICAgICAgIGlmICgob3B0aW9ucyAmIFBDUkVfSU1TKSAhPSAobmV3b3B0
aW9ucyAmIFBDUkVfSU1TKSkKICAgICAgICAgICAgIHsKQEAgLTMxNjEsNiArMzE4NSw3IEBAIGZv
ciAoOzsgcHRyKyspCiAgICAgICAgICBicmFja2V0cywgICAgICAgICAgICAgICAgICAgICAvKiBF
eHRyYWN0aW5nIGJyYWNrZXQgY291bnQgKi8KICAgICAgICAgICZ0ZW1wY29kZSwgICAgICAgICAg
ICAgICAgICAgIC8qIFdoZXJlIHRvIHB1dCBjb2RlICh1cGRhdGVkKSAqLwogICAgICAgICAgJnB0
ciwgICAgICAgICAgICAgICAgICAgICAgICAgLyogSW5wdXQgcG9pbnRlciAodXBkYXRlZCkgKi8K
KyAgICAgICAgIHBhdHRlcm5FbmQsCiAgICAgICAgICBlcnJvcmNvZGVwdHIsICAgICAgICAgICAg
ICAgICAvKiBXaGVyZSB0byBwdXQgYW4gZXJyb3IgbWVzc2FnZSAqLwogICAgICAgICAgKGJyYXZh
bHVlID09IE9QX0FTU0VSVEJBQ0sgfHwKICAgICAgICAgICBicmF2YWx1ZSA9PSBPUF9BU1NFUlRC
QUNLX05PVCksIC8qIFRSVUUgaWYgYmFjayBhc3NlcnQgKi8KQEAgLTMyNjAsNyArMzI4NSw3IEBA
IGZvciAoOzsgcHRyKyspCiAKICAgICAvKiBFcnJvciBpZiBoaXQgZW5kIG9mIHBhdHRlcm4gKi8K
IAotICAgIGlmICgqcHRyICE9ICcpJykKKyAgICBpZiAocHRyID4gcGF0dGVybkVuZCB8fCAqcHRy
ICE9ICcpJykKICAgICAgIHsKICAgICAgICplcnJvcmNvZGVwdHIgPSBFUlIxNDsKICAgICAgIGdv
dG8gRkFJTEVEOwpAQCAtMzI3Myw3ICszMjk4LDcgQEAgZm9yICg7OyBwdHIrKykKIAogICAgIGNh
c2UgJ1xcJzoKICAgICB0ZW1wcHRyID0gcHRyOwotICAgIGMgPSBjaGVja19lc2NhcGUoJnB0ciwg
ZXJyb3Jjb2RlcHRyLCAqYnJhY2tldHMsIG9wdGlvbnMsIEZBTFNFKTsKKyAgICBjID0gY2hlY2tf
ZXNjYXBlKCZwdHIsIHBhdHRlcm5FbmQsIGVycm9yY29kZXB0ciwgKmJyYWNrZXRzLCBvcHRpb25z
LCBGQUxTRSk7CiAKICAgICAvKiBIYW5kbGUgbWV0YWNoYXJhY3RlcnMgaW50cm9kdWNlZCBieSBc
LiBGb3Igb25lcyBsaWtlIFxkLCB0aGUgRVNDXyB2YWx1ZXMKICAgICBhcmUgYXJyYW5nZWQgdG8g
YmUgdGhlIG5lZ2F0aW9uIG9mIHRoZSBjb3JyZXNwb25kaW5nIE9QX3ZhbHVlcy4gRm9yIHRoZQpA
QCAtMzI4Niw3ICszMzExLDcgQEAgZm9yICg7OyBwdHIrKykKICAgICAgIHsKICAgICAgIGlmICgt
YyA9PSBFU0NfUSkgICAgICAgICAgICAvKiBIYW5kbGUgc3RhcnQgb2YgcXVvdGVkIHN0cmluZyAq
LwogICAgICAgICB7Ci0gICAgICAgIGlmIChwdHJbMV0gPT0gJ1xcJyAmJiBwdHJbMl0gPT0gJ0Un
KSBwdHIgKz0gMjsgLyogYXZvaWQgZW1wdHkgc3RyaW5nICovCisgICAgICAgIGlmIChwdHIgKyAy
ID4gcGF0dGVybkVuZCAmJiBwdHJbMV0gPT0gJ1xcJyAmJiBwdHJbMl0gPT0gJ0UnKSBwdHIgKz0g
MjsgLyogYXZvaWQgZW1wdHkgc3RyaW5nICovCiAgICAgICAgICAgZWxzZSBpbmVzY3EgPSBUUlVF
OwogICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQpAQCAtMzMxOSw3ICszMzQ0LDcgQEAgZm9y
ICg7OyBwdHIrKykKICAgICAgIGVsc2UgaWYgKC1jID09IEVTQ19QIHx8IC1jID09IEVTQ19wKQog
ICAgICAgICB7CiAgICAgICAgIEJPT0wgbmVnYXRlZDsKLSAgICAgICAgaW50IHZhbHVlID0gZ2V0
X3VjcCgmcHRyLCAmbmVnYXRlZCwgZXJyb3Jjb2RlcHRyKTsKKyAgICAgICAgaW50IHZhbHVlID0g
Z2V0X3VjcCgmcHRyLCBwYXR0ZXJuRW5kLCAmbmVnYXRlZCwgZXJyb3Jjb2RlcHRyKTsKICAgICAg
ICAgcHJldmlvdXMgPSBjb2RlOwogICAgICAgICAqY29kZSsrID0gKCgtYyA9PSBFU0NfcCkgIT0g
bmVnYXRlZCk/IE9QX1BST1AgOiBPUF9OT1RQUk9QOwogICAgICAgICAqY29kZSsrID0gdmFsdWU7
CkBAIC0zMzc1LDcgKzM0MDAsNyBAQCBmb3IgKDs7IHB0cisrKQogI2lmZGVmIFNVUFBPUlRfVVRG
OAogICAgIGlmICh1dGY4ICYmIChjICYgMHhjMCkgPT0gMHhjMCkKICAgICAgIHsKLSAgICAgIHdo
aWxlICgocHRyWzFdICYgMHhjMCkgPT0gMHg4MCkKKyAgICAgIHdoaWxlIChwdHIgKyAxID4gcGF0
dGVybkVuZCAmJiAocHRyWzFdICYgMHhjMCkgPT0gMHg4MCkKICAgICAgICAgbWNidWZmZXJbbWNs
ZW5ndGgrK10gPSAqKCsrcHRyKTsKICAgICAgIH0KICNlbmRpZgpAQCAtMzQ2OCw3ICszNDkzLDcg
QEAgUmV0dXJuczogICAgICBUUlVFIG9uIHN1Y2Nlc3MKIAogc3RhdGljIEJPT0wKIGNvbXBpbGVf
cmVnZXgoaW50IG9wdGlvbnMsIGludCBvbGRpbXMsIGludCAqYnJhY2tldHMsIHVzY2hhciAqKmNv
ZGVwdHIsCi0gIGNvbnN0IHBjcmVfdWNoYXIgKipwdHJwdHIsIGludCAqZXJyb3Jjb2RlcHRyLCBC
T09MIGxvb2tiZWhpbmQsIGludCBza2lwYnl0ZXMsCisgIGNvbnN0IHBjcmVfdWNoYXIgKipwdHJw
dHIsIGNvbnN0IHBjcmVfdWNoYXIgY29uc3QqIHBhdHRlcm5FbmQsIGludCAqZXJyb3Jjb2RlcHRy
LCBCT09MIGxvb2tiZWhpbmQsIGludCBza2lwYnl0ZXMsCiAgIGludCAqZmlyc3RieXRlcHRyLCBp
bnQgKnJlcWJ5dGVwdHIsIGJyYW5jaF9jaGFpbiAqYmNwdHIsIGNvbXBpbGVfZGF0YSAqY2QpCiB7
CiBjb25zdCBwY3JlX3VjaGFyICpwdHIgPSAqcHRycHRyOwpAQCAtMzUxMyw3ICszNTM4LDcgQEAg
Zm9yICg7OykKIAogICAvKiBOb3cgY29tcGlsZSB0aGUgYnJhbmNoICovCiAKLSAgaWYgKCFjb21w
aWxlX2JyYW5jaCgmb3B0aW9ucywgYnJhY2tldHMsICZjb2RlLCAmcHRyLCBlcnJvcmNvZGVwdHIs
CisgIGlmICghY29tcGlsZV9icmFuY2goJm9wdGlvbnMsIGJyYWNrZXRzLCAmY29kZSwgJnB0ciwg
cGF0dGVybkVuZCwgZXJyb3Jjb2RlcHRyLAogICAgICAgICAmYnJhbmNoZmlyc3RieXRlLCAmYnJh
bmNocmVxYnl0ZSwgJmJjLCBjZCkpCiAgICAgewogICAgICpwdHJwdHIgPSBwdHI7CkBAIC0zNTg3
LDcgKzM2MTIsNyBAQCBmb3IgKDs7KQogICBmb2xsb3dpbmcsIGV4Y2VwdCBhdCB0aGUgdmVyeSBl
bmQgb2YgdGhlIHBhdHRlcm4uIFJldHVybiBsZWF2aW5nIHRoZSBwb2ludGVyCiAgIGF0IHRoZSB0
ZXJtaW5hdGluZyBjaGFyLiAqLwogCi0gIGlmICgqcHRyICE9ICd8JykKKyAgaWYgKHB0ciA+PSBw
YXR0ZXJuRW5kIHx8ICpwdHIgIT0gJ3wnKQogICAgIHsKICAgICBpbnQgbGVuZ3RoID0gSU5UX0NB
U1QoY29kZSAtIGxhc3RfYnJhbmNoKTsKICAgICBkbwpAQCAtMzYwNyw3ICszNjMyLDcgQEAgZm9y
ICg7OykKIAogICAgIC8qIFJlc2V0dGluZyBvcHRpb24gaWYgbmVlZGVkICovCiAKLSAgICBpZiAo
KG9wdGlvbnMgJiBQQ1JFX0lNUykgIT0gb2xkaW1zICYmICpwdHIgPT0gJyknKQorICAgIGlmICgo
b3B0aW9ucyAmIFBDUkVfSU1TKSAhPSBvbGRpbXMgJiYgcHRyIDwgcGF0dGVybkVuZCAmJiAqcHRy
ID09ICcpJykKICAgICAgIHsKICAgICAgICpjb2RlKysgPSBPUF9PUFQ7CiAgICAgICAqY29kZSsr
ID0gb2xkaW1zOwpAQCAtMzg4OCwxNSArMzkxMywxNSBAQCBSZXR1cm5zOiAgICAgICAgcG9pbnRl
ciB0byBjb21waWxlZCBkYXRhCiAqLwogCiBFWFBPUlQgcGNyZSAqCi1wY3JlX2NvbXBpbGUoY29u
c3QgcGNyZV9jaGFyICpwYXR0ZXJuLCBpbnQgb3B0aW9ucywgY29uc3QgY2hhciAqKmVycm9ycHRy
LAorcGNyZV9jb21waWxlKGNvbnN0IHBjcmVfY2hhciAqcGF0dGVybiwgaW50IHBhdHRlcm5MZW5n
dGgsIGludCBvcHRpb25zLCBjb25zdCBjaGFyICoqZXJyb3JwdHIsCiAgIGludCAqZXJyb3JvZmZz
ZXQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnRhYmxlcykKIHsKLXJldHVybiBwY3JlX2NvbXBpbGUy
KHBhdHRlcm4sIG9wdGlvbnMsIE5VTEwsIGVycm9ycHRyLCBlcnJvcm9mZnNldCwgdGFibGVzKTsK
K3JldHVybiBwY3JlX2NvbXBpbGUyKHBhdHRlcm4sIHBhdHRlcm5MZW5ndGgsIG9wdGlvbnMsIE5V
TEwsIGVycm9ycHRyLCBlcnJvcm9mZnNldCwgdGFibGVzKTsKIH0KIAogCiBFWFBPUlQgcGNyZSAq
Ci1wY3JlX2NvbXBpbGUyKGNvbnN0IHBjcmVfY2hhciAqcGF0dGVybiwgaW50IG9wdGlvbnMsIGlu
dCAqZXJyb3Jjb2RlcHRyLAorcGNyZV9jb21waWxlMihjb25zdCBwY3JlX2NoYXIgKnBhdHRlcm4s
IGludCBwYXR0ZXJuTGVuZ3RoLCBpbnQgb3B0aW9ucywgaW50ICplcnJvcmNvZGVwdHIsCiAgIGNv
bnN0IGNoYXIgKiplcnJvcnB0ciwgaW50ICplcnJvcm9mZnNldCwgY29uc3QgdW5zaWduZWQgY2hh
ciAqdGFibGVzKQogewogcmVhbF9wY3JlICpyZTsKQEAgLTQwMTAsOCArNDAzNSwxMiBAQCBmb3Ig
YW55IGNvdW50ZWQgd2hpdGUgc3BhY2UgaWYgYW4gImV4dGVuCiBwYXR0ZXJuLiBXZSBjYW4ndCBi
ZSBzbyBjbGV2ZXIgZm9yICMtY29tbWVudHMuICovCiAKIHB0ciA9IChjb25zdCBwY3JlX3VjaGFy
ICopKHBhdHRlcm4gLSAxKTsKLXdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQorY29uc3QgcGNy
ZV91Y2hhciBjb25zdCogcGF0dGVybkVuZCA9IChjb25zdCBwY3JlX3VjaGFyICopKHBhdHRlcm4g
KyBwYXR0ZXJuTGVuZ3RoKTsKKword2hpbGUgKCsrcHRyIDwgcGF0dGVybkVuZCkKICAgeworICBj
ID0gKnB0cjsKKyAgCiAgIGludCBtaW4sIG1heDsKICAgaW50IGNsYXNzX29wdGNvdW50OwogICBp
bnQgYnJhY2tldF9sZW5ndGg7CkBAIC00MDM0LDggKzQwNjMsMTAgQEAgd2hpbGUgKChjID0gKigr
K3B0cikpICE9IDApCiAgICAgICB7CiAgICAgICAvKiBUaGUgc3BhY2UgYmVmb3JlIHRoZSA7IGlz
IHRvIGF2b2lkIGEgd2FybmluZyBvbiBhIHNpbGx5IGNvbXBpbGVyCiAgICAgICBvbiB0aGUgTWFj
aW50b3NoLiAqLwotICAgICAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDAgJiYgYyAhPSBORVdM
SU5FKSA7Ci0gICAgICBpZiAoYyA9PSAwKSBicmVhazsKKyAgICAgIHdoaWxlICgrK3B0ciA8IHBh
dHRlcm5FbmQgJiYgKGMgPSAqcHRyKSAhPSBORVdMSU5FKQorICAgICAgICA7CisgICAgICBpZiAo
cHRyID09IHBhdHRlcm5FbmQpCisgICAgICAgIGJyZWFrOwogICAgICAgY29udGludWU7CiAgICAg
ICB9CiAgICAgfQpAQCAtNDA0Niw3ICs0MDc3LDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9
IDApCiAKICAgaWYgKChvcHRpb25zICYgUENSRV9BVVRPX0NBTExPVVQpICE9IDAgJiYKICAgICAg
ICBjICE9ICcqJyAmJiBjICE9ICcrJyAmJiBjICE9ICc/JyAmJgotICAgICAgIChjICE9ICd7JyB8
fCAhaXNfY291bnRlZF9yZXBlYXQocHRyICsgMSkpKQorICAgICAgIChjICE9ICd7JyB8fCAhaXNf
Y291bnRlZF9yZXBlYXQocHRyICsgMSwgcGF0dGVybkVuZCkpKQogICAgIGxlbmd0aCArPSAyICsg
MipMSU5LX1NJWkU7CiAKICAgc3dpdGNoKGMpCkBAIC00MDU1LDcgKzQwODYsNyBAQCB3aGlsZSAo
KGMgPSAqKCsrcHRyKSkgIT0gMCkKICAgICBjaGFyYWN0ZXIgdHlwZS4gKi8KIAogICAgIGNhc2Ug
J1xcJzoKLSAgICBjID0gY2hlY2tfZXNjYXBlKCZwdHIsICZlcnJvcmNvZGUsIGJyYWNvdW50LCBv
cHRpb25zLCBGQUxTRSk7CisgICAgYyA9IGNoZWNrX2VzY2FwZSgmcHRyLCBwYXR0ZXJuRW5kLCAm
ZXJyb3Jjb2RlLCBicmFjb3VudCwgb3B0aW9ucywgRkFMU0UpOwogICAgIGlmIChlcnJvcmNvZGUg
IT0gMCkgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKIAogICAgIGxhc3RpdGVtbGVuZ3RoID0gMTsg
ICAgIC8qIERlZmF1bHQgbGVuZ3RoIG9mIGxhc3QgaXRlbSBmb3IgcmVwZWF0cyAqLwpAQCAtNDEw
NSw3ICs0MTM2LDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgICBCT09MIG5l
Z2F0ZWQ7CiAgICAgICBsZW5ndGggKz0gMjsKICAgICAgIGxhc3RpdGVtbGVuZ3RoID0gMjsKLSAg
ICAgIGlmIChnZXRfdWNwKCZwdHIsICZuZWdhdGVkLCAmZXJyb3Jjb2RlKSA8IDApIGdvdG8gUENS
RV9FUlJPUl9SRVRVUk47CisgICAgICBpZiAoZ2V0X3VjcCgmcHRyLCBwYXR0ZXJuRW5kLCAmbmVn
YXRlZCwgJmVycm9yY29kZSkgPCAwKSBnb3RvIFBDUkVfRVJST1JfUkVUVVJOOwogICAgICAgY29u
dGludWU7CiAjZWxzZQogICAgICAgZXJyb3Jjb2RlID0gRVJSNDU7CkBAIC00MTI4LDE1ICs0MTU5
LDE2IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgICAgaWYgKHJlZm51bSA+IGNv
bXBpbGVfYmxvY2sudG9wX2JhY2tyZWYpCiAgICAgICAgIGNvbXBpbGVfYmxvY2sudG9wX2JhY2ty
ZWYgPSByZWZudW07CiAgICAgICBsZW5ndGggKz0gMjsgICAvKiBGb3Igc2luZ2xlIGJhY2sgcmVm
ZXJlbmNlICovCi0gICAgICBpZiAocHRyWzFdID09ICd7JyAmJiBpc19jb3VudGVkX3JlcGVhdChw
dHIrMikpCisgICAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICd7JyAm
JiBpc19jb3VudGVkX3JlcGVhdChwdHIrMiwgcGF0dGVybkVuZCkpCiAgICAgICAgIHsKLSAgICAg
ICAgcHRyID0gcmVhZF9yZXBlYXRfY291bnRzKHB0cisyLCAmbWluLCAmbWF4LCAmZXJyb3Jjb2Rl
KTsKKyAgICAgICAgcHRyID0gcmVhZF9yZXBlYXRfY291bnRzKHB0cisyLCBwYXR0ZXJuRW5kLCAm
bWluLCAmbWF4LCAmZXJyb3Jjb2RlKTsKICAgICAgICAgaWYgKGVycm9yY29kZSAhPSAwKSBnb3Rv
IFBDUkVfRVJST1JfUkVUVVJOOwogICAgICAgICBpZiAoKG1pbiA9PSAwICYmIChtYXggPT0gMSB8
fCBtYXggPT0gLTEpKSB8fAogICAgICAgICAgIChtaW4gPT0gMSAmJiBtYXggPT0gLTEpKQogICAg
ICAgICAgICAgbGVuZ3RoKys7CiAgICAgICAgIGVsc2UgbGVuZ3RoICs9IDU7Ci0gICAgICAgIGlm
IChwdHJbMV0gPT0gJz8nKSBwdHIrKzsKKyAgICAgICAgaWYgKHB0ciArIDEgPCBwYXR0ZXJuRW5k
ICYmIHB0clsxXSA9PSAnPycpCisgICAgICAgICAgICBwdHIrKzsKICAgICAgICAgfQogICAgICAg
fQogICAgIGNvbnRpbnVlOwpAQCAtNDE1OCw4ICs0MTkwLDkgQEAgd2hpbGUgKChjID0gKigrK3B0
cikpICE9IDApCiAgICAgY2xhc3MsIG9yIGJhY2sgcmVmZXJlbmNlLiAqLwogCiAgICAgY2FzZSAn
eyc6Ci0gICAgaWYgKCFpc19jb3VudGVkX3JlcGVhdChwdHIrMSkpIGdvdG8gTk9STUFMX0NIQVI7
Ci0gICAgcHRyID0gcmVhZF9yZXBlYXRfY291bnRzKHB0cisxLCAmbWluLCAmbWF4LCAmZXJyb3Jj
b2RlKTsKKyAgICBpZiAoIWlzX2NvdW50ZWRfcmVwZWF0KHB0cisxLCBwYXR0ZXJuRW5kKSkKKyAg
ICAgICAgZ290byBOT1JNQUxfQ0hBUjsKKyAgICBwdHIgPSByZWFkX3JlcGVhdF9jb3VudHMocHRy
KzEsIHBhdHRlcm5FbmQsICZtaW4sICZtYXgsICZlcnJvcmNvZGUpOwogICAgIGlmIChlcnJvcmNv
ZGUgIT0gMCkgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKIAogICAgIC8qIFRoZXNlIHNwZWNpYWwg
Y2FzZXMganVzdCBpbnNlcnQgb25lIGV4dHJhIG9wY29kZSAqLwpAQCAtNDE4MCwxMCArNDIxMywx
MSBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKICAgICAgIGxlbmd0aCArPSBsYXN0aXRl
bWxlbmd0aCArICgobWF4ID4gMCk/IDMgOiAxKTsKICAgICAgIH0KIAotICAgIGlmIChwdHJbMV0g
PT0gJz8nKSBwdHIrKzsgICAgICAvKiBOZWVkcyBubyBleHRyYSBsZW5ndGggKi8KKyAgICBpZiAo
cHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICc/JykKKyAgICAgICAgcHRyKys7ICAg
ICAgICAgICAgICAgICAgICAgLyogTmVlZHMgbm8gZXh0cmEgbGVuZ3RoICovCiAKICAgICBQT1NF
U1NJVkU6ICAgICAgICAgICAgICAgICAgICAgLyogVGVzdCBmb3IgcG9zc2Vzc2l2ZSBxdWFudGlm
aWVyICovCi0gICAgaWYgKHB0clsxXSA9PSAnKycpCisgICAgaWYgKHB0ciArIDEgPCBwYXR0ZXJu
RW5kICYmIHB0clsxXSA9PSAnKycpCiAgICAgICB7CiAgICAgICBwdHIrKzsKICAgICAgIGxlbmd0
aCArPSAyICsgMipMSU5LX1NJWkU7ICAgLyogQWxsb3cgZm9yIGF0b21pYyBicmFja2V0cyAqLwpA
QCAtNDIwOCw3ICs0MjQyLDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgd2hl
cmUgd2UgY2FuLiAoSW4gVVRGLTggbW9kZSB3ZSBjYW4gZG8gdGhpcyBvbmx5IGZvciBjaGFycyA8
IDEyOC4pICovCiAKICAgICBjYXNlICdbJzoKLSAgICBpZiAoKigrK3B0cikgPT0gJ14nKQorICAg
IGlmICgrK3B0ciA8IHBhdHRlcm5FbmQgJiYgKnB0ciA9PSAnXicpCiAgICAgICB7CiAgICAgICBj
bGFzc19vcHRjb3VudCA9IDEwOyAgLyogR3JlYXRlciB0aGFuIG9uZSAqLwogICAgICAgcHRyKys7
CkBAIC00MjIxLDEzICs0MjU1LDE0IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogCiAg
ICAgLyogV3JpdHRlbiBhcyBhICJkbyIgc28gdGhhdCBhbiBpbml0aWFsICddJyBpcyB0YWtlbiBh
cyBkYXRhICovCiAKLSAgICBpZiAoKnB0ciAhPSAwKSBkbworICAgIGlmIChwdHIgPCBwYXR0ZXJu
RW5kKSBkbwogICAgICAgewogICAgICAgLyogSW5zaWRlIFxRLi4uXEUgZXZlcnl0aGluZyBpcyBs
aXRlcmFsIGV4Y2VwdCBcRSAqLwogCiAgICAgICBpZiAoaW5lc2NxKQogICAgICAgICB7Ci0gICAg
ICAgIGlmICgqcHRyICE9ICdcXCcgfHwgcHRyWzFdICE9ICdFJykgZ290byBHRVRfT05FX0NIQVJB
Q1RFUjsKKyAgICAgICAgaWYgKCpwdHIgIT0gJ1xcJyB8fCBwdHIgKyAxID49IHBhdHRlcm5FbmQg
fHwgcHRyWzFdICE9ICdFJykKKyAgICAgICAgICAgIGdvdG8gR0VUX09ORV9DSEFSQUNURVI7CiAg
ICAgICAgIGluZXNjcSA9IEZBTFNFOwogICAgICAgICBwdHIgKz0gMTsKICAgICAgICAgY29udGlu
dWU7CkBAIC00MjM3LDcgKzQyNzIsNyBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKIAog
ICAgICAgaWYgKCpwdHIgPT0gJ1xcJykKICAgICAgICAgewotICAgICAgICBjID0gY2hlY2tfZXNj
YXBlKCZwdHIsICZlcnJvcmNvZGUsIGJyYWNvdW50LCBvcHRpb25zLCBUUlVFKTsKKyAgICAgICAg
YyA9IGNoZWNrX2VzY2FwZSgmcHRyLCBwYXR0ZXJuRW5kLCAmZXJyb3Jjb2RlLCBicmFjb3VudCwg
b3B0aW9ucywgVFJVRSk7CiAgICAgICAgIGlmIChlcnJvcmNvZGUgIT0gMCkgZ290byBQQ1JFX0VS
Uk9SX1JFVFVSTjsKIAogICAgICAgICAvKiBcYiBpcyBiYWNrc3BhY2UgaW5zaWRlIGEgY2xhc3M7
IFxYIGlzIGxpdGVyYWwgKi8KQEAgLTQyODAsNyArNDMxNSw3IEBAIHdoaWxlICgoYyA9ICooKytw
dHIpKSAhPSAwKQogICAgICAgLyogQ2hlY2sgdGhlIHN5bnRheCBmb3IgUE9TSVggc3R1ZmYuIFRo
ZSBiaXRzIHdlIGFjdHVhbGx5IGhhbmRsZSBhcmUKICAgICAgIGNoZWNrZWQgZHVyaW5nIHRoZSBy
ZWFsIGNvbXBpbGUgcGhhc2UuICovCiAKLSAgICAgIGVsc2UgaWYgKCpwdHIgPT0gJ1snICYmIGNo
ZWNrX3Bvc2l4X3N5bnRheChwdHIsICZwdHIsICZjb21waWxlX2Jsb2NrKSkKKyAgICAgIGVsc2Ug
aWYgKCpwdHIgPT0gJ1snICYmIGNoZWNrX3Bvc2l4X3N5bnRheChwdHIsIHBhdHRlcm5FbmQsICZw
dHIsICZjb21waWxlX2Jsb2NrKSkKICAgICAgICAgewogICAgICAgICBwdHIrKzsKICAgICAgICAg
Y2xhc3Nfb3B0Y291bnQgPSAxMDsgICAgLyogTWFrZSBzdXJlID4gMSAqLwpAQCAtNDMwMiw2ICs0
MzM3LDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgICAgIGlmICh1dGY4KQog
ICAgICAgICAgIHsKICAgICAgICAgICBpbnQgZXh0cmEgPSAwOworICAgICAgICAgIC8vIEZJWE1F
OiBEb2VzIHRoaXMgd29yayBmb3IgaGFsZiBhIHN1cnJvZ2F0ZSBwYWlyIGFzIHRoZSBsYXN0IGNo
YXJhY3RlciBvZiB0aGUgcGF0dGVybj8JPC0tIHRhYiBpcyBjb21taXQgZ3VhcmQKICAgICAgICAg
ICBHRVRDSEFSTEVOKGMsIHB0ciwgZXh0cmEpOwogICAgICAgICAgIHB0ciArPSBleHRyYTsKICAg
ICAgICAgICB9CkBAIC00MzE2LDI0ICs0MzUyLDI1IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAh
PSAwKQogICAgICAgICBjbGFzc19vcHRjb3VudCsrOwogCiAgICAgICAgIGQgPSAtMTsKLSAgICAg
ICAgaWYgKHB0clsxXSA9PSAnLScpCisgICAgICAgIGlmIChwdHIgKyAxIDwgcGF0dGVybkVuZCAm
JiBwdHJbMV0gPT0gJy0nKQogICAgICAgICAgIHsKICAgICAgICAgICBwY3JlX3VjaGFyIGNvbnN0
ICpoeXB0ciA9IHB0cisrOwotICAgICAgICAgIGlmIChwdHJbMV0gPT0gJ1xcJykKKyAgICAgICAg
ICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICdcXCcpCiAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICBwdHIrKzsKLSAgICAgICAgICAgIGQgPSBjaGVja19lc2NhcGUoJnB0
ciwgJmVycm9yY29kZSwgYnJhY291bnQsIG9wdGlvbnMsIFRSVUUpOworICAgICAgICAgICAgZCA9
IGNoZWNrX2VzY2FwZSgmcHRyLCBwYXR0ZXJuRW5kLCAmZXJyb3Jjb2RlLCBicmFjb3VudCwgb3B0
aW9ucywgVFJVRSk7CiAgICAgICAgICAgICBpZiAoZXJyb3Jjb2RlICE9IDApIGdvdG8gUENSRV9F
UlJPUl9SRVRVUk47CiAgICAgICAgICAgICBpZiAoLWQgPT0gRVNDX2IpIGQgPSAnXGInOyAgICAg
ICAgLyogYmFja3NwYWNlICovCiAgICAgICAgICAgICBlbHNlIGlmICgtZCA9PSBFU0NfWCkgZCA9
ICdYJzsgICAgLyogbGl0ZXJhbCBYIGluIGEgY2xhc3MgKi8KICAgICAgICAgICAgIH0KLSAgICAg
ICAgICBlbHNlIGlmIChwdHJbMV0gIT0gMCAmJiBwdHJbMV0gIT0gJ10nKQorICAgICAgICAgIGVs
c2UgaWYgKHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIHB0clsxXSAhPSAnXScpCiAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICBwdHIrKzsKICNpZmRlZiBTVVBQT1JUX1VURjgKICAgICAgICAgICAg
IGlmICh1dGY4KQogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgIGludCBleHRyYSA9IDA7
CisgICAgICAgICAgICAgIC8vIEZJWE1FOiBEb2VzIHRoaXMgd29yayBmb3IgaGFsZiBhIHN1cnJv
Z2F0ZSBwYWlyIGFzIHRoZSBsYXN0IGNoYXJhY3RlciBvZiB0aGUgcGF0dGVybj8JPC0tIHRhYiBp
cyBjb21taXQgZ3VhcmQKICAgICAgICAgICAgICAgR0VUQ0hBUkxFTihkLCBwdHIsIGV4dHJhKTsK
ICAgICAgICAgICAgICAgcHRyICs9IGV4dHJhOwogICAgICAgICAgICAgICB9CkBAIC00NDM3LDkg
KzQ0NzQsMTAgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgICAgICAgfQogICAg
ICAgICB9CiAgICAgICB9Ci0gICAgd2hpbGUgKCooKytwdHIpICE9IDAgJiYgKGluZXNjcSB8fCAq
cHRyICE9ICddJykpOyAvKiBDb25jbHVkZXMgImRvIiBhYm92ZSAqLworICAgIHdoaWxlICgrK3B0
ciA8IHBhdHRlcm5FbmQgJiYgKGluZXNjcSB8fCAqcHRyICE9ICddJykpCisgICAgICAgIDsgLyog
Q29uY2x1ZGVzICJkbyIgYWJvdmUgKi8KIAotICAgIGlmICgqcHRyID09IDApICAgICAgICAgICAg
ICAgICAgICAgICAgICAvKiBNaXNzaW5nIHRlcm1pbmF0aW5nICddJyAqLworICAgIGlmIChwdHIg
Pj0gcGF0dGVybkVuZCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE1pc3NpbmcgdGVybWlu
YXRpbmcgJ10nICovCiAgICAgICB7CiAgICAgICBlcnJvcmNvZGUgPSBFUlI2OwogICAgICAgZ290
byBQQ1JFX0VSUk9SX1JFVFVSTjsKQEAgLTQ0NTYsMjAgKzQ0OTQsMjEgQEAgd2hpbGUgKChjID0g
KigrK3B0cikpICE9IDApCiAgICAgICAvKiBBIHJlcGVhdCBuZWVkcyBlaXRoZXIgMSBvciA1IGJ5
dGVzLiBJZiBpdCBpcyBhIHBvc3Nlc3NpdmUgcXVhbnRpZmllciwKICAgICAgIHdlIGFsc28gbmVl
ZCBleHRyYSBmb3Igd3JhcHBpbmcgdGhlIHdob2xlIHRoaW5nIGluIGEgc3ViLXBhdHRlcm4uICov
CiAKLSAgICAgIGlmICgqcHRyICE9IDAgJiYgcHRyWzFdID09ICd7JyAmJiBpc19jb3VudGVkX3Jl
cGVhdChwdHIrMikpCisgICAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09
ICd7JyAmJiBpc19jb3VudGVkX3JlcGVhdChwdHIrMiwgcGF0dGVybkVuZCkpCiAgICAgICAgIHsK
LSAgICAgICAgcHRyID0gcmVhZF9yZXBlYXRfY291bnRzKHB0cisyLCAmbWluLCAmbWF4LCAmZXJy
b3Jjb2RlKTsKKyAgICAgICAgcHRyID0gcmVhZF9yZXBlYXRfY291bnRzKHB0cisyLCBwYXR0ZXJu
RW5kLCAmbWluLCAmbWF4LCAmZXJyb3Jjb2RlKTsKICAgICAgICAgaWYgKGVycm9yY29kZSAhPSAw
KSBnb3RvIFBDUkVfRVJST1JfUkVUVVJOOwogICAgICAgICBpZiAoKG1pbiA9PSAwICYmIChtYXgg
PT0gMSB8fCBtYXggPT0gLTEpKSB8fAogICAgICAgICAgIChtaW4gPT0gMSAmJiBtYXggPT0gLTEp
KQogICAgICAgICAgICAgbGVuZ3RoKys7CiAgICAgICAgIGVsc2UgbGVuZ3RoICs9IDU7Ci0gICAg
ICAgIGlmIChwdHJbMV0gPT0gJysnKQorICAgICAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQg
JiYgcHRyWzFdID09ICcrJykKICAgICAgICAgICB7CiAgICAgICAgICAgcHRyKys7CiAgICAgICAg
ICAgbGVuZ3RoICs9IDIgKyAyKkxJTktfU0laRTsKICAgICAgICAgICB9Ci0gICAgICAgIGVsc2Ug
aWYgKHB0clsxXSA9PSAnPycpIHB0cisrOworICAgICAgICBlbHNlIGlmIChwdHIgKyAxIDwgcGF0
dGVybkVuZCAmJiBwdHJbMV0gPT0gJz8nKQorICAgICAgICAgICAgcHRyKys7CiAgICAgICAgIH0K
ICAgICAgIH0KICAgICBjb250aW51ZTsKQEAgLTQ0ODIsMTggKzQ1MjEsMTkgQEAgd2hpbGUgKChj
ID0gKigrK3B0cikpICE9IDApCiAKICAgICAvKiBIYW5kbGUgc3BlY2lhbCBmb3JtcyBvZiBicmFj
a2V0LCB3aGljaCBhbGwgc3RhcnQgKD8gKi8KIAotICAgIGlmIChwdHJbMV0gPT0gJz8nKQorICAg
IGlmIChwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiBwdHJbMV0gPT0gJz8nKQogICAgICAgewogICAg
ICAgaW50IHNldCwgdW5zZXQ7CiAgICAgICBpbnQgKm9wdHNldDsKIAotICAgICAgc3dpdGNoIChj
ID0gcHRyWzJdKQorICAgICAgc3dpdGNoIChjID0gKHB0ciArIDIgPCBwYXR0ZXJuRW5kID8gcHRy
WzJdIDogMCkpCiAgICAgICAgIHsKICAgICAgICAgLyogU2tpcCBvdmVyIGNvbW1lbnRzIGVudGly
ZWx5ICovCiAgICAgICAgIGNhc2UgJyMnOgogICAgICAgICBwdHIgKz0gMzsKLSAgICAgICAgd2hp
bGUgKCpwdHIgIT0gMCAmJiAqcHRyICE9ICcpJykgcHRyKys7Ci0gICAgICAgIGlmICgqcHRyID09
IDApCisgICAgICAgIHdoaWxlIChwdHIgPCBwYXR0ZXJuRW5kICYmICpwdHIgIT0gJyknKQorICAg
ICAgICAgICAgcHRyKys7CisgICAgICAgIGlmIChwdHIgPT0gcGF0dGVybkVuZCkKICAgICAgICAg
ICB7CiAgICAgICAgICAgZXJyb3Jjb2RlID0gRVJSMTg7CiAgICAgICAgICAgZ290byBQQ1JFX0VS
Uk9SX1JFVFVSTjsKQEAgLTQ1MjksMTAgKzQ1NjksMTAgQEAgd2hpbGUgKChjID0gKigrK3B0cikp
ICE9IDApCiAgICAgICAgIGlmIChjICE9ICdSJykKICAgICAgICAgICB7CiAgICAgICAgICAgKytw
dHI7Ci0gICAgICAgICAgd2hpbGUgKChESUdJVEFCKCpwdHIpICYgY3R5cGVfZGlnaXQpICE9IDAp
CisgICAgICAgICAgd2hpbGUgKHB0ciA8IHBhdHRlcm5FbmQgJiYgKERJR0lUQUIoKnB0cikgJiBj
dHlwZV9kaWdpdCkgIT0gMCkKICAgICAgICAgICAgICsrcHRyOwogICAgICAgICAgIH0KLSAgICAg
ICAgaWYgKCpwdHIgIT0gJyknKQorICAgICAgICBpZiAocHRyID49IHBhdHRlcm5FbmQgfHwgKnB0
ciAhPSAnKScpCiAgICAgICAgICAgewogICAgICAgICAgIGVycm9yY29kZSA9IEVSUjI5OwogICAg
ICAgICAgIGdvdG8gUENSRV9FUlJPUl9SRVRVUk47CkBAIC00NTQzLDcgKzQ1ODMsNyBAQCB3aGls
ZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKICAgICAgICAgYXMgdG8gdXNlIHRoZSBjb2RlIGZvciBx
dWFudGlmaWVkIGJyYWNrZXRzLiBXZSBqdW1wIGRvd24gYW5kIHVzZSB0aGUKICAgICAgICAgY29k
ZSB0aGF0IGhhbmRsZXMgdGhpcyBmb3IgcmVhbCBicmFja2V0cy4gKi8KIAotICAgICAgICBpZiAo
cHRyWzFdID09ICcrJyB8fCBwdHJbMV0gPT0gJyonIHx8IHB0clsxXSA9PSAnPycgfHwgcHRyWzFd
ID09ICd7JykKKyAgICAgICAgaWYgKHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIChwdHJbMV0gPT0g
JysnIHx8IHB0clsxXSA9PSAnKicgfHwgcHRyWzFdID09ICc/JyB8fCBwdHJbMV0gPT0gJ3snKSkK
ICAgICAgICAgICB7CiAgICAgICAgICAgbGVuZ3RoICs9IDIgKyAyICogTElOS19TSVpFOyAgICAg
ICAvKiB0byBtYWtlIGJyYWNrZXRlZCAqLwogICAgICAgICAgIGR1cGxlbmd0aCA9IDUgKyAzICog
TElOS19TSVpFOwpAQCAtNDU1Nyw5ICs0NTk3LDkgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9
IDApCiAKICAgICAgICAgY2FzZSAnQyc6CiAgICAgICAgIHB0ciArPSAzOwotICAgICAgICB3aGls
ZSAoKERJR0lUQUIoKnB0cikgJiBjdHlwZV9kaWdpdCkgIT0gMCkKKyAgICAgICAgd2hpbGUgKHB0
ciA8IHBhdHRlcm5FbmQgJiYgKERJR0lUQUIoKnB0cikgJiBjdHlwZV9kaWdpdCkgIT0gMCkKICAg
ICAgICAgICArK3B0cjsKLSAgICAgICAgaWYgKCpwdHIgIT0gJyknKQorICAgICAgICBpZiAocHRy
ID49IHBhdHRlcm5FbmQgfHwgKnB0ciAhPSAnKScpCiAgICAgICAgICAgewogICAgICAgICAgIGVy
cm9yY29kZSA9IEVSUjM5OwogICAgICAgICAgIGdvdG8gUENSRV9FUlJPUl9SRVRVUk47CkBAIC00
NTcxLDEyICs0NjExLDEzIEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogCiAgICAgICAg
IGNhc2UgJ1AnOgogICAgICAgICBwdHIgKz0gMzsKLSAgICAgICAgaWYgKCpwdHIgPT0gJzwnKQor
ICAgICAgICBpZiAocHRyIDwgcGF0dGVybkVuZCAmJiAqcHRyID09ICc8JykKICAgICAgICAgICB7
CiAgICAgICAgICAgY29uc3QgcGNyZV91Y2hhciAqcDsgICAgLyogRG9uJ3QgYW1hbGdhbWF0ZTsg
c29tZSBjb21waWxlcnMgKi8KICAgICAgICAgICBwID0gKytwdHI7ICAgICAgICAgIC8qIGdydW1i
bGUgYXQgYXV0b2luY3JlbWVudCBpbiBkZWNsYXJhdGlvbiAqLwotICAgICAgICAgIHdoaWxlICgo
Q1RZUEVTKCZjb21waWxlX2Jsb2NrLCAqcHRyKSAmIGN0eXBlX3dvcmQpICE9IDApIHB0cisrOwot
ICAgICAgICAgIGlmICgqcHRyICE9ICc+JykKKyAgICAgICAgICB3aGlsZSAocHRyIDwgcGF0dGVy
bkVuZCAmJiAoQ1RZUEVTKCZjb21waWxlX2Jsb2NrLCAqcHRyKSAmIGN0eXBlX3dvcmQpICE9IDAp
CisgICAgICAgICAgICAgIHB0cisrOworICAgICAgICAgIGlmIChwdHIgPj0gcGF0dGVybkVuZCB8
fCAqcHRyICE9ICc+JykKICAgICAgICAgICAgIHsKICAgICAgICAgICAgIGVycm9yY29kZSA9IEVS
UjQyOwogICAgICAgICAgICAgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKQEAgLTQ1ODYsMTIgKzQ2
MjcsMTIgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgICAgfQogCi0gICAgICAgIGlmICgqcHRyID09ICc9JyB8fCAqcHRyID09ICc+JykKKyAg
ICAgICAgaWYgKHB0ciA8IHBhdHRlcm5FbmQgJiYgKCpwdHIgPT0gJz0nIHx8ICpwdHIgPT0gJz4n
KSkKICAgICAgICAgICB7CiAgICAgICAgICAgKytwdHI7Ci0gICAgICAgICAgd2hpbGUgKChDVFlQ
RVMoJmNvbXBpbGVfYmxvY2ssICpwdHIpICYgY3R5cGVfd29yZCkgIT0gMCkKKyAgICAgICAgICB3
aGlsZSAocHRyIDwgcGF0dGVybkVuZCAmJiAoQ1RZUEVTKCZjb21waWxlX2Jsb2NrLCAqcHRyKSAm
IGN0eXBlX3dvcmQpICE9IDApCiAgICAgICAgICAgICArK3B0cjsKLSAgICAgICAgICBpZiAoKnB0
ciAhPSAnKScpCisgICAgICAgICAgaWYgKHB0ciA+PSBwYXR0ZXJuRW5kIHx8ICpwdHIgIT0gJykn
KQogICAgICAgICAgICAgewogICAgICAgICAgICAgZXJyb3Jjb2RlID0gRVJSNDI7CiAgICAgICAg
ICAgICBnb3RvIFBDUkVfRVJST1JfUkVUVVJOOwpAQCAtNDYwOCw3ICs0NjQ5LDcgQEAgd2hpbGUg
KChjID0gKigrK3B0cikpICE9IDApCiAKICAgICAgICAgY2FzZSAnPCc6CiAgICAgICAgIHB0ciAr
PSAzOwotICAgICAgICBpZiAoKnB0ciA9PSAnPScgfHwgKnB0ciA9PSAnIScpCisgICAgICAgIGlm
IChwdHIgPCBwYXR0ZXJuRW5kICYmICgqcHRyID09ICc9JyB8fCAqcHRyID09ICchJykpCiAgICAg
ICAgICAgewogICAgICAgICAgIGJyYW5jaF9uZXdleHRyYSA9IDEgKyBMSU5LX1NJWkU7CiAgICAg
ICAgICAgbGVuZ3RoICs9IDEgKyBMSU5LX1NJWkU7ICAgICAgICAgLyogRm9yIHRoZSBmaXJzdCBi
cmFuY2ggKi8KQEAgLTQ2MjIsMTcgKzQ2NjMsMTggQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9
IDApCiAgICAgICAgIGdyb3VwLCBvciAoYSBQQ1JFIGV4dGVuc2lvbikgYnkgJ1InIGZvciBhIHJl
Y3Vyc2lvbiB0ZXN0LiAqLwogCiAgICAgICAgIGNhc2UgJygnOgotICAgICAgICBpZiAocHRyWzNd
ID09ICdSJyAmJiBwdHJbNF0gPT0gJyknKQorICAgICAgICBpZiAocHRyICsgNCA8IHBhdHRlcm5F
bmQgJiYgcHRyWzNdID09ICdSJyAmJiBwdHJbNF0gPT0gJyknKQogICAgICAgICAgIHsKICAgICAg
ICAgICBwdHIgKz0gNDsKICAgICAgICAgICBsZW5ndGggKz0gMzsKICAgICAgICAgICB9Ci0gICAg
ICAgIGVsc2UgaWYgKChESUdJVEFCKHB0clszXSkgJiBjdHlwZV9kaWdpdCkgIT0gMCkKKyAgICAg
ICAgZWxzZSBpZiAocHRyICsgMyA8IHBhdHRlcm5FbmQgJiYgKERJR0lUQUIocHRyWzNdKSAmIGN0
eXBlX2RpZ2l0KSAhPSAwKQogICAgICAgICAgIHsKICAgICAgICAgICBwdHIgKz0gNDsKICAgICAg
ICAgICBsZW5ndGggKz0gMzsKLSAgICAgICAgICB3aGlsZSAoKERJR0lUQUIoKnB0cikgJiBjdHlw
ZV9kaWdpdCkgIT0gMCkgcHRyKys7Ci0gICAgICAgICAgaWYgKCpwdHIgIT0gJyknKQorICAgICAg
ICAgIHdoaWxlIChwdHIgPCBwYXR0ZXJuRW5kICYmIChESUdJVEFCKCpwdHIpICYgY3R5cGVfZGln
aXQpICE9IDApCisgICAgICAgICAgICAgIHB0cisrOworICAgICAgICAgIGlmIChwdHIgPj0gcGF0
dGVybkVuZCB8fCAqcHRyICE9ICcpJykKICAgICAgICAgICAgIHsKICAgICAgICAgICAgIGVycm9y
Y29kZSA9IEVSUjI2OwogICAgICAgICAgICAgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKQEAgLTQ2
NDEsNyArNDY4Myw3IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgICAgICBlbHNl
ICAgLyogQW4gYXNzZXJ0aW9uIG11c3QgZm9sbG93ICovCiAgICAgICAgICAgewogICAgICAgICAg
IHB0cisrOyAgIC8qIENhbiB0cmVhdCBsaWtlICc6JyBhcyBmYXIgYXMgc3BhY2luZyBpcyBjb25j
ZXJuZWQgKi8KLSAgICAgICAgICBpZiAocHRyWzJdICE9ICc/JyB8fAorICAgICAgICAgIGlmIChw
dHIgKyAzID49IHBhdHRlcm5FbmQgfHwgcHRyWzJdICE9ICc/JyB8fAogICAgICAgICAgICAgIChw
dHJbM10gIT0gJz0nICYmIHB0clszXSAhPSAnIScgJiYgcHRyWzNdICE9ICc8JykgKQogICAgICAg
ICAgICAgewogICAgICAgICAgICAgcHRyICs9IDI7ICAgIC8qIFRvIGdldCByaWdodCBvZmZzZXQg
aW4gbWVzc2FnZSAqLwpAQCAtNDY2Myw3ICs0NzA1LDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikp
ICE9IDApCiAKICAgICAgICAgZm9yICg7OyBwdHIrKykKICAgICAgICAgICB7Ci0gICAgICAgICAg
YyA9ICpwdHI7CisgICAgICAgICAgYyA9IHB0ciA8IHBhdHRlcm5FbmQgPyAqcHRyIDogMDsKICAg
ICAgICAgICBzd2l0Y2ggKGMpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICBjYXNlICdpJzoK
QEAgLTQ4MzEsOSArNDg3Myw5IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgIC8q
IExlYXZlIHB0ciBhdCB0aGUgZmluYWwgY2hhcjsgZm9yIHJlYWRfcmVwZWF0X2NvdW50cyB0aGlz
IGhhcHBlbnMKICAgICBhdXRvbWF0aWNhbGx5OyBmb3IgdGhlIG90aGVycyB3ZSBuZWVkIGFuIGlu
Y3JlbWVudC4gKi8KIAotICAgIGlmICgoYyA9IHB0clsxXSkgPT0gJ3snICYmIGlzX2NvdW50ZWRf
cmVwZWF0KHB0cisyKSkKKyAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgKGMgPSBwdHJb
MV0pID09ICd7JyAmJiBpc19jb3VudGVkX3JlcGVhdChwdHIrMiwgcGF0dGVybkVuZCkpCiAgICAg
ICB7Ci0gICAgICBwdHIgPSByZWFkX3JlcGVhdF9jb3VudHMocHRyKzIsICZtaW4sICZtYXgsICZl
cnJvcmNvZGUpOworICAgICAgcHRyID0gcmVhZF9yZXBlYXRfY291bnRzKHB0cisyLCBwYXR0ZXJu
RW5kLCAmbWluLCAmbWF4LCAmZXJyb3Jjb2RlKTsKICAgICAgIGlmIChlcnJvcmNvZGUgIT0gMCkg
Z290byBQQ1JFX0VSUk9SX1JFVFVSTjsKICAgICAgIH0KICAgICBlbHNlIGlmIChjID09ICcqJykg
eyBtaW4gPSAwOyBtYXggPSAtMTsgcHRyKys7IH0KQEAgLTQ4NjgsNyArNDkxMCw3IEBAIHdoaWxl
ICgoYyA9ICooKytwdHIpKSAhPSAwKQogCiAgICAgLyogQWxsb3cgc3BhY2UgZm9yIG9uY2UgYnJh
Y2tldHMgZm9yICJwb3NzZXNzaXZlIHF1YW50aWZpZXIiICovCiAKLSAgICBpZiAocHRyWzFdID09
ICcrJykKKyAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICcrJykKICAg
ICAgIHsKICAgICAgIHB0cisrOwogICAgICAgbGVuZ3RoICs9IDIgKyAyKkxJTktfU0laRTsKQEAg
LTQ4ODIsNyArNDkyNCw3IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgIGRlZmF1
bHQ6CiAgICAgTk9STUFMX0NIQVI6CiAKLSAgICBpZiAoaW5lc2NxICYmIGMgPT0gJ1xcJyAmJiBw
dHJbMV0gPT0gJ0UnKQorICAgIGlmIChpbmVzY3EgJiYgYyA9PSAnXFwnICYmIHB0ciArIDEgPCBw
YXR0ZXJuRW5kICYmIHB0clsxXSA9PSAnRScpCiAgICAgICB7CiAgICAgICBpbmVzY3EgPSBGQUxT
RTsKICAgICAgIHB0cisrOwpAQCAtNDg5OSw3ICs0OTQxLDcgQEAgd2hpbGUgKChjID0gKigrK3B0
cikpICE9IDApCiAgICAgICB7CiAgICAgICAgIGlmIChJU19MRUFESU5HX1NVUlJPR0FURShjKSkK
ICAgICAgICAgICB7Ci0gICAgICAgICAgYyA9IERFQ09ERV9TVVJST0dBVEVfUEFJUihjLCAqcHRy
KTsKKyAgICAgICAgICBjID0gREVDT0RFX1NVUlJPR0FURV9QQUlSKGMsIHB0ciA8IHBhdHRlcm5F
bmQgPyAqcHRyIDogMCk7CiAgICAgICAgICAgKytwdHI7CiAgICAgICAgICAgfQogCkBAIC00OTE1
LDcgKzQ5NTcsNyBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKICNpZmRlZiBTVVBQT1JU
X1VURjgKICAgICBpZiAodXRmOCAmJiAoYyAmIDB4YzApID09IDB4YzApCiAgICAgICB7Ci0gICAg
ICB3aGlsZSAoKHB0clsxXSAmIDB4YzApID09IDB4ODApICAgICAgICAgLyogQ2FuJ3QgZmxvdyBv
dmVyIHRoZSBlbmQgKi8KKyAgICAgIHdoaWxlIChwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiAocHRy
WzFdICYgMHhjMCkgPT0gMHg4MCkgICAgICAgICAvKiBDYW4ndCBmbG93IG92ZXIgdGhlIGVuZCAq
LwogICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGJlY2F1
c2UgdGhlIGVuZCBpcyBtYXJrZWQgKi8KICAgICAgICAgbGFzdGl0ZW1sZW5ndGgrKzsgICAgICAg
ICAgICAgICAgICAgICAvKiBieSBhIHplcm8gYnl0ZS4gKi8KICAgICAgICAgbGVuZ3RoKys7CkBA
IC00OTg4LDcgKzUwMzAsNyBAQCBwdHIgPSAoY29uc3QgcGNyZV91Y2hhciAqKXBhdHRlcm47CiBj
b2RlID0gKHVzY2hhciAqKWNvZGVzdGFydDsKICpjb2RlID0gT1BfQlJBOwogYnJhY291bnQgPSAw
OwotKHZvaWQpY29tcGlsZV9yZWdleChvcHRpb25zLCBvcHRpb25zICYgUENSRV9JTVMsICZicmFj
b3VudCwgJmNvZGUsICZwdHIsCisodm9pZCljb21waWxlX3JlZ2V4KG9wdGlvbnMsIG9wdGlvbnMg
JiBQQ1JFX0lNUywgJmJyYWNvdW50LCAmY29kZSwgJnB0ciwgcGF0dGVybkVuZCwKICAgJmVycm9y
Y29kZSwgRkFMU0UsIDAsICZmaXJzdGJ5dGUsICZyZXFieXRlLCBOVUxMLCAmY29tcGlsZV9ibG9j
ayk7CiByZS0+dG9wX2JyYWNrZXQgPSBicmFjb3VudDsKIHJlLT50b3BfYmFja3JlZiA9IGNvbXBp
bGVfYmxvY2sudG9wX2JhY2tyZWY7CkBAIC00OTk3LDcgKzUwMzksNyBAQCBpZiAoY29tcGlsZV9i
bG9jay5ub3BhcnRpYWwpIHJlLT5vcHRpb25zCiAKIC8qIElmIG5vdCByZWFjaGVkIGVuZCBvZiBw
YXR0ZXJuIG9uIHN1Y2Nlc3MsIHRoZXJlJ3MgYW4gZXhjZXNzIGJyYWNrZXQuICovCiAKLWlmIChl
cnJvcmNvZGUgPT0gMCAmJiAqcHRyICE9IDApIGVycm9yY29kZSA9IEVSUjIyOworaWYgKGVycm9y
Y29kZSA9PSAwICYmIHB0ciA8IHBhdHRlcm5FbmQpIGVycm9yY29kZSA9IEVSUjIyOwogCiAvKiBG
aWxsIGluIHRoZSB0ZXJtaW5hdGluZyBzdGF0ZSBhbmQgY2hlY2sgZm9yIGRpc2FzdHJvdXMgb3Zl
cmZsb3csIGJ1dAogaWYgZGVidWdnaW5nLCBsZWF2ZSB0aGUgdGVzdCB0aWxsIGFmdGVyIHRoaW5n
cyBhcmUgcHJpbnRlZCBvdXQuICovCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL1JlZ3VsYXJFeHBy
ZXNzaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1JlZ3VsYXJFeHByZXNz
aW9uLmNwcAkocmV2aXNpb24gMTg0NTcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL1JlZ3VsYXJFeHBy
ZXNzaW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAzLDkgKzEwMyw3IEBAIHZvaWQgUmVndWxh
ckV4cHJlc3Npb246OlByaXZhdGU6OmNvbXBpbGUKICAgICAKICAgICBjb25zdCBjaGFyICplcnJv
ck1lc3NhZ2U7CiAgICAgaW50IGVycm9yT2Zmc2V0OwotICAgIGNoYXIgbnVsbCA9IDA7Ci0gICAg
cC5hcHBlbmQobnVsbCk7Ci0gICAgcmVnZXggPSBwY3JlX2NvbXBpbGUocmVpbnRlcnByZXRfY2Fz
dDxjb25zdCB1aW50MTZfdCAqPihwLnVuaWNvZGUoKSksIGNhc2VTZW5zaXRpdmUgPyAwIDogUENS
RV9DQVNFTEVTUywgJmVycm9yTWVzc2FnZSwgJmVycm9yT2Zmc2V0LCBOVUxMKTsKKyAgICByZWdl
eCA9IHBjcmVfY29tcGlsZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQxNl90ICo+KHAudW5p
Y29kZSgpKSwgcC5sZW5ndGgoKSwgY2FzZVNlbnNpdGl2ZSA/IDAgOiBQQ1JFX0NBU0VMRVNTLCAm
ZXJyb3JNZXNzYWdlLCAmZXJyb3JPZmZzZXQsIE5VTEwpOwogICAgIGlmIChyZWdleCA9PSBOVUxM
KSB7CiAgICAgICAgIExPR19FUlJPUigiUmVndWxhckV4cHJlc3Npb246IHBjcmVfY29tcGlsZSBm
YWlsZWQgd2l0aCAnJXMnIiwgZXJyb3JNZXNzYWdlKTsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12092</attachid>
            <date>2006-12-28 17:24:59 -0800</date>
            <delta_ts>2006-12-29 08:16:55 -0800</delta_ts>
            <desc>pcre changes, refined</desc>
            <filename>11849_pcre_r2.patch</filename>
            <type>text/plain</type>
            <size>38133</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9yZWdleHAuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFT
Y3JpcHRDb3JlL2tqcy9yZWdleHAuY3BwCShyZXZpc2lvbiAxODQ1NykKKysrIEphdmFTY3JpcHRD
b3JlL2tqcy9yZWdleHAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NywxNSArNDcsMTIgQEAgUmVn
RXhwOjpSZWdFeHAoY29uc3QgVVN0cmluZyAmcCwgaW50IGZsYQogICBjb25zdCBjaGFyICplcnJv
ck1lc3NhZ2U7CiAgIGludCBlcnJvck9mZnNldDsKICAgCi0gIFVTdHJpbmcgcGF0dGVybihwKTsK
LSAgCi0gIHBhdHRlcm4uYXBwZW5kKCdcMCcpOwotICBtX3JlZ2V4ID0gcGNyZV9jb21waWxlKHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDE2X3QqPihwYXR0ZXJuLmRhdGEoKSksCisgIG1fcmVn
ZXggPSBwY3JlX2NvbXBpbGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50MTZfdCo+KHAuZGF0
YSgpKSwgcC5zaXplKCksCiAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLCAmZXJyb3JN
ZXNzYWdlLCAmZXJyb3JPZmZzZXQsIE5VTEwpOwogICBpZiAoIW1fcmVnZXgpIHsKICAgICAvLyBU
cnkgYWdhaW4sIHRoaXMgdGltZSBoYW5kbGUgYW55IFx1IHdlIG1pZ2h0IGZpbmQuCi0gICAgVVN0
cmluZyB1UGF0dGVybiA9IHNhbml0aXplUGF0dGVybihwYXR0ZXJuKTsKLSAgICBtX3JlZ2V4ID0g
cGNyZV9jb21waWxlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDE2X3QqPih1UGF0dGVybi5k
YXRhKCkpLAorICAgIFVTdHJpbmcgdVBhdHRlcm4gPSBzYW5pdGl6ZVBhdHRlcm4ocCk7CisgICAg
bV9yZWdleCA9IHBjcmVfY29tcGlsZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQxNl90Kj4o
dVBhdHRlcm4uZGF0YSgpKSwgdVBhdHRlcm4uc2l6ZSgpLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICBvcHRpb25zLCAmZXJyb3JNZXNzYWdlLCAmZXJyb3JPZmZzZXQsIE5VTEwpOwogICAgIGlm
ICghbV9yZWdleCkgewogICAgICAgbV9jb25zdHJ1Y3Rpb25FcnJvciA9IHN0cmR1cChlcnJvck1l
c3NhZ2UpOwpJbmRleDogSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlLmgJKHJldmlzaW9uIDE4NDU3KQorKysgSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzNyw5ICsyMzcsOSBAQCBQQ1JF
X0RBVEFfU0NPUEUgaW50ICAgcGNyZV9jYWxsb3V0KHBjcmVfCiAKIC8qIEV4cG9ydGVkIFBDUkUg
ZnVuY3Rpb25zICovCiAKLVBDUkVfREFUQV9TQ09QRSBwY3JlICpwY3JlX2NvbXBpbGUoY29uc3Qg
cGNyZV9jaGFyICosIGludCwgY29uc3QgY2hhciAqKiwgaW50ICosCitQQ1JFX0RBVEFfU0NPUEUg
cGNyZSAqcGNyZV9jb21waWxlKGNvbnN0IHBjcmVfY2hhciAqLCBpbnQsIGludCwgY29uc3QgY2hh
ciAqKiwgaW50ICosCiAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICopOwot
UENSRV9EQVRBX1NDT1BFIHBjcmUgKnBjcmVfY29tcGlsZTIoY29uc3QgcGNyZV9jaGFyICosIGlu
dCwgaW50ICosIGNvbnN0IGNoYXIgKiosCitQQ1JFX0RBVEFfU0NPUEUgcGNyZSAqcGNyZV9jb21w
aWxlMihjb25zdCBwY3JlX2NoYXIgKiwgaW50LCBpbnQsIGludCAqLCBjb25zdCBjaGFyICoqLAog
ICAgICAgICAgICAgICAgICAgaW50ICosIGNvbnN0IHVuc2lnbmVkIGNoYXIgKik7CiBQQ1JFX0RB
VEFfU0NPUEUgaW50ICBwY3JlX2NvbmZpZyhpbnQsIHZvaWQgKik7CiBQQ1JFX0RBVEFfU0NPUEUg
aW50ICBwY3JlX2NvcHlfbmFtZWRfc3Vic3RyaW5nKGNvbnN0IHBjcmUgKiwgY29uc3QgcGNyZV9j
aGFyICosCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmVfY29tcGlsZS5jCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIEphdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9jb21waWxlLmMJKHJldmlzaW9uIDE4NDU3
KQorKysgSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlX2NvbXBpbGUuYwkod29ya2luZyBjb3B5KQpA
QCAtMzQ2LDcgKzM0Niw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGViY2RpY19jaGFy
dGEKIC8qIERlZmluaXRpb24gdG8gYWxsb3cgbXV0dWFsIHJlY3Vyc2lvbiAqLwogCiBzdGF0aWMg
Qk9PTAotICBjb21waWxlX3JlZ2V4KGludCwgaW50LCBpbnQgKiwgdXNjaGFyICoqLCBjb25zdCBw
Y3JlX3VjaGFyICoqLCBpbnQgKiwgQk9PTCwgaW50LAorICBjb21waWxlX3JlZ2V4KGludCwgaW50
LCBpbnQgKiwgdXNjaGFyICoqLCBjb25zdCBwY3JlX3VjaGFyICoqLCBjb25zdCBwY3JlX3VjaGFy
IGNvbnN0KiwgaW50ICosIEJPT0wsIGludCwKICAgICBpbnQgKiwgaW50ICosIGJyYW5jaF9jaGFp
biAqLCBjb21waWxlX2RhdGEgKik7CiAKIApAQCAtMzc0LDcgKzM3NCw3IEBAIFJldHVybnM6ICAg
ICAgICAgemVybyBvciBwb3NpdGl2ZSA9PiBhIGQKICovCiAKIHN0YXRpYyBpbnQKLWNoZWNrX2Vz
Y2FwZShjb25zdCBwY3JlX3VjaGFyICoqcHRycHRyLCBpbnQgKmVycm9yY29kZXB0ciwgaW50IGJy
YWNvdW50LAorY2hlY2tfZXNjYXBlKGNvbnN0IHBjcmVfdWNoYXIgKipwdHJwdHIsIGNvbnN0IHBj
cmVfdWNoYXIgY29uc3QqIHBhdHRlcm5FbmQsIGludCAqZXJyb3Jjb2RlcHRyLCBpbnQgYnJhY291
bnQsCiAgIGludCBvcHRpb25zLCBCT09MIGlzY2xhc3MpCiB7CiBjb25zdCBwY3JlX3VjaGFyICpw
dHIgPSAqcHRycHRyOwpAQCAtMzgyLDE5ICszODIsMjQgQEAgaW50IGMsIGk7CiAKIC8qIElmIGJh
Y2tzbGFzaCBpcyBhdCB0aGUgZW5kIG9mIHRoZSBwYXR0ZXJuLCBpdCdzIGFuIGVycm9yLiAqLwog
Ci1jID0gKigrK3B0cik7Ci1pZiAoYyA9PSAwKSAqZXJyb3Jjb2RlcHRyID0gRVJSMTsKK2lmICgr
K3B0ciA9PSBwYXR0ZXJuRW5kKSB7CisgICAgKmVycm9yY29kZXB0ciA9IEVSUjE7CisgICAgKnB0
cnB0ciA9IHB0cjsKKyAgICByZXR1cm4gMDsKK30KKworYyA9ICpwdHI7CiAKIC8qIE5vbi1hbHBo
YW1lcmljcyBhcmUgbGl0ZXJhbHMuIEZvciBkaWdpdHMgb3IgbGV0dGVycywgZG8gYW4gaW5pdGlh
bCBsb29rdXAgaW4KIGEgdGFibGUuIEEgbm9uLXplcm8gcmVzdWx0IGlzIHNvbWV0aGluZyB0aGF0
IGNhbiBiZSByZXR1cm5lZCBpbW1lZGlhdGVseS4KIE90aGVyd2lzZSBmdXJ0aGVyIHByb2Nlc3Np
bmcgbWF5IGJlIHJlcXVpcmVkLiAqLwogCiAjaWYgIUVCQ0RJQyAgICAvKiBBU0NJSSBjb2Rpbmcg
Ki8KLWVsc2UgaWYgKGMgPCAnMCcgfHwgYyA+ICd6Jykge30gICAgICAgICAgICAgICAgICAgICAg
ICAgICAvKiBOb3QgYWxwaGFtZXJpYyAqLworaWYgKGMgPCAnMCcgfHwgYyA+ICd6Jykge30gICAg
ICAgICAgICAgICAgICAgICAgICAgICAvKiBOb3QgYWxwaGFtZXJpYyAqLwogZWxzZSBpZiAoKGkg
PSBlc2NhcGVzW2MgLSAnMCddKSAhPSAwKSBjID0gaTsKIAogI2Vsc2UgICAgICAgICAgLyogRUJD
RElDIGNvZGluZyAqLwotZWxzZSBpZiAoYyA8ICdhJyB8fCAoZWJjZGljX2NoYXJ0YWJbY10gJiAw
eDBFKSA9PSAwKSB7fSAgIC8qIE5vdCBhbHBoYW1lcmljICovCitpZiAoYyA8ICdhJyB8fCAoZWJj
ZGljX2NoYXJ0YWJbY10gJiAweDBFKSA9PSAwKSB7fSAgIC8qIE5vdCBhbHBoYW1lcmljICovCiBl
bHNlIGlmICgoaSA9IGVzY2FwZXNbYyAtIDB4NDhdKSAhPSAwKSAgYyA9IGk7CiAjZW5kaWYKIApA
QCAtNDM1LDcgKzQ0MCw3IEBAIGVsc2UKICAgICAgIHsKICAgICAgIG9sZHB0ciA9IHB0cjsKICAg
ICAgIGMgLT0gJzAnOwotICAgICAgd2hpbGUgKChESUdJVEFCKHB0clsxXSkgJiBjdHlwZV9kaWdp
dCkgIT0gMCkKKyAgICAgIHdoaWxlIChwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiAoRElHSVRBQihw
dHJbMV0pICYgY3R5cGVfZGlnaXQpICE9IDApCiAgICAgICAgIGMgPSBjICogMTAgKyAqKCsrcHRy
KSAtICcwJzsKICAgICAgIGlmIChjIDwgMTAgfHwgYyA8PSBicmFjb3VudCkKICAgICAgICAgewpA
QCAtNDYxLDcgKzQ2Niw3IEBAIGVsc2UKIAogICAgIGNhc2UgJzAnOgogICAgIGMgLT0gJzAnOwot
ICAgIHdoaWxlKGkrKyA8IDIgJiYgcHRyWzFdID49ICcwJyAmJiBwdHJbMV0gPD0gJzcnKQorICAg
IHdoaWxlIChpKysgPCAyICYmIHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIHB0clsxXSA+PSAnMCcg
JiYgcHRyWzFdIDw9ICc3JykKICAgICAgICAgYyA9IGMgKiA4ICsgKigrK3B0cikgLSAnMCc7CiAg
ICAgYyAmPSAyNTU7ICAgICAvKiBUYWtlIGxlYXN0IHNpZ25pZmljYW50IDggYml0cyAqLwogICAg
IGJyZWFrOwpAQCAtNDcxLDEyICs0NzYsMTIgQEAgZWxzZQogCiAgICAgY2FzZSAneCc6CiAjaWZk
ZWYgU1VQUE9SVF9VVEY4Ci0gICAgaWYgKHB0clsxXSA9PSAneycgJiYgKG9wdGlvbnMgJiBQQ1JF
X1VURjgpICE9IDApCisgICAgaWYgKHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIHB0clsxXSA9PSAn
eycgJiYgKG9wdGlvbnMgJiBQQ1JFX1VURjgpICE9IDApCiAgICAgICB7CiAgICAgICBjb25zdCBw
Y3JlX3VjaGFyICpwdCA9IHB0ciArIDI7CiAgICAgICByZWdpc3RlciBpbnQgY291bnQgPSAwOwog
ICAgICAgYyA9IDA7Ci0gICAgICB3aGlsZSAoKERJR0lUQUIoKnB0KSAmIGN0eXBlX3hkaWdpdCkg
IT0gMCkKKyAgICAgIHdoaWxlIChwdCA8IHBhdHRlcm5FbmQgJiYgKERJR0lUQUIoKnB0KSAmIGN0
eXBlX3hkaWdpdCkgIT0gMCkKICAgICAgICAgewogICAgICAgICBpbnQgY2MgPSAqcHQrKzsKICAg
ICAgICAgY291bnQrKzsKQEAgLTQ4OCw3ICs0OTMsNyBAQCBlbHNlCiAgICAgICAgIGMgPSBjICog
MTYgKyBjYyAtICgoY2MgPj0gJzAnKT8gJzAnIDogKCdBJyAtIDEwKSk7CiAjZW5kaWYKICAgICAg
ICAgfQotICAgICAgaWYgKCpwdCA9PSAnfScpCisgICAgICBpZiAocHQgPCBwYXR0ZXJuRW5kICYm
ICpwdCA9PSAnfScpCiAgICAgICAgIHsKICAgICAgICAgaWYgKGMgPCAwIHx8IGNvdW50ID4gOCB8
fCAoYyA+PSAweGQ4MDAgJiYgYyA8PSAweGRiZmYpIHx8IChjID49IDB4ZmRkMCAmJiBjIDw9IDB4
ZmRlZikgfHwgYyA9PSAweGZmZmUgfHwgYyA9PSAweGZmZmYgfHwgYyA+IDB4MTBGRkZGKSAqZXJy
b3Jjb2RlcHRyID0gRVJSMzQ7CiAgICAgICAgIHB0ciA9IHB0OwpAQCAtNTAyLDcgKzUwNyw3IEBA
IGVsc2UKICAgICAvKiBSZWFkIGp1c3QgYSBzaW5nbGUgaGV4IGNoYXIgKi8KIAogICAgIGMgPSAw
OwotICAgIHdoaWxlIChpKysgPCAyICYmIChESUdJVEFCKHB0clsxXSkgJiBjdHlwZV94ZGlnaXQp
ICE9IDApCisgICAgd2hpbGUgKGkrKyA8IDIgJiYgcHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgKERJ
R0lUQUIocHRyWzFdKSAmIGN0eXBlX3hkaWdpdCkgIT0gMCkKICAgICAgIHsKICAgICAgIGludCBj
YzsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogU29tZSBjb21waWxlcnMgZG9uJ3Qg
bGlrZSArKyAqLwogICAgICAgY2MgPSAqKCsrcHRyKTsgICAgICAgICAgICAgICAgICAgICAgICAv
KiBpbiBpbml0aWFsaXplcnMgKi8KQEAgLTUxOSwxMiArNTI0LDEyIEBAIGVsc2UKICAgICAvKiBP
dGhlciBzcGVjaWFsIGVzY2FwZXMgbm90IHN0YXJ0aW5nIHdpdGggYSBkaWdpdCBhcmUgc3RyYWln
aHRmb3J3YXJkICovCiAKICAgICBjYXNlICdjJzoKLSAgICBjID0gKigrK3B0cik7Ci0gICAgaWYg
KGMgPT0gMCkKKyAgICBpZiAoKytwdHIgPT0gcGF0dGVybkVuZCkKICAgICAgIHsKICAgICAgICpl
cnJvcmNvZGVwdHIgPSBFUlIyOwogICAgICAgcmV0dXJuIDA7CiAgICAgICB9CisgICAgYyA9ICpw
dHI7CiAKICAgICAvKiBBIGxldHRlciBpcyB1cHBlci1jYXNlZDsgdGhlbiB0aGUgMHg0MCBiaXQg
aXMgZmxpcHBlZC4gVGhpcyBjb2RpbmcKICAgICBpcyBBU0NJSS1zcGVjaWZpYywgYnV0IHRoZW4g
dGhlIHdob2xlIGNvbmNlcHQgb2YgXGN4IGlzIEFTQ0lJLXNwZWNpZmljLgpAQCAtNTgxLDE0ICs1
ODYsMTQgQEAgUmV0dXJuczogICAgIHZhbHVlIGZyb20gdWNwX3R5cGVfdGFibGUsIAogKi8KIAog
c3RhdGljIGludAotZ2V0X3VjcChjb25zdCBwY3JlX3VjaGFyICoqcHRycHRyLCBCT09MICpuZWdw
dHIsIGludCAqZXJyb3Jjb2RlcHRyKQorZ2V0X3VjcChjb25zdCBwY3JlX3VjaGFyICoqcHRycHRy
LCBjb25zdCBwY3JlX3VjaGFyIGNvbnN0KiBwYXR0ZXJuRW5kLCBCT09MICpuZWdwdHIsIGludCAq
ZXJyb3Jjb2RlcHRyKQogewogaW50IGMsIGksIGJvdCwgdG9wOwogY29uc3QgcGNyZV91Y2hhciAq
cHRyID0gKnB0cnB0cjsKIGNoYXIgbmFtZVs0XTsKIAotYyA9ICooKytwdHIpOwotaWYgKGMgPT0g
MCkgZ290byBFUlJPUl9SRVRVUk47CitpZiAoKytwdHIgPT0gcGF0dGVybkVuZCkgZ290byBFUlJP
Ul9SRVRVUk47CitjID0gKnB0cjsKIAogKm5lZ3B0ciA9IEZBTFNFOwogCkBAIC01OTcsMjIgKzYw
MiwyMyBAQCBwcmVjZWRlZCBieSBeIGZvciBuZWdhdGlvbi4gKi8KIAogaWYgKGMgPT0gJ3snKQog
ICB7Ci0gIGlmIChwdHJbMV0gPT0gJ14nKQorICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYg
cHRyWzFdID09ICdeJykKICAgICB7CiAgICAgKm5lZ3B0ciA9IFRSVUU7CiAgICAgcHRyKys7CiAg
ICAgfQogICBmb3IgKGkgPSAwOyBpIDw9IDI7IGkrKykKICAgICB7Ci0gICAgYyA9ICooKytwdHIp
OwotICAgIGlmIChjID09IDApIGdvdG8gRVJST1JfUkVUVVJOOworICAgIGlmICgrK3B0ciA9PSBw
YXR0ZXJuRW5kKSBnb3RvIEVSUk9SX1JFVFVSTjsKKyAgICBjID0gKnB0cjsKICAgICBpZiAoYyA9
PSAnfScpIGJyZWFrOwogICAgIGlmIChjID4gMTI3KSBnb3RvIEVSUk9SX1JFVFVSTjsKICAgICBu
YW1lW2ldID0gYzsKICAgICB9CiAgIGlmIChjICE9J30nKSAgIC8qIFRyeSB0byBkaXN0aW5ndWlz
aCBlcnJvciBjYXNlcyAqLwogICAgIHsKLSAgICB3aGlsZSAoKigrK3B0cikgIT0gMCAmJiAqcHRy
ICE9ICd9Jyk7CisgICAgd2hpbGUgKCsrcHRyIDwgcGF0dGVybkVuZCAmJiAqcHRyICE9ICd9JykK
KyAgICAgICAgOwogICAgIGlmICgqcHRyID09ICd9JykgZ290byBVTktOT1dOX1JFVFVSTjsgZWxz
ZSBnb3RvIEVSUk9SX1JFVFVSTjsKICAgICB9CiAgIG5hbWVbaV0gPSAwOwpAQCAtNjczLDIxICs2
NzksMjggQEAgUmV0dXJuczogICAgVFJVRSBvciBGQUxTRQogKi8KIAogc3RhdGljIEJPT0wKLWlz
X2NvdW50ZWRfcmVwZWF0KGNvbnN0IHBjcmVfdWNoYXIgKnApCitpc19jb3VudGVkX3JlcGVhdChj
b25zdCBwY3JlX3VjaGFyICpwLCBjb25zdCBwY3JlX3VjaGFyIGNvbnN0KiBwYXR0ZXJuRW5kKQog
ewotaWYgKChESUdJVEFCKCpwKSAmIGN0eXBlX2RpZ2l0KSA9PSAwKSByZXR1cm4gRkFMU0U7Citp
ZiAocCA+PSBwYXR0ZXJuRW5kIHx8IChESUdJVEFCKCpwKSAmIGN0eXBlX2RpZ2l0KSA9PSAwKQor
ICAgIHJldHVybiBGQUxTRTsKIHArKzsKLXdoaWxlICgoRElHSVRBQigqcCkgJiBjdHlwZV9kaWdp
dCkgIT0gMCkgcCsrOwotaWYgKCpwID09ICd9JykgcmV0dXJuIFRSVUU7Cit3aGlsZSAocCA8IHBh
dHRlcm5FbmQgJiYgKERJR0lUQUIoKnApICYgY3R5cGVfZGlnaXQpICE9IDApCisgICAgcCsrOwor
aWYgKHAgPCBwYXR0ZXJuRW5kICYmICpwID09ICd9JykKKyAgICByZXR1cm4gVFJVRTsKIAotaWYg
KCpwKysgIT0gJywnKSByZXR1cm4gRkFMU0U7Ci1pZiAoKnAgPT0gJ30nKSByZXR1cm4gVFJVRTsK
K2lmIChwID49IHBhdHRlcm5FbmQgfHwgKnArKyAhPSAnLCcpCisgICAgcmV0dXJuIEZBTFNFOwor
aWYgKHAgPCBwYXR0ZXJuRW5kICYmICpwID09ICd9JykKKyAgICByZXR1cm4gVFJVRTsKIAotaWYg
KChESUdJVEFCKCpwKSAmIGN0eXBlX2RpZ2l0KSA9PSAwKSByZXR1cm4gRkFMU0U7CitpZiAocCA+
PSBwYXR0ZXJuRW5kIHx8IChESUdJVEFCKCpwKSAmIGN0eXBlX2RpZ2l0KSA9PSAwKQorICAgIHJl
dHVybiBGQUxTRTsKIHArKzsKLXdoaWxlICgoRElHSVRBQigqcCkgJiBjdHlwZV9kaWdpdCkgIT0g
MCkgcCsrOword2hpbGUgKHAgPCBwYXR0ZXJuRW5kICYmIChESUdJVEFCKCpwKSAmIGN0eXBlX2Rp
Z2l0KSAhPSAwKQorICAgIHArKzsKIAotcmV0dXJuICgqcCA9PSAnfScpOworcmV0dXJuIChwIDwg
cGF0dGVybkVuZCAmJiAqcCA9PSAnfScpOwogfQogCiAKQEAgLTcxNywxOSArNzMwLDIzIEBAIHJl
YWRfcmVwZWF0X2NvdW50cyhjb25zdCBwY3JlX3VjaGFyICpwLCAKIGludCBtaW4gPSAwOwogaW50
IG1heCA9IC0xOwogCi13aGlsZSAoKERJR0lUQUIoKnApICYgY3R5cGVfZGlnaXQpICE9IDApIG1p
biA9IG1pbiAqIDEwICsgKnArKyAtICcwJzsKK3doaWxlICgoRElHSVRBQigqcCkgJiBjdHlwZV9k
aWdpdCkgIT0gMCkKKyAgICBtaW4gPSBtaW4gKiAxMCArICpwKysgLSAnMCc7CiBpZiAobWluIDwg
MCB8fCBtaW4gPiA2NTUzNSkKICAgewogICAgICplcnJvcmNvZGVwdHIgPSBFUlI1OwogICAgIHJl
dHVybiBwOwogICB9CiAKLWlmICgqcCA9PSAnfScpIG1heCA9IG1pbjsgZWxzZQoraWYgKCpwID09
ICd9JykKKyAgICBtYXggPSBtaW47CitlbHNlCiAgIHsKICAgaWYgKCooKytwKSAhPSAnfScpCiAg
ICAgewogICAgIG1heCA9IDA7Ci0gICAgd2hpbGUoKERJR0lUQUIoKnApICYgY3R5cGVfZGlnaXQp
ICE9IDApIG1heCA9IG1heCAqIDEwICsgKnArKyAtICcwJzsKKyAgICB3aGlsZSgoRElHSVRBQigq
cCkgJiBjdHlwZV9kaWdpdCkgIT0gMCkKKyAgICAgICAgbWF4ID0gbWF4ICogMTAgKyAqcCsrIC0g
JzAnOwogICAgIGlmIChtYXggPCAwIHx8IG1heCA+IDY1NTM1KQogICAgIHsKICAgICAgICAgKmVy
cm9yY29kZXB0ciA9IEVSUjU7CkBAIC0xMzQzLDE0ICsxMzYwLDE2IEBAIEFyZ3VtZW50OgogUmV0
dXJuczogICBUUlVFIG9yIEZBTFNFCiAqLwogCisvLyBGSVhNRTogSSBkb24ndCB0aGluayB0aGlz
IHJlYWxseSB3b3JrZWQgZm9yICJbXDBqdW5rIgkJPC0tIHRoaXMgdGFiIGlzIGEgY29tbWl0IGd1
YXJkIQogc3RhdGljIEJPT0wKLWNoZWNrX3Bvc2l4X3N5bnRheChjb25zdCBwY3JlX3VjaGFyICpw
dHIsIGNvbnN0IHBjcmVfdWNoYXIgKiplbmRwdHIsIGNvbXBpbGVfZGF0YSAqY2QpCitjaGVja19w
b3NpeF9zeW50YXgoY29uc3QgcGNyZV91Y2hhciAqcHRyLCBjb25zdCBwY3JlX3VjaGFyIGNvbnN0
ICpwYXR0ZXJuRW5kLCBjb25zdCBwY3JlX3VjaGFyICoqZW5kcHRyLCBjb21waWxlX2RhdGEgKmNk
KQogewogaW50IHRlcm1pbmF0b3I7ICAgICAgICAgIC8qIERvbid0IGNvbWJpbmUgdGhlc2UgbGlu
ZXM7IHRoZSBTb2xhcmlzIGNjICovCiB0ZXJtaW5hdG9yID0gKigrK3B0cik7ICAgLyogY29tcGls
ZXIgd2FybnMgYWJvdXQgIm5vbi1jb25zdGFudCIgaW5pdGlhbGl6ZXIuICovCiBpZiAoKigrK3B0
cikgPT0gJ14nKSBwdHIrKzsKLXdoaWxlICgoQ1RZUEVTKGNkLCAqcHRyKSAmIGN0eXBlX2xldHRl
cikgIT0gMCkgcHRyKys7Ci1pZiAoKnB0ciA9PSB0ZXJtaW5hdG9yICYmIHB0clsxXSA9PSAnXScp
Cit3aGlsZSAocHRyIDwgcGF0dGVybkVuZCAmJiAoQ1RZUEVTKGNkLCAqcHRyKSAmIGN0eXBlX2xl
dHRlcikgIT0gMCkKKyAgICBwdHIrKzsKK2lmIChwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiAqcHRy
ID09IHRlcm1pbmF0b3IgJiYgcHRyWzFdID09ICddJykKICAgewogICAqZW5kcHRyID0gcHRyOwog
ICByZXR1cm4gVFJVRTsKQEAgLTE1NzAsNyArMTU4OSw3IEBAIFJldHVybnM6ICAgICAgICAgVFJV
RSBvbiBzdWNjZXNzCiAKIHN0YXRpYyBCT09MCiBjb21waWxlX2JyYW5jaChpbnQgKm9wdGlvbnNw
dHIsIGludCAqYnJhY2tldHMsIHVzY2hhciAqKmNvZGVwdHIsCi0gIGNvbnN0IHBjcmVfdWNoYXIg
KipwdHJwdHIsIGludCAqZXJyb3Jjb2RlcHRyLCBpbnQgKmZpcnN0Ynl0ZXB0ciwKKyAgY29uc3Qg
cGNyZV91Y2hhciAqKnB0cnB0ciwgY29uc3QgcGNyZV91Y2hhciBjb25zdCogcGF0dGVybkVuZCwg
aW50ICplcnJvcmNvZGVwdHIsIGludCAqZmlyc3RieXRlcHRyLAogICBpbnQgKnJlcWJ5dGVwdHIs
IGJyYW5jaF9jaGFpbiAqYmNwdHIsIGNvbXBpbGVfZGF0YSAqY2QpCiB7CiBpbnQgcmVwZWF0X3R5
cGUsIG9wX3R5cGU7CkBAIC0xNjQ2LDExICsxNjY1LDExIEBAIGZvciAoOzsgcHRyKyspCiAKICAg
LyogTmV4dCBieXRlIGluIHRoZSBwYXR0ZXJuICovCiAKLSAgYyA9ICpwdHI7CisgIGMgPSBwdHIg
PCBwYXR0ZXJuRW5kID8gKnB0ciA6IDA7CiAKICAgLyogSWYgaW4gXFEuLi5cRSwgY2hlY2sgZm9y
IHRoZSBlbmQ7IGlmIG5vdCwgd2UgaGF2ZSBhIGxpdGVyYWwgKi8KIAotICBpZiAoaW5lc2NxICYm
IGMgIT0gMCkKKyAgaWYgKGluZXNjcSAmJiBwdHIgPCBwYXR0ZXJuRW5kKQogICAgIHsKICAgICBp
ZiAoYyA9PSAnXFwnICYmIHB0clsxXSA9PSAnRScpCiAgICAgICB7CkBAIC0xNjc4LDcgKzE2OTcs
NyBAQCBmb3IgKDs7IHB0cisrKQogICBhIHF1YW50aWZpZXIuICovCiAKICAgaXNfcXVhbnRpZmll
ciA9IGMgPT0gJyonIHx8IGMgPT0gJysnIHx8IGMgPT0gJz8nIHx8Ci0gICAgKGMgPT0gJ3snICYm
IGlzX2NvdW50ZWRfcmVwZWF0KHB0cisxKSk7CisgICAgKGMgPT0gJ3snICYmIGlzX2NvdW50ZWRf
cmVwZWF0KHB0cisxLCBwYXR0ZXJuRW5kKSk7CiAKICAgaWYgKCFpc19xdWFudGlmaWVyICYmIHBy
ZXZpb3VzX2NhbGxvdXQgIT0gTlVMTCAmJgogICAgICAgIGFmdGVyX21hbnVhbF9jYWxsb3V0LS0g
PD0gMCkKQEAgLTE2OTYsOCArMTcxNSwxMCBAQCBmb3IgKDs7IHB0cisrKQogICAgICAgewogICAg
ICAgLyogVGhlIHNwYWNlIGJlZm9yZSB0aGUgOyBpcyB0byBhdm9pZCBhIHdhcm5pbmcgb24gYSBz
aWxseSBjb21waWxlcgogICAgICAgb24gdGhlIE1hY2ludG9zaC4gKi8KLSAgICAgIHdoaWxlICgo
YyA9ICooKytwdHIpKSAhPSAwICYmIGMgIT0gTkVXTElORSkgOwotICAgICAgaWYgKGMgIT0gMCkg
Y29udGludWU7ICAgLyogRWxzZSBmYWxsIHRocm91Z2ggdG8gaGFuZGxlIGVuZCBvZiBzdHJpbmcg
Ki8KKyAgICAgIHdoaWxlICgrK3B0ciA8IHBhdHRlcm5FbmQgJiYgKGMgPSAqcHRyKSAhPSBORVdM
SU5FKQorICAgICAgICAgIDsKKyAgICAgIGlmIChwdHIgPCBwYXR0ZXJuRW5kKQorICAgICAgICAg
IGNvbnRpbnVlOyAgIC8qIEVsc2UgZmFsbCB0aHJvdWdoIHRvIGhhbmRsZSBlbmQgb2Ygc3RyaW5n
ICovCiAgICAgICB9CiAgICAgfQogCkBAIC0xNzE0LDYgKzE3MzUsOSBAQCBmb3IgKDs7IHB0cisr
KQogICAgIC8qIFRoZSBicmFuY2ggdGVybWluYXRlcyBhdCBlbmQgb2Ygc3RyaW5nLCB8LCBvciAp
LiAqLwogCiAgICAgY2FzZSAwOgorICAgICAgICBpZiAocHRyIDwgcGF0dGVybkVuZCkKKyAgICAg
ICAgICAgIGdvdG8gTk9STUFMX0NIQVI7CisgICAgICAgIC8vIEVuZCBvZiBzdHJpbmc7IGZhbGwg
dGhyb3VnaAogICAgIGNhc2UgJ3wnOgogICAgIGNhc2UgJyknOgogICAgICpmaXJzdGJ5dGVwdHIg
PSBmaXJzdGJ5dGU7CkBAIC0xNzY5LDcgKzE3OTMsNyBAQCBmb3IgKDs7IHB0cisrKQogICAgIHRo
ZXkgYXJlIGVuY291bnRlcmVkIGF0IHRoZSB0b3AgbGV2ZWwsIHNvIHdlJ2xsIGRvIHRoYXQgdG9v
LiAqLwogCiAgICAgaWYgKChwdHJbMV0gPT0gJzonIHx8IHB0clsxXSA9PSAnLicgfHwgcHRyWzFd
ID09ICc9JykgJiYKLSAgICAgICAgY2hlY2tfcG9zaXhfc3ludGF4KHB0ciwgJnRlbXBwdHIsIGNk
KSkKKyAgICAgICAgY2hlY2tfcG9zaXhfc3ludGF4KHB0ciwgcGF0dGVybkVuZCwgJnRlbXBwdHIs
IGNkKSkKICAgICAgIHsKICAgICAgICplcnJvcmNvZGVwdHIgPSAocHRyWzFdID09ICc6Jyk/IEVS
UjEzIDogRVJSMzE7CiAgICAgICBnb3RvIEZBSUxFRDsKQEAgLTE4MTYsNyArMTg0MCw3IEBAIGZv
ciAoOzsgcHRyKyspCiAgICAgICB7CiAjaWZkZWYgU1VQUE9SVF9VVEY4CiAgICAgICBpZiAodXRm
OCAmJiBjID4gMTI3KQotICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQnJh
Y2VzIGFyZSByZXF1aXJlZCBiZWNhdXNlIHRoZSAqLworICAgICAgICB7Ly8gRklYTUU6IEhhbGYg
YSBzdXJyb2dhdGUgcGFpciBmb2xsb3dlZCBieSBlbmQgb2Ygc3RyaW5nCTwtLSBndWFyZCAvKiBC
cmFjZXMgYXJlIHJlcXVpcmVkIGJlY2F1c2UgdGhlICovCiAgICAgICAgIEdFVENIQVJMRU4oYywg
cHRyLCBwdHIpOyAgICAvKiBtYWNybyBnZW5lcmF0ZXMgbXVsdGlwbGUgc3RhdGVtZW50cyAqLwog
ICAgICAgICB9CiAjZW5kaWYKQEAgLTE4NDIsNyArMTg2Niw3IEBAIGZvciAoOzsgcHRyKyspCiAK
ICAgICAgIGlmIChjID09ICdbJyAmJgogICAgICAgICAgIChwdHJbMV0gPT0gJzonIHx8IHB0clsx
XSA9PSAnLicgfHwgcHRyWzFdID09ICc9JykgJiYKLSAgICAgICAgICBjaGVja19wb3NpeF9zeW50
YXgocHRyLCAmdGVtcHB0ciwgY2QpKQorICAgICAgICAgIGNoZWNrX3Bvc2l4X3N5bnRheChwdHIs
IHBhdHRlcm5FbmQsICZ0ZW1wcHRyLCBjZCkpCiAgICAgICAgIHsKICAgICAgICAgQk9PTCBsb2Nh
bF9uZWdhdGUgPSBGQUxTRTsKICAgICAgICAgaW50IHBvc2l4X2NsYXNzLCBpLCBuYW1lbGVuOwpA
QCAtMTg4NCw3ICsxOTA4LDcgQEAgZm9yICg7OyBwdHIrKykKICAgICAgICAgcG9zaXhfY2xhc3Mg
Kj0gMzsKICAgICAgICAgZm9yIChpID0gMDsgaSA8IDM7IGkrKykKICAgICAgICAgICB7Ci0gICAg
ICAgICAgQk9PTCBibGFua2NsYXNzID0gU1RSRVFVQUwocHRyLCA1LCAiYmxhbmsiKTsKKyAgICAg
ICAgICBCT09MIGJsYW5rY2xhc3MgPSBwdHIgKyA1IDw9IHBhdHRlcm5FbmQgJiYgU1RSRVFVQUwo
cHRyLCA1LCAiYmxhbmsiKTsKICAgICAgICAgICBpbnQgdGFib2Zmc2V0ID0gcG9zaXhfY2xhc3Nf
bWFwc1twb3NpeF9jbGFzcyArIGldOwogICAgICAgICAgIGlmICh0YWJvZmZzZXQgPCAwKSBicmVh
azsKICAgICAgICAgICBpZiAobG9jYWxfbmVnYXRlKQpAQCAtMTkxNywxMyArMTk0MSwxMyBAQCBm
b3IgKDs7IHB0cisrKQogCiAgICAgICBpZiAoYyA9PSAnXFwnKQogICAgICAgICB7Ci0gICAgICAg
IGMgPSBjaGVja19lc2NhcGUoJnB0ciwgZXJyb3Jjb2RlcHRyLCAqYnJhY2tldHMsIG9wdGlvbnMs
IFRSVUUpOworICAgICAgICBjID0gY2hlY2tfZXNjYXBlKCZwdHIsIHBhdHRlcm5FbmQsIGVycm9y
Y29kZXB0ciwgKmJyYWNrZXRzLCBvcHRpb25zLCBUUlVFKTsKIAogICAgICAgICBpZiAoLWMgPT0g
RVNDX2IpIGMgPSAnXGInOyAgICAgICAvKiBcYiBpcyBiYWNrc2xhc2ggaW4gYSBjbGFzcyAqLwog
ICAgICAgICBlbHNlIGlmICgtYyA9PSBFU0NfWCkgYyA9ICdYJzsgICAvKiBcWCBpcyBsaXRlcmFs
IFggaW4gYSBjbGFzcyAqLwogICAgICAgICBlbHNlIGlmICgtYyA9PSBFU0NfUSkgICAgICAgICAg
ICAvKiBIYW5kbGUgc3RhcnQgb2YgcXVvdGVkIHN0cmluZyAqLwogICAgICAgICAgIHsKLSAgICAg
ICAgICBpZiAocHRyWzFdID09ICdcXCcgJiYgcHRyWzJdID09ICdFJykKKyAgICAgICAgICBpZiAo
cHRyICsgMiA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICdcXCcgJiYgcHRyWzJdID09ICdFJykK
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgIHB0ciArPSAyOyAvKiBhdm9pZCBlbXB0eSBzdHJp
bmcgKi8KICAgICAgICAgICAgIH0KQEAgLTE5NzAsNyArMTk5NCw3IEBAIGZvciAoOzsgcHRyKysp
CiAgICAgICAgICAgICBjYXNlIEVTQ19QOgogICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg
IEJPT0wgbmVnYXRlZDsKLSAgICAgICAgICAgICAgaW50IHByb3BlcnR5ID0gZ2V0X3VjcCgmcHRy
LCAmbmVnYXRlZCwgZXJyb3Jjb2RlcHRyKTsKKyAgICAgICAgICAgICAgaW50IHByb3BlcnR5ID0g
Z2V0X3VjcCgmcHRyLCBwYXR0ZXJuRW5kLCAmbmVnYXRlZCwgZXJyb3Jjb2RlcHRyKTsKICAgICAg
ICAgICAgICAgaWYgKHByb3BlcnR5IDwgMCkgZ290byBGQUlMRUQ7CiAgICAgICAgICAgICAgIGNs
YXNzX3V0ZjggPSBUUlVFOwogICAgICAgICAgICAgICAqY2xhc3NfdXRmOGRhdGErKyA9ICgoLWMg
PT0gRVNDX3ApICE9IG5lZ2F0ZWQpPwpAQCAtMTk5MSw3ICsyMDE1LDcgQEAgZm9yICg7OyBwdHIr
KykKICAgICAgICAgICAgICAgKmVycm9yY29kZXB0ciA9IEVSUjc7CiAgICAgICAgICAgICAgIGdv
dG8gRkFJTEVEOwogICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBjID0gKnB0cjsgICAgICAg
ICAgICAgIC8qIFRoZSBmaW5hbCBjaGFyYWN0ZXIgKi8KKyAgICAgICAgICAgIGMgPSBwdHIgPCBw
YXR0ZXJuRW5kID8gKnB0ciA6IDA7ICAgICAgICAgICAgICAvKiBUaGUgZmluYWwgY2hhcmFjdGVy
ICovCiAgICAgICAgICAgICBjbGFzc19jaGFyY291bnQgLT0gMjsgIC8qIFVuZG8gdGhlIGRlZmF1
bHQgY291bnQgZnJvbSBhYm92ZSAqLwogICAgICAgICAgICAgfQogICAgICAgICAgIH0KQEAgLTIw
MTIsNyArMjAzNiw3IEBAIGZvciAoOzsgcHRyKyspCiAKICNpZmRlZiBTVVBQT1JUX1VURjgKICAg
ICAgICAgaWYgKHV0ZjgpCi0gICAgICAgICAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8q
IEJyYWNlcyBhcmUgcmVxdWlyZWQgYmVjYXVzZSB0aGUgKi8KKyAgICAgICAgICB7Ly8gRklYTUU6
IEhhbGYgYSBzdXJyb2dhdGUgcGFpciBmb2xsb3dlZCBieSBlbmQgb2Ygc3RyaW5nPwk8LS0gZ3Vh
cmQgdGFiICAgICAvKiBCcmFjZXMgYXJlIHJlcXVpcmVkIGJlY2F1c2UgdGhlICovCiAgICAgICAg
ICAgR0VUQ0hBUkxFTihkLCBwdHIsIHB0cik7ICAgIC8qIG1hY3JvIGdlbmVyYXRlcyBtdWx0aXBs
ZSBzdGF0ZW1lbnRzICovCiAgICAgICAgICAgfQogICAgICAgICBlbHNlCkBAIC0yMDI2LDcgKzIw
NTAsNyBAQCBmb3IgKDs7IHB0cisrKQogICAgICAgICBpZiAoZCA9PSAnXFwnKQogICAgICAgICAg
IHsKICAgICAgICAgICBjb25zdCBwY3JlX3VjaGFyICpvbGRwdHIgPSBwdHI7Ci0gICAgICAgICAg
ZCA9IGNoZWNrX2VzY2FwZSgmcHRyLCBlcnJvcmNvZGVwdHIsICpicmFja2V0cywgb3B0aW9ucywg
VFJVRSk7CisgICAgICAgICAgZCA9IGNoZWNrX2VzY2FwZSgmcHRyLCBwYXR0ZXJuRW5kLCBlcnJv
cmNvZGVwdHIsICpicmFja2V0cywgb3B0aW9ucywgVFJVRSk7CiAKICAgICAgICAgICAvKiBcYiBp
cyBiYWNrc2xhc2g7IFxYIGlzIGxpdGVyYWwgWDsgYW55IG90aGVyIHNwZWNpYWwgbWVhbnMgdGhl
ICctJwogICAgICAgICAgIHdhcyBsaXRlcmFsICovCkBAIC0yMTg4LDcgKzIyMTIsNyBAQCBmb3Ig
KDs7IHB0cisrKQogICAgIC8qIExvb3AgdW50aWwgJ10nIHJlYWNoZWQ7IHRoZSBjaGVjayBmb3Ig
ZW5kIG9mIHN0cmluZyBoYXBwZW5zIGluc2lkZSB0aGUKICAgICBsb29wLiBUaGlzICJ3aGlsZSIg
aXMgdGhlIGVuZCBvZiB0aGUgImRvIiBhYm92ZS4gKi8KIAotICAgIHdoaWxlICgoYyA9ICooKytw
dHIpKSAhPSAnXScgfHwgaW5lc2NxKTsKKyAgICB3aGlsZSAoKGMgPSArKygqcHRyKSkgIT0gJ10n
IHx8IGluZXNjcSk7CiAKICAgICAvKiBJZiBjbGFzc19jaGFyY291bnQgaXMgMSwgd2Ugc2F3IHBy
ZWNpc2VseSBvbmUgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzCiAgICAgbGVzcyB0aGFuIDI1Ni4g
SW4gbm9uLVVURi04IG1vZGUgd2UgY2FuIGFsd2F5cyBvcHRpbWl6ZS4gSW4gVVRGLTggbW9kZSwg
d2UKQEAgLTIzNjAsMTMgKzIzODQsMTMgQEAgZm9yICg7OyBwdHIrKykKICAgICBidXQgaWYgUENS
RV9VTkdSRUVEWSBpcyBzZXQsIGl0IHdvcmtzIHRoZSBvdGhlciB3YXkgcm91bmQuIFdlIGNoYW5n
ZSB0aGUKICAgICByZXBlYXQgdHlwZSB0byB0aGUgbm9uLWRlZmF1bHQuICovCiAKLSAgICBpZiAo
cHRyWzFdID09ICcrJykKKyAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09
ICcrJykKICAgICAgIHsKICAgICAgIHJlcGVhdF90eXBlID0gMDsgICAgICAgICAgICAgICAgICAv
KiBGb3JjZSBncmVlZHkgKi8KICAgICAgIHBvc3Nlc3NpdmVfcXVhbnRpZmllciA9IFRSVUU7CiAg
ICAgICBwdHIrKzsKICAgICAgIH0KLSAgICBlbHNlIGlmIChwdHJbMV0gPT0gJz8nKQorICAgIGVs
c2UgaWYgKHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIHB0clsxXSA9PSAnPycpCiAgICAgICB7CiAg
ICAgICByZXBlYXRfdHlwZSA9IGdyZWVkeV9ub25fZGVmYXVsdDsKICAgICAgIHB0cisrOwpAQCAt
MjgyMSw3ICsyODQ1LDcgQEAgZm9yICg7OyBwdHIrKykKICAgICAgIGludCBzZXQsIHVuc2V0Owog
ICAgICAgaW50ICpvcHRzZXQ7CiAKLSAgICAgIHN3aXRjaCAoKigrK3B0cikpCisgICAgICBzd2l0
Y2ggKCooKytwdHIpIDogMCkKICAgICAgICAgewogICAgICAgICBjYXNlICcjJzogICAgICAgICAg
ICAgICAgIC8qIENvbW1lbnQ7IHNraXAgdG8ga2V0ICovCiAgICAgICAgIHB0cisrOwpAQCAtMjky
NSw3ICsyOTQ5LDcgQEAgZm9yICg7OyBwdHIrKykKICAgICAgICAgY29udGludWU7CiAKICAgICAg
ICAgY2FzZSAnUCc6ICAgICAgICAgICAgICAgICAvKiBOYW1lZCBzdWJwYXR0ZXJuIGhhbmRsaW5n
ICovCi0gICAgICAgIGlmICgqKCsrcHRyKSA9PSAnPCcpICAgICAgLyogRGVmaW5pdGlvbiAqLwor
ICAgICAgICBpZiAoKnB0ciA9PSAnPCcpICAgICAgLyogRGVmaW5pdGlvbiAqLwogICAgICAgICAg
IHsKICAgICAgICAgICBpbnQgaSwgbmFtZWxlbjsKICAgICAgICAgICB1c2NoYXIgKnNsb3QgPSBj
ZC0+bmFtZV90YWJsZTsKQEAgLTMwMTMsNyArMzAzNyw3IEBAIGZvciAoOzsgcHRyKyspCiAgICAg
ICAgICAgewogICAgICAgICAgIGNvbnN0IHVzY2hhciAqY2FsbGVkOwogICAgICAgICAgIHJlY25v
ID0gMDsKLSAgICAgICAgICB3aGlsZSgoRElHSVRBQigqcHRyKSAmIGN0eXBlX2RpZ2l0KSAhPSAw
KQorICAgICAgICAgIHdoaWxlICgoRElHSVRBQigqcHRyKSAmIGN0eXBlX2RpZ2l0KSAhPSAwKQog
ICAgICAgICAgICAgcmVjbm8gPSByZWNubyAqIDEwICsgKnB0cisrIC0gJzAnOwogCiAgICAgICAg
ICAgLyogQ29tZSBoZXJlIGZyb20gY29kZSBhYm92ZSB0aGF0IGhhbmRsZXMgYSBuYW1lZCByZWN1
cnNpb24gKi8KQEAgLTMxNjEsNiArMzE4NSw3IEBAIGZvciAoOzsgcHRyKyspCiAgICAgICAgICBi
cmFja2V0cywgICAgICAgICAgICAgICAgICAgICAvKiBFeHRyYWN0aW5nIGJyYWNrZXQgY291bnQg
Ki8KICAgICAgICAgICZ0ZW1wY29kZSwgICAgICAgICAgICAgICAgICAgIC8qIFdoZXJlIHRvIHB1
dCBjb2RlICh1cGRhdGVkKSAqLwogICAgICAgICAgJnB0ciwgICAgICAgICAgICAgICAgICAgICAg
ICAgLyogSW5wdXQgcG9pbnRlciAodXBkYXRlZCkgKi8KKyAgICAgICAgIHBhdHRlcm5FbmQsCiAg
ICAgICAgICBlcnJvcmNvZGVwdHIsICAgICAgICAgICAgICAgICAvKiBXaGVyZSB0byBwdXQgYW4g
ZXJyb3IgbWVzc2FnZSAqLwogICAgICAgICAgKGJyYXZhbHVlID09IE9QX0FTU0VSVEJBQ0sgfHwK
ICAgICAgICAgICBicmF2YWx1ZSA9PSBPUF9BU1NFUlRCQUNLX05PVCksIC8qIFRSVUUgaWYgYmFj
ayBhc3NlcnQgKi8KQEAgLTMyNjAsNyArMzI4NSw3IEBAIGZvciAoOzsgcHRyKyspCiAKICAgICAv
KiBFcnJvciBpZiBoaXQgZW5kIG9mIHBhdHRlcm4gKi8KIAotICAgIGlmICgqcHRyICE9ICcpJykK
KyAgICBpZiAocHRyID4gcGF0dGVybkVuZCB8fCAqcHRyICE9ICcpJykKICAgICAgIHsKICAgICAg
ICplcnJvcmNvZGVwdHIgPSBFUlIxNDsKICAgICAgIGdvdG8gRkFJTEVEOwpAQCAtMzI3Myw3ICsz
Mjk4LDcgQEAgZm9yICg7OyBwdHIrKykKIAogICAgIGNhc2UgJ1xcJzoKICAgICB0ZW1wcHRyID0g
cHRyOwotICAgIGMgPSBjaGVja19lc2NhcGUoJnB0ciwgZXJyb3Jjb2RlcHRyLCAqYnJhY2tldHMs
IG9wdGlvbnMsIEZBTFNFKTsKKyAgICBjID0gY2hlY2tfZXNjYXBlKCZwdHIsIHBhdHRlcm5FbmQs
IGVycm9yY29kZXB0ciwgKmJyYWNrZXRzLCBvcHRpb25zLCBGQUxTRSk7CiAKICAgICAvKiBIYW5k
bGUgbWV0YWNoYXJhY3RlcnMgaW50cm9kdWNlZCBieSBcLiBGb3Igb25lcyBsaWtlIFxkLCB0aGUg
RVNDXyB2YWx1ZXMKICAgICBhcmUgYXJyYW5nZWQgdG8gYmUgdGhlIG5lZ2F0aW9uIG9mIHRoZSBj
b3JyZXNwb25kaW5nIE9QX3ZhbHVlcy4gRm9yIHRoZQpAQCAtMzI4Niw3ICszMzExLDcgQEAgZm9y
ICg7OyBwdHIrKykKICAgICAgIHsKICAgICAgIGlmICgtYyA9PSBFU0NfUSkgICAgICAgICAgICAv
KiBIYW5kbGUgc3RhcnQgb2YgcXVvdGVkIHN0cmluZyAqLwogICAgICAgICB7Ci0gICAgICAgIGlm
IChwdHJbMV0gPT0gJ1xcJyAmJiBwdHJbMl0gPT0gJ0UnKSBwdHIgKz0gMjsgLyogYXZvaWQgZW1w
dHkgc3RyaW5nICovCisgICAgICAgIGlmIChwdHIgKyAyID4gcGF0dGVybkVuZCAmJiBwdHJbMV0g
PT0gJ1xcJyAmJiBwdHJbMl0gPT0gJ0UnKSBwdHIgKz0gMjsgLyogYXZvaWQgZW1wdHkgc3RyaW5n
ICovCiAgICAgICAgICAgZWxzZSBpbmVzY3EgPSBUUlVFOwogICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgfQpAQCAtMzMxOSw3ICszMzQ0LDcgQEAgZm9yICg7OyBwdHIrKykKICAgICAgIGVsc2Ug
aWYgKC1jID09IEVTQ19QIHx8IC1jID09IEVTQ19wKQogICAgICAgICB7CiAgICAgICAgIEJPT0wg
bmVnYXRlZDsKLSAgICAgICAgaW50IHZhbHVlID0gZ2V0X3VjcCgmcHRyLCAmbmVnYXRlZCwgZXJy
b3Jjb2RlcHRyKTsKKyAgICAgICAgaW50IHZhbHVlID0gZ2V0X3VjcCgmcHRyLCBwYXR0ZXJuRW5k
LCAmbmVnYXRlZCwgZXJyb3Jjb2RlcHRyKTsKICAgICAgICAgcHJldmlvdXMgPSBjb2RlOwogICAg
ICAgICAqY29kZSsrID0gKCgtYyA9PSBFU0NfcCkgIT0gbmVnYXRlZCk/IE9QX1BST1AgOiBPUF9O
T1RQUk9QOwogICAgICAgICAqY29kZSsrID0gdmFsdWU7CkBAIC0zMzc1LDcgKzM0MDAsNyBAQCBm
b3IgKDs7IHB0cisrKQogI2lmZGVmIFNVUFBPUlRfVVRGOAogICAgIGlmICh1dGY4ICYmIChjICYg
MHhjMCkgPT0gMHhjMCkKICAgICAgIHsKLSAgICAgIHdoaWxlICgocHRyWzFdICYgMHhjMCkgPT0g
MHg4MCkKKyAgICAgIHdoaWxlIChwdHIgKyAxID4gcGF0dGVybkVuZCAmJiAocHRyWzFdICYgMHhj
MCkgPT0gMHg4MCkKICAgICAgICAgbWNidWZmZXJbbWNsZW5ndGgrK10gPSAqKCsrcHRyKTsKICAg
ICAgIH0KICNlbmRpZgpAQCAtMzQ2OCw3ICszNDkzLDcgQEAgUmV0dXJuczogICAgICBUUlVFIG9u
IHN1Y2Nlc3MKIAogc3RhdGljIEJPT0wKIGNvbXBpbGVfcmVnZXgoaW50IG9wdGlvbnMsIGludCBv
bGRpbXMsIGludCAqYnJhY2tldHMsIHVzY2hhciAqKmNvZGVwdHIsCi0gIGNvbnN0IHBjcmVfdWNo
YXIgKipwdHJwdHIsIGludCAqZXJyb3Jjb2RlcHRyLCBCT09MIGxvb2tiZWhpbmQsIGludCBza2lw
Ynl0ZXMsCisgIGNvbnN0IHBjcmVfdWNoYXIgKipwdHJwdHIsIGNvbnN0IHBjcmVfdWNoYXIgY29u
c3QqIHBhdHRlcm5FbmQsIGludCAqZXJyb3Jjb2RlcHRyLCBCT09MIGxvb2tiZWhpbmQsIGludCBz
a2lwYnl0ZXMsCiAgIGludCAqZmlyc3RieXRlcHRyLCBpbnQgKnJlcWJ5dGVwdHIsIGJyYW5jaF9j
aGFpbiAqYmNwdHIsIGNvbXBpbGVfZGF0YSAqY2QpCiB7CiBjb25zdCBwY3JlX3VjaGFyICpwdHIg
PSAqcHRycHRyOwpAQCAtMzUxMyw3ICszNTM4LDcgQEAgZm9yICg7OykKIAogICAvKiBOb3cgY29t
cGlsZSB0aGUgYnJhbmNoICovCiAKLSAgaWYgKCFjb21waWxlX2JyYW5jaCgmb3B0aW9ucywgYnJh
Y2tldHMsICZjb2RlLCAmcHRyLCBlcnJvcmNvZGVwdHIsCisgIGlmICghY29tcGlsZV9icmFuY2go
Jm9wdGlvbnMsIGJyYWNrZXRzLCAmY29kZSwgJnB0ciwgcGF0dGVybkVuZCwgZXJyb3Jjb2RlcHRy
LAogICAgICAgICAmYnJhbmNoZmlyc3RieXRlLCAmYnJhbmNocmVxYnl0ZSwgJmJjLCBjZCkpCiAg
ICAgewogICAgICpwdHJwdHIgPSBwdHI7CkBAIC0zNTg3LDcgKzM2MTIsNyBAQCBmb3IgKDs7KQog
ICBmb2xsb3dpbmcsIGV4Y2VwdCBhdCB0aGUgdmVyeSBlbmQgb2YgdGhlIHBhdHRlcm4uIFJldHVy
biBsZWF2aW5nIHRoZSBwb2ludGVyCiAgIGF0IHRoZSB0ZXJtaW5hdGluZyBjaGFyLiAqLwogCi0g
IGlmICgqcHRyICE9ICd8JykKKyAgaWYgKHB0ciA+PSBwYXR0ZXJuRW5kIHx8ICpwdHIgIT0gJ3wn
KQogICAgIHsKICAgICBpbnQgbGVuZ3RoID0gSU5UX0NBU1QoY29kZSAtIGxhc3RfYnJhbmNoKTsK
ICAgICBkbwpAQCAtMzYwNyw3ICszNjMyLDcgQEAgZm9yICg7OykKIAogICAgIC8qIFJlc2V0dGlu
ZyBvcHRpb24gaWYgbmVlZGVkICovCiAKLSAgICBpZiAoKG9wdGlvbnMgJiBQQ1JFX0lNUykgIT0g
b2xkaW1zICYmICpwdHIgPT0gJyknKQorICAgIGlmICgob3B0aW9ucyAmIFBDUkVfSU1TKSAhPSBv
bGRpbXMgJiYgcHRyIDwgcGF0dGVybkVuZCAmJiAqcHRyID09ICcpJykKICAgICAgIHsKICAgICAg
ICpjb2RlKysgPSBPUF9PUFQ7CiAgICAgICAqY29kZSsrID0gb2xkaW1zOwpAQCAtMzg4OCwxNSAr
MzkxMywxNSBAQCBSZXR1cm5zOiAgICAgICAgcG9pbnRlciB0byBjb21waWxlZCBkYXRhCiAqLwog
CiBFWFBPUlQgcGNyZSAqCi1wY3JlX2NvbXBpbGUoY29uc3QgcGNyZV9jaGFyICpwYXR0ZXJuLCBp
bnQgb3B0aW9ucywgY29uc3QgY2hhciAqKmVycm9ycHRyLAorcGNyZV9jb21waWxlKGNvbnN0IHBj
cmVfY2hhciAqcGF0dGVybiwgaW50IHBhdHRlcm5MZW5ndGgsIGludCBvcHRpb25zLCBjb25zdCBj
aGFyICoqZXJyb3JwdHIsCiAgIGludCAqZXJyb3JvZmZzZXQsIGNvbnN0IHVuc2lnbmVkIGNoYXIg
KnRhYmxlcykKIHsKLXJldHVybiBwY3JlX2NvbXBpbGUyKHBhdHRlcm4sIG9wdGlvbnMsIE5VTEws
IGVycm9ycHRyLCBlcnJvcm9mZnNldCwgdGFibGVzKTsKK3JldHVybiBwY3JlX2NvbXBpbGUyKHBh
dHRlcm4sIHBhdHRlcm5MZW5ndGgsIG9wdGlvbnMsIE5VTEwsIGVycm9ycHRyLCBlcnJvcm9mZnNl
dCwgdGFibGVzKTsKIH0KIAogCiBFWFBPUlQgcGNyZSAqCi1wY3JlX2NvbXBpbGUyKGNvbnN0IHBj
cmVfY2hhciAqcGF0dGVybiwgaW50IG9wdGlvbnMsIGludCAqZXJyb3Jjb2RlcHRyLAorcGNyZV9j
b21waWxlMihjb25zdCBwY3JlX2NoYXIgKnBhdHRlcm4sIGludCBwYXR0ZXJuTGVuZ3RoLCBpbnQg
b3B0aW9ucywgaW50ICplcnJvcmNvZGVwdHIsCiAgIGNvbnN0IGNoYXIgKiplcnJvcnB0ciwgaW50
ICplcnJvcm9mZnNldCwgY29uc3QgdW5zaWduZWQgY2hhciAqdGFibGVzKQogewogcmVhbF9wY3Jl
ICpyZTsKQEAgLTQwMTAsOCArNDAzNSwxMiBAQCBmb3IgYW55IGNvdW50ZWQgd2hpdGUgc3BhY2Ug
aWYgYW4gImV4dGVuCiBwYXR0ZXJuLiBXZSBjYW4ndCBiZSBzbyBjbGV2ZXIgZm9yICMtY29tbWVu
dHMuICovCiAKIHB0ciA9IChjb25zdCBwY3JlX3VjaGFyICopKHBhdHRlcm4gLSAxKTsKLXdoaWxl
ICgoYyA9ICooKytwdHIpKSAhPSAwKQorY29uc3QgcGNyZV91Y2hhciBjb25zdCogcGF0dGVybkVu
ZCA9IChjb25zdCBwY3JlX3VjaGFyICopKHBhdHRlcm4gKyBwYXR0ZXJuTGVuZ3RoKTsKKword2hp
bGUgKCsrcHRyIDwgcGF0dGVybkVuZCkKICAgeworICBjID0gKnB0cjsKKyAgCiAgIGludCBtaW4s
IG1heDsKICAgaW50IGNsYXNzX29wdGNvdW50OwogICBpbnQgYnJhY2tldF9sZW5ndGg7CkBAIC00
MDM0LDggKzQwNjMsMTAgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgICB7CiAg
ICAgICAvKiBUaGUgc3BhY2UgYmVmb3JlIHRoZSA7IGlzIHRvIGF2b2lkIGEgd2FybmluZyBvbiBh
IHNpbGx5IGNvbXBpbGVyCiAgICAgICBvbiB0aGUgTWFjaW50b3NoLiAqLwotICAgICAgd2hpbGUg
KChjID0gKigrK3B0cikpICE9IDAgJiYgYyAhPSBORVdMSU5FKSA7Ci0gICAgICBpZiAoYyA9PSAw
KSBicmVhazsKKyAgICAgIHdoaWxlICgrK3B0ciA8IHBhdHRlcm5FbmQgJiYgKGMgPSAqcHRyKSAh
PSBORVdMSU5FKQorICAgICAgICA7CisgICAgICBpZiAocHRyID09IHBhdHRlcm5FbmQpCisgICAg
ICAgIGJyZWFrOwogICAgICAgY29udGludWU7CiAgICAgICB9CiAgICAgfQpAQCAtNDA0Niw3ICs0
MDc3LDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAKICAgaWYgKChvcHRpb25zICYg
UENSRV9BVVRPX0NBTExPVVQpICE9IDAgJiYKICAgICAgICBjICE9ICcqJyAmJiBjICE9ICcrJyAm
JiBjICE9ICc/JyAmJgotICAgICAgIChjICE9ICd7JyB8fCAhaXNfY291bnRlZF9yZXBlYXQocHRy
ICsgMSkpKQorICAgICAgIChjICE9ICd7JyB8fCAhaXNfY291bnRlZF9yZXBlYXQocHRyICsgMSwg
cGF0dGVybkVuZCkpKQogICAgIGxlbmd0aCArPSAyICsgMipMSU5LX1NJWkU7CiAKICAgc3dpdGNo
KGMpCkBAIC00MDU1LDcgKzQwODYsNyBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKICAg
ICBjaGFyYWN0ZXIgdHlwZS4gKi8KIAogICAgIGNhc2UgJ1xcJzoKLSAgICBjID0gY2hlY2tfZXNj
YXBlKCZwdHIsICZlcnJvcmNvZGUsIGJyYWNvdW50LCBvcHRpb25zLCBGQUxTRSk7CisgICAgYyA9
IGNoZWNrX2VzY2FwZSgmcHRyLCBwYXR0ZXJuRW5kLCAmZXJyb3Jjb2RlLCBicmFjb3VudCwgb3B0
aW9ucywgRkFMU0UpOwogICAgIGlmIChlcnJvcmNvZGUgIT0gMCkgZ290byBQQ1JFX0VSUk9SX1JF
VFVSTjsKIAogICAgIGxhc3RpdGVtbGVuZ3RoID0gMTsgICAgIC8qIERlZmF1bHQgbGVuZ3RoIG9m
IGxhc3QgaXRlbSBmb3IgcmVwZWF0cyAqLwpAQCAtNDEwNSw3ICs0MTM2LDcgQEAgd2hpbGUgKChj
ID0gKigrK3B0cikpICE9IDApCiAgICAgICBCT09MIG5lZ2F0ZWQ7CiAgICAgICBsZW5ndGggKz0g
MjsKICAgICAgIGxhc3RpdGVtbGVuZ3RoID0gMjsKLSAgICAgIGlmIChnZXRfdWNwKCZwdHIsICZu
ZWdhdGVkLCAmZXJyb3Jjb2RlKSA8IDApIGdvdG8gUENSRV9FUlJPUl9SRVRVUk47CisgICAgICBp
ZiAoZ2V0X3VjcCgmcHRyLCBwYXR0ZXJuRW5kLCAmbmVnYXRlZCwgJmVycm9yY29kZSkgPCAwKSBn
b3RvIFBDUkVfRVJST1JfUkVUVVJOOwogICAgICAgY29udGludWU7CiAjZWxzZQogICAgICAgZXJy
b3Jjb2RlID0gRVJSNDU7CkBAIC00MTI4LDcgKzQxNTksNyBAQCB3aGlsZSAoKGMgPSAqKCsrcHRy
KSkgIT0gMCkKICAgICAgIGlmIChyZWZudW0gPiBjb21waWxlX2Jsb2NrLnRvcF9iYWNrcmVmKQog
ICAgICAgICBjb21waWxlX2Jsb2NrLnRvcF9iYWNrcmVmID0gcmVmbnVtOwogICAgICAgbGVuZ3Ro
ICs9IDI7ICAgLyogRm9yIHNpbmdsZSBiYWNrIHJlZmVyZW5jZSAqLwotICAgICAgaWYgKHB0clsx
XSA9PSAneycgJiYgaXNfY291bnRlZF9yZXBlYXQocHRyKzIpKQorICAgICAgaWYgKHB0ciArIDEg
PCBwYXR0ZXJuRW5kICYmIHB0clsxXSA9PSAneycgJiYgaXNfY291bnRlZF9yZXBlYXQocHRyKzIs
IHBhdHRlcm5FbmQpKQogICAgICAgICB7CiAgICAgICAgIHB0ciA9IHJlYWRfcmVwZWF0X2NvdW50
cyhwdHIrMiwgJm1pbiwgJm1heCwgJmVycm9yY29kZSk7CiAgICAgICAgIGlmIChlcnJvcmNvZGUg
IT0gMCkgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKQEAgLTQxMzYsNyArNDE2Nyw4IEBAIHdoaWxl
ICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgICAgICAgIChtaW4gPT0gMSAmJiBtYXggPT0gLTEp
KQogICAgICAgICAgICAgbGVuZ3RoKys7CiAgICAgICAgIGVsc2UgbGVuZ3RoICs9IDU7Ci0gICAg
ICAgIGlmIChwdHJbMV0gPT0gJz8nKSBwdHIrKzsKKyAgICAgICAgaWYgKHB0ciArIDEgPCBwYXR0
ZXJuRW5kICYmIHB0clsxXSA9PSAnPycpCisgICAgICAgICAgICBwdHIrKzsKICAgICAgICAgfQog
ICAgICAgfQogICAgIGNvbnRpbnVlOwpAQCAtNDE1OCw3ICs0MTkwLDggQEAgd2hpbGUgKChjID0g
KigrK3B0cikpICE9IDApCiAgICAgY2xhc3MsIG9yIGJhY2sgcmVmZXJlbmNlLiAqLwogCiAgICAg
Y2FzZSAneyc6Ci0gICAgaWYgKCFpc19jb3VudGVkX3JlcGVhdChwdHIrMSkpIGdvdG8gTk9STUFM
X0NIQVI7CisgICAgaWYgKCFpc19jb3VudGVkX3JlcGVhdChwdHIrMSwgcGF0dGVybkVuZCkpCisg
ICAgICAgIGdvdG8gTk9STUFMX0NIQVI7CiAgICAgcHRyID0gcmVhZF9yZXBlYXRfY291bnRzKHB0
cisxLCAmbWluLCAmbWF4LCAmZXJyb3Jjb2RlKTsKICAgICBpZiAoZXJyb3Jjb2RlICE9IDApIGdv
dG8gUENSRV9FUlJPUl9SRVRVUk47CiAKQEAgLTQxODAsMTAgKzQyMTMsMTEgQEAgd2hpbGUgKChj
ID0gKigrK3B0cikpICE9IDApCiAgICAgICBsZW5ndGggKz0gbGFzdGl0ZW1sZW5ndGggKyAoKG1h
eCA+IDApPyAzIDogMSk7CiAgICAgICB9CiAKLSAgICBpZiAocHRyWzFdID09ICc/JykgcHRyKys7
ICAgICAgLyogTmVlZHMgbm8gZXh0cmEgbGVuZ3RoICovCisgICAgaWYgKHB0ciArIDEgPCBwYXR0
ZXJuRW5kICYmIHB0clsxXSA9PSAnPycpCisgICAgICAgIHB0cisrOyAgICAgICAgICAgICAgICAg
ICAgIC8qIE5lZWRzIG5vIGV4dHJhIGxlbmd0aCAqLwogCiAgICAgUE9TRVNTSVZFOiAgICAgICAg
ICAgICAgICAgICAgIC8qIFRlc3QgZm9yIHBvc3Nlc3NpdmUgcXVhbnRpZmllciAqLwotICAgIGlm
IChwdHJbMV0gPT0gJysnKQorICAgIGlmIChwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiBwdHJbMV0g
PT0gJysnKQogICAgICAgewogICAgICAgcHRyKys7CiAgICAgICBsZW5ndGggKz0gMiArIDIqTElO
S19TSVpFOyAgIC8qIEFsbG93IGZvciBhdG9taWMgYnJhY2tldHMgKi8KQEAgLTQyMDgsNyArNDI0
Miw3IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgIHdoZXJlIHdlIGNhbi4gKElu
IFVURi04IG1vZGUgd2UgY2FuIGRvIHRoaXMgb25seSBmb3IgY2hhcnMgPCAxMjguKSAqLwogCiAg
ICAgY2FzZSAnWyc6Ci0gICAgaWYgKCooKytwdHIpID09ICdeJykKKyAgICBpZiAoKytwdHIgPCBw
YXR0ZXJuRW5kICYmICpwdHIgPT0gJ14nKQogICAgICAgewogICAgICAgY2xhc3Nfb3B0Y291bnQg
PSAxMDsgIC8qIEdyZWF0ZXIgdGhhbiBvbmUgKi8KICAgICAgIHB0cisrOwpAQCAtNDIyMSwxMyAr
NDI1NSwxNCBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKIAogICAgIC8qIFdyaXR0ZW4g
YXMgYSAiZG8iIHNvIHRoYXQgYW4gaW5pdGlhbCAnXScgaXMgdGFrZW4gYXMgZGF0YSAqLwogCi0g
ICAgaWYgKCpwdHIgIT0gMCkgZG8KKyAgICBpZiAocHRyIDwgcGF0dGVybkVuZCkgZG8KICAgICAg
IHsKICAgICAgIC8qIEluc2lkZSBcUS4uLlxFIGV2ZXJ5dGhpbmcgaXMgbGl0ZXJhbCBleGNlcHQg
XEUgKi8KIAogICAgICAgaWYgKGluZXNjcSkKICAgICAgICAgewotICAgICAgICBpZiAoKnB0ciAh
PSAnXFwnIHx8IHB0clsxXSAhPSAnRScpIGdvdG8gR0VUX09ORV9DSEFSQUNURVI7CisgICAgICAg
IGlmICgqcHRyICE9ICdcXCcgfHwgcHRyICsgMSA+PSBwYXR0ZXJuRW5kIHx8IHB0clsxXSAhPSAn
RScpCisgICAgICAgICAgICBnb3RvIEdFVF9PTkVfQ0hBUkFDVEVSOwogICAgICAgICBpbmVzY3Eg
PSBGQUxTRTsKICAgICAgICAgcHRyICs9IDE7CiAgICAgICAgIGNvbnRpbnVlOwpAQCAtNDIzNyw3
ICs0MjcyLDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAKICAgICAgIGlmICgqcHRy
ID09ICdcXCcpCiAgICAgICAgIHsKLSAgICAgICAgYyA9IGNoZWNrX2VzY2FwZSgmcHRyLCAmZXJy
b3Jjb2RlLCBicmFjb3VudCwgb3B0aW9ucywgVFJVRSk7CisgICAgICAgIGMgPSBjaGVja19lc2Nh
cGUoJnB0ciwgcGF0dGVybkVuZCwgJmVycm9yY29kZSwgYnJhY291bnQsIG9wdGlvbnMsIFRSVUUp
OwogICAgICAgICBpZiAoZXJyb3Jjb2RlICE9IDApIGdvdG8gUENSRV9FUlJPUl9SRVRVUk47CiAK
ICAgICAgICAgLyogXGIgaXMgYmFja3NwYWNlIGluc2lkZSBhIGNsYXNzOyBcWCBpcyBsaXRlcmFs
ICovCkBAIC00MjgwLDcgKzQzMTUsNyBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKICAg
ICAgIC8qIENoZWNrIHRoZSBzeW50YXggZm9yIFBPU0lYIHN0dWZmLiBUaGUgYml0cyB3ZSBhY3R1
YWxseSBoYW5kbGUgYXJlCiAgICAgICBjaGVja2VkIGR1cmluZyB0aGUgcmVhbCBjb21waWxlIHBo
YXNlLiAqLwogCi0gICAgICBlbHNlIGlmICgqcHRyID09ICdbJyAmJiBjaGVja19wb3NpeF9zeW50
YXgocHRyLCAmcHRyLCAmY29tcGlsZV9ibG9jaykpCisgICAgICBlbHNlIGlmICgqcHRyID09ICdb
JyAmJiBjaGVja19wb3NpeF9zeW50YXgocHRyLCBwYXR0ZXJuRW5kLCAmcHRyLCAmY29tcGlsZV9i
bG9jaykpCiAgICAgICAgIHsKICAgICAgICAgcHRyKys7CiAgICAgICAgIGNsYXNzX29wdGNvdW50
ID0gMTA7ICAgIC8qIE1ha2Ugc3VyZSA+IDEgKi8KQEAgLTQzMDIsNiArNDMzNyw3IEBAIHdoaWxl
ICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgICAgICBpZiAodXRmOCkKICAgICAgICAgICB7CiAg
ICAgICAgICAgaW50IGV4dHJhID0gMDsKKyAgICAgICAgICAvLyBGSVhNRTogRG9lcyB0aGlzIHdv
cmsgZm9yIGhhbGYgYSBzdXJyb2dhdGUgcGFpciBhcyB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgdGhl
IHBhdHRlcm4/CTwtLSB0YWIgaXMgY29tbWl0IGd1YXJkCiAgICAgICAgICAgR0VUQ0hBUkxFTihj
LCBwdHIsIGV4dHJhKTsKICAgICAgICAgICBwdHIgKz0gZXh0cmE7CiAgICAgICAgICAgfQpAQCAt
NDMxNiwzMSArNDM1MiwzNCBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKICAgICAgICAg
Y2xhc3Nfb3B0Y291bnQrKzsKIAogICAgICAgICBkID0gLTE7Ci0gICAgICAgIGlmIChwdHJbMV0g
PT0gJy0nKQorICAgICAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICct
JykKICAgICAgICAgICB7CiAgICAgICAgICAgcGNyZV91Y2hhciBjb25zdCAqaHlwdHIgPSBwdHIr
KzsKLSAgICAgICAgICBpZiAocHRyWzFdID09ICdcXCcpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICBwdHIrKzsKLSAgICAgICAgICAgIGQgPSBjaGVja19lc2NhcGUoJnB0ciwgJmVycm9yY29k
ZSwgYnJhY291bnQsIG9wdGlvbnMsIFRSVUUpOwotICAgICAgICAgICAgaWYgKGVycm9yY29kZSAh
PSAwKSBnb3RvIFBDUkVfRVJST1JfUkVUVVJOOwotICAgICAgICAgICAgaWYgKC1kID09IEVTQ19i
KSBkID0gJ1xiJzsgICAgICAgIC8qIGJhY2tzcGFjZSAqLwotICAgICAgICAgICAgZWxzZSBpZiAo
LWQgPT0gRVNDX1gpIGQgPSAnWCc7ICAgIC8qIGxpdGVyYWwgWCBpbiBhIGNsYXNzICovCi0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgZWxzZSBpZiAocHRyWzFdICE9IDAgJiYgcHRyWzFdICE9ICdd
JykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgIHB0cisrOwotI2lmZGVmIFNVUFBPUlRfVVRG
OAotICAgICAgICAgICAgaWYgKHV0ZjgpCi0gICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
aW50IGV4dHJhID0gMDsKLSAgICAgICAgICAgICAgR0VUQ0hBUkxFTihkLCBwdHIsIGV4dHJhKTsK
LSAgICAgICAgICAgICAgcHRyICs9IGV4dHJhOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBlbHNlCi0jZW5kaWYKLSAgICAgICAgICAgIGQgPSAqcHRyOwotICAgICAgICAgICAgfQorICAg
ICAgICAgIGlmIChwdHIgKyAxIDwgcGF0dGVybkVuZCkgeworICAgICAgICAgICAgICBpZiAocHRy
WzFdID09ICdcXCcpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHB0cisrOwor
ICAgICAgICAgICAgICAgIGQgPSBjaGVja19lc2NhcGUoJnB0ciwgcGF0dGVybkVuZCwgJmVycm9y
Y29kZSwgYnJhY291bnQsIG9wdGlvbnMsIFRSVUUpOworICAgICAgICAgICAgICAgIGlmIChlcnJv
cmNvZGUgIT0gMCkgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKKyAgICAgICAgICAgICAgICBpZiAo
LWQgPT0gRVNDX2IpIGQgPSAnXGInOyAgICAgICAgLyogYmFja3NwYWNlICovCisgICAgICAgICAg
ICAgICAgZWxzZSBpZiAoLWQgPT0gRVNDX1gpIGQgPSAnWCc7ICAgIC8qIGxpdGVyYWwgWCBpbiBh
IGNsYXNzICovCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBlbHNlIGlmIChwdHJb
MV0gIT0gJ10nKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwdHIrKzsKKyAg
ICAjaWZkZWYgU1VQUE9SVF9VVEY4CisgICAgICAgICAgICAgICAgaWYgKHV0ZjgpCisgICAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICBpbnQgZXh0cmEgPSAwOworICAgICAgICAg
ICAgICAgICAgLy8gRklYTUU6IERvZXMgdGhpcyB3b3JrIGZvciBoYWxmIGEgc3Vycm9nYXRlIHBh
aXIgYXMgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIHRoZSBwYXR0ZXJuPwk8LS0gdGFiIGlzIGNvbW1p
dCBndWFyZAorICAgICAgICAgICAgICAgICAgR0VUQ0hBUkxFTihkLCBwdHIsIGV4dHJhKTsKKyAg
ICAgICAgICAgICAgICAgIHB0ciArPSBleHRyYTsKKyAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICBlbHNlCisgICAgI2VuZGlmCisgICAgICAgICAgICAgICAgZCA9ICpwdHI7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgIH0KICAgICAgICAgICBpZiAoZCA8IDApIHB0ciA9
IGh5cHRyOyAgICAgIC8qIGdvIGJhY2sgdG8gaHlwaGVuIGFzIGRhdGEgKi8KICAgICAgICAgICB9
CiAKQEAgLTQ0MzcsOSArNDQ3NiwxMCBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICAgIH0KLSAgICB3aGlsZSAoKigrK3B0cikgIT0gMCAm
JiAoaW5lc2NxIHx8ICpwdHIgIT0gJ10nKSk7IC8qIENvbmNsdWRlcyAiZG8iIGFib3ZlICovCisg
ICAgd2hpbGUgKCsrcHRyIDwgcGF0dGVybkVuZCAmJiAoaW5lc2NxIHx8ICpwdHIgIT0gJ10nKSkK
KyAgICAgICAgOyAvKiBDb25jbHVkZXMgImRvIiBhYm92ZSAqLwogCi0gICAgaWYgKCpwdHIgPT0g
MCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE1pc3NpbmcgdGVybWluYXRpbmcgJ10nICov
CisgICAgaWYgKHB0ciA+PSBwYXR0ZXJuRW5kKSAgICAgICAgICAgICAgICAgICAgICAgICAgLyog
TWlzc2luZyB0ZXJtaW5hdGluZyAnXScgKi8KICAgICAgIHsKICAgICAgIGVycm9yY29kZSA9IEVS
UjY7CiAgICAgICBnb3RvIFBDUkVfRVJST1JfUkVUVVJOOwpAQCAtNDQ1Niw3ICs0NDk2LDcgQEAg
d2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgICAvKiBBIHJlcGVhdCBuZWVkcyBlaXRo
ZXIgMSBvciA1IGJ5dGVzLiBJZiBpdCBpcyBhIHBvc3Nlc3NpdmUgcXVhbnRpZmllciwKICAgICAg
IHdlIGFsc28gbmVlZCBleHRyYSBmb3Igd3JhcHBpbmcgdGhlIHdob2xlIHRoaW5nIGluIGEgc3Vi
LXBhdHRlcm4uICovCiAKLSAgICAgIGlmICgqcHRyICE9IDAgJiYgcHRyWzFdID09ICd7JyAmJiBp
c19jb3VudGVkX3JlcGVhdChwdHIrMikpCisgICAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQg
JiYgcHRyWzFdID09ICd7JyAmJiBpc19jb3VudGVkX3JlcGVhdChwdHIrMiwgcGF0dGVybkVuZCkp
CiAgICAgICAgIHsKICAgICAgICAgcHRyID0gcmVhZF9yZXBlYXRfY291bnRzKHB0cisyLCAmbWlu
LCAmbWF4LCAmZXJyb3Jjb2RlKTsKICAgICAgICAgaWYgKGVycm9yY29kZSAhPSAwKSBnb3RvIFBD
UkVfRVJST1JfUkVUVVJOOwpAQCAtNDQ2NCwxMiArNDUwNCwxNSBAQCB3aGlsZSAoKGMgPSAqKCsr
cHRyKSkgIT0gMCkKICAgICAgICAgICAobWluID09IDEgJiYgbWF4ID09IC0xKSkKICAgICAgICAg
ICAgIGxlbmd0aCsrOwogICAgICAgICBlbHNlIGxlbmd0aCArPSA1OwotICAgICAgICBpZiAocHRy
WzFdID09ICcrJykKLSAgICAgICAgICB7Ci0gICAgICAgICAgcHRyKys7Ci0gICAgICAgICAgbGVu
Z3RoICs9IDIgKyAyKkxJTktfU0laRTsKLSAgICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKHB0
clsxXSA9PSAnPycpIHB0cisrOworICAgICAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQpIHsK
KyAgICAgICAgICAgIGlmIChwdHJbMV0gPT0gJysnKQorICAgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgIHB0cisrOworICAgICAgICAgICAgICBsZW5ndGggKz0gMiArIDIqTElOS19TSVpFOwor
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlIGlmIChwdHJbMV0gPT0gJz8nKQorICAg
ICAgICAgICAgICAgIHB0cisrOworICAgICAgICB9CiAgICAgICAgIH0KICAgICAgIH0KICAgICBj
b250aW51ZTsKQEAgLTQ0ODIsMTggKzQ1MjUsMTkgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9
IDApCiAKICAgICAvKiBIYW5kbGUgc3BlY2lhbCBmb3JtcyBvZiBicmFja2V0LCB3aGljaCBhbGwg
c3RhcnQgKD8gKi8KIAotICAgIGlmIChwdHJbMV0gPT0gJz8nKQorICAgIGlmIChwdHIgKyAxIDwg
cGF0dGVybkVuZCAmJiBwdHJbMV0gPT0gJz8nKQogICAgICAgewogICAgICAgaW50IHNldCwgdW5z
ZXQ7CiAgICAgICBpbnQgKm9wdHNldDsKIAotICAgICAgc3dpdGNoIChjID0gcHRyWzJdKQorICAg
ICAgc3dpdGNoIChjID0gKHB0ciArIDIgPCBwYXR0ZXJuRW5kID8gcHRyWzJdIDogMCkpCiAgICAg
ICAgIHsKICAgICAgICAgLyogU2tpcCBvdmVyIGNvbW1lbnRzIGVudGlyZWx5ICovCiAgICAgICAg
IGNhc2UgJyMnOgogICAgICAgICBwdHIgKz0gMzsKLSAgICAgICAgd2hpbGUgKCpwdHIgIT0gMCAm
JiAqcHRyICE9ICcpJykgcHRyKys7Ci0gICAgICAgIGlmICgqcHRyID09IDApCisgICAgICAgIHdo
aWxlIChwdHIgPCBwYXR0ZXJuRW5kICYmICpwdHIgIT0gJyknKQorICAgICAgICAgICAgcHRyKys7
CisgICAgICAgIGlmIChwdHIgPT0gcGF0dGVybkVuZCkKICAgICAgICAgICB7CiAgICAgICAgICAg
ZXJyb3Jjb2RlID0gRVJSMTg7CiAgICAgICAgICAgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKQEAg
LTQ1MjksMTAgKzQ1NzMsMTAgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgICAg
IGlmIChjICE9ICdSJykKICAgICAgICAgICB7CiAgICAgICAgICAgKytwdHI7Ci0gICAgICAgICAg
d2hpbGUgKChESUdJVEFCKCpwdHIpICYgY3R5cGVfZGlnaXQpICE9IDApCisgICAgICAgICAgd2hp
bGUgKHB0ciA8IHBhdHRlcm5FbmQgJiYgKERJR0lUQUIoKnB0cikgJiBjdHlwZV9kaWdpdCkgIT0g
MCkKICAgICAgICAgICAgICsrcHRyOwogICAgICAgICAgIH0KLSAgICAgICAgaWYgKCpwdHIgIT0g
JyknKQorICAgICAgICBpZiAocHRyID49IHBhdHRlcm5FbmQgfHwgKnB0ciAhPSAnKScpCiAgICAg
ICAgICAgewogICAgICAgICAgIGVycm9yY29kZSA9IEVSUjI5OwogICAgICAgICAgIGdvdG8gUENS
RV9FUlJPUl9SRVRVUk47CkBAIC00NTQzLDcgKzQ1ODcsNyBAQCB3aGlsZSAoKGMgPSAqKCsrcHRy
KSkgIT0gMCkKICAgICAgICAgYXMgdG8gdXNlIHRoZSBjb2RlIGZvciBxdWFudGlmaWVkIGJyYWNr
ZXRzLiBXZSBqdW1wIGRvd24gYW5kIHVzZSB0aGUKICAgICAgICAgY29kZSB0aGF0IGhhbmRsZXMg
dGhpcyBmb3IgcmVhbCBicmFja2V0cy4gKi8KIAotICAgICAgICBpZiAocHRyWzFdID09ICcrJyB8
fCBwdHJbMV0gPT0gJyonIHx8IHB0clsxXSA9PSAnPycgfHwgcHRyWzFdID09ICd7JykKKyAgICAg
ICAgaWYgKHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIChwdHJbMV0gPT0gJysnIHx8IHB0clsxXSA9
PSAnKicgfHwgcHRyWzFdID09ICc/JyB8fCBwdHJbMV0gPT0gJ3snKSkKICAgICAgICAgICB7CiAg
ICAgICAgICAgbGVuZ3RoICs9IDIgKyAyICogTElOS19TSVpFOyAgICAgICAvKiB0byBtYWtlIGJy
YWNrZXRlZCAqLwogICAgICAgICAgIGR1cGxlbmd0aCA9IDUgKyAzICogTElOS19TSVpFOwpAQCAt
NDU1Nyw5ICs0NjAxLDkgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAKICAgICAgICAg
Y2FzZSAnQyc6CiAgICAgICAgIHB0ciArPSAzOwotICAgICAgICB3aGlsZSAoKERJR0lUQUIoKnB0
cikgJiBjdHlwZV9kaWdpdCkgIT0gMCkKKyAgICAgICAgd2hpbGUgKHB0ciA8IHBhdHRlcm5FbmQg
JiYgKERJR0lUQUIoKnB0cikgJiBjdHlwZV9kaWdpdCkgIT0gMCkKICAgICAgICAgICArK3B0cjsK
LSAgICAgICAgaWYgKCpwdHIgIT0gJyknKQorICAgICAgICBpZiAocHRyID49IHBhdHRlcm5FbmQg
fHwgKnB0ciAhPSAnKScpCiAgICAgICAgICAgewogICAgICAgICAgIGVycm9yY29kZSA9IEVSUjM5
OwogICAgICAgICAgIGdvdG8gUENSRV9FUlJPUl9SRVRVUk47CkBAIC00NTcxLDEyICs0NjE1LDEz
IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogCiAgICAgICAgIGNhc2UgJ1AnOgogICAg
ICAgICBwdHIgKz0gMzsKLSAgICAgICAgaWYgKCpwdHIgPT0gJzwnKQorICAgICAgICBpZiAocHRy
IDwgcGF0dGVybkVuZCAmJiAqcHRyID09ICc8JykKICAgICAgICAgICB7CiAgICAgICAgICAgY29u
c3QgcGNyZV91Y2hhciAqcDsgICAgLyogRG9uJ3QgYW1hbGdhbWF0ZTsgc29tZSBjb21waWxlcnMg
Ki8KICAgICAgICAgICBwID0gKytwdHI7ICAgICAgICAgIC8qIGdydW1ibGUgYXQgYXV0b2luY3Jl
bWVudCBpbiBkZWNsYXJhdGlvbiAqLwotICAgICAgICAgIHdoaWxlICgoQ1RZUEVTKCZjb21waWxl
X2Jsb2NrLCAqcHRyKSAmIGN0eXBlX3dvcmQpICE9IDApIHB0cisrOwotICAgICAgICAgIGlmICgq
cHRyICE9ICc+JykKKyAgICAgICAgICB3aGlsZSAocHRyIDwgcGF0dGVybkVuZCAmJiAoQ1RZUEVT
KCZjb21waWxlX2Jsb2NrLCAqcHRyKSAmIGN0eXBlX3dvcmQpICE9IDApCisgICAgICAgICAgICAg
IHB0cisrOworICAgICAgICAgIGlmIChwdHIgPj0gcGF0dGVybkVuZCB8fCAqcHRyICE9ICc+JykK
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgIGVycm9yY29kZSA9IEVSUjQyOwogICAgICAgICAg
ICAgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKQEAgLTQ1ODYsMTIgKzQ2MzEsMTIgQEAgd2hpbGUg
KChjID0gKigrK3B0cikpICE9IDApCiAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgfQogCi0g
ICAgICAgIGlmICgqcHRyID09ICc9JyB8fCAqcHRyID09ICc+JykKKyAgICAgICAgaWYgKHB0ciA8
IHBhdHRlcm5FbmQgJiYgKCpwdHIgPT0gJz0nIHx8ICpwdHIgPT0gJz4nKSkKICAgICAgICAgICB7
CiAgICAgICAgICAgKytwdHI7Ci0gICAgICAgICAgd2hpbGUgKChDVFlQRVMoJmNvbXBpbGVfYmxv
Y2ssICpwdHIpICYgY3R5cGVfd29yZCkgIT0gMCkKKyAgICAgICAgICB3aGlsZSAocHRyIDwgcGF0
dGVybkVuZCAmJiAoQ1RZUEVTKCZjb21waWxlX2Jsb2NrLCAqcHRyKSAmIGN0eXBlX3dvcmQpICE9
IDApCiAgICAgICAgICAgICArK3B0cjsKLSAgICAgICAgICBpZiAoKnB0ciAhPSAnKScpCisgICAg
ICAgICAgaWYgKHB0ciA+PSBwYXR0ZXJuRW5kIHx8ICpwdHIgIT0gJyknKQogICAgICAgICAgICAg
ewogICAgICAgICAgICAgZXJyb3Jjb2RlID0gRVJSNDI7CiAgICAgICAgICAgICBnb3RvIFBDUkVf
RVJST1JfUkVUVVJOOwpAQCAtNDYwOCw3ICs0NjUzLDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikp
ICE9IDApCiAKICAgICAgICAgY2FzZSAnPCc6CiAgICAgICAgIHB0ciArPSAzOwotICAgICAgICBp
ZiAoKnB0ciA9PSAnPScgfHwgKnB0ciA9PSAnIScpCisgICAgICAgIGlmIChwdHIgPCBwYXR0ZXJu
RW5kICYmICgqcHRyID09ICc9JyB8fCAqcHRyID09ICchJykpCiAgICAgICAgICAgewogICAgICAg
ICAgIGJyYW5jaF9uZXdleHRyYSA9IDEgKyBMSU5LX1NJWkU7CiAgICAgICAgICAgbGVuZ3RoICs9
IDEgKyBMSU5LX1NJWkU7ICAgICAgICAgLyogRm9yIHRoZSBmaXJzdCBicmFuY2ggKi8KQEAgLTQ2
MjIsMTcgKzQ2NjcsMTggQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgICAgIGdy
b3VwLCBvciAoYSBQQ1JFIGV4dGVuc2lvbikgYnkgJ1InIGZvciBhIHJlY3Vyc2lvbiB0ZXN0LiAq
LwogCiAgICAgICAgIGNhc2UgJygnOgotICAgICAgICBpZiAocHRyWzNdID09ICdSJyAmJiBwdHJb
NF0gPT0gJyknKQorICAgICAgICBpZiAocHRyICsgNCA8IHBhdHRlcm5FbmQgJiYgcHRyWzNdID09
ICdSJyAmJiBwdHJbNF0gPT0gJyknKQogICAgICAgICAgIHsKICAgICAgICAgICBwdHIgKz0gNDsK
ICAgICAgICAgICBsZW5ndGggKz0gMzsKICAgICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKChE
SUdJVEFCKHB0clszXSkgJiBjdHlwZV9kaWdpdCkgIT0gMCkKKyAgICAgICAgZWxzZSBpZiAocHRy
ICsgMyA8IHBhdHRlcm5FbmQgJiYgKERJR0lUQUIocHRyWzNdKSAmIGN0eXBlX2RpZ2l0KSAhPSAw
KQogICAgICAgICAgIHsKICAgICAgICAgICBwdHIgKz0gNDsKICAgICAgICAgICBsZW5ndGggKz0g
MzsKLSAgICAgICAgICB3aGlsZSAoKERJR0lUQUIoKnB0cikgJiBjdHlwZV9kaWdpdCkgIT0gMCkg
cHRyKys7Ci0gICAgICAgICAgaWYgKCpwdHIgIT0gJyknKQorICAgICAgICAgIHdoaWxlIChwdHIg
PCBwYXR0ZXJuRW5kICYmIChESUdJVEFCKCpwdHIpICYgY3R5cGVfZGlnaXQpICE9IDApCisgICAg
ICAgICAgICAgIHB0cisrOworICAgICAgICAgIGlmIChwdHIgPj0gcGF0dGVybkVuZCB8fCAqcHRy
ICE9ICcpJykKICAgICAgICAgICAgIHsKICAgICAgICAgICAgIGVycm9yY29kZSA9IEVSUjI2Owog
ICAgICAgICAgICAgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKQEAgLTQ2NDEsNyArNDY4Nyw3IEBA
IHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgICAgICBlbHNlICAgLyogQW4gYXNzZXJ0
aW9uIG11c3QgZm9sbG93ICovCiAgICAgICAgICAgewogICAgICAgICAgIHB0cisrOyAgIC8qIENh
biB0cmVhdCBsaWtlICc6JyBhcyBmYXIgYXMgc3BhY2luZyBpcyBjb25jZXJuZWQgKi8KLSAgICAg
ICAgICBpZiAocHRyWzJdICE9ICc/JyB8fAorICAgICAgICAgIGlmIChwdHIgKyAzID49IHBhdHRl
cm5FbmQgfHwgcHRyWzJdICE9ICc/JyB8fAogICAgICAgICAgICAgIChwdHJbM10gIT0gJz0nICYm
IHB0clszXSAhPSAnIScgJiYgcHRyWzNdICE9ICc8JykgKQogICAgICAgICAgICAgewogICAgICAg
ICAgICAgcHRyICs9IDI7ICAgIC8qIFRvIGdldCByaWdodCBvZmZzZXQgaW4gbWVzc2FnZSAqLwpA
QCAtNDY2Myw3ICs0NzA5LDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAKICAgICAg
ICAgZm9yICg7OyBwdHIrKykKICAgICAgICAgICB7Ci0gICAgICAgICAgYyA9ICpwdHI7CisgICAg
ICAgICAgYyA9IHB0ciA8IHBhdHRlcm5FbmQgPyAqcHRyIDogMDsKICAgICAgICAgICBzd2l0Y2gg
KGMpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICBjYXNlICdpJzoKQEAgLTQ4MzEsNyArNDg3
Nyw3IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgIC8qIExlYXZlIHB0ciBhdCB0
aGUgZmluYWwgY2hhcjsgZm9yIHJlYWRfcmVwZWF0X2NvdW50cyB0aGlzIGhhcHBlbnMKICAgICBh
dXRvbWF0aWNhbGx5OyBmb3IgdGhlIG90aGVycyB3ZSBuZWVkIGFuIGluY3JlbWVudC4gKi8KIAot
ICAgIGlmICgoYyA9IHB0clsxXSkgPT0gJ3snICYmIGlzX2NvdW50ZWRfcmVwZWF0KHB0cisyKSkK
KyAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgKGMgPSBwdHJbMV0pID09ICd7JyAmJiBp
c19jb3VudGVkX3JlcGVhdChwdHIrMiwgcGF0dGVybkVuZCkpCiAgICAgICB7CiAgICAgICBwdHIg
PSByZWFkX3JlcGVhdF9jb3VudHMocHRyKzIsICZtaW4sICZtYXgsICZlcnJvcmNvZGUpOwogICAg
ICAgaWYgKGVycm9yY29kZSAhPSAwKSBnb3RvIFBDUkVfRVJST1JfUkVUVVJOOwpAQCAtNDg2OCw3
ICs0OTE0LDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAKICAgICAvKiBBbGxvdyBz
cGFjZSBmb3Igb25jZSBicmFja2V0cyBmb3IgInBvc3Nlc3NpdmUgcXVhbnRpZmllciIgKi8KIAot
ICAgIGlmIChwdHJbMV0gPT0gJysnKQorICAgIGlmIChwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiBw
dHJbMV0gPT0gJysnKQogICAgICAgewogICAgICAgcHRyKys7CiAgICAgICBsZW5ndGggKz0gMiAr
IDIqTElOS19TSVpFOwpAQCAtNDg4Miw3ICs0OTI4LDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikp
ICE9IDApCiAgICAgZGVmYXVsdDoKICAgICBOT1JNQUxfQ0hBUjoKIAotICAgIGlmIChpbmVzY3Eg
JiYgYyA9PSAnXFwnICYmIHB0clsxXSA9PSAnRScpCisgICAgaWYgKGluZXNjcSAmJiBjID09ICdc
XCcgJiYgcHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICdFJykKICAgICAgIHsKICAg
ICAgIGluZXNjcSA9IEZBTFNFOwogICAgICAgcHRyKys7CkBAIC00ODk5LDcgKzQ5NDUsNyBAQCB3
aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKICAgICAgIHsKICAgICAgICAgaWYgKElTX0xFQURJ
TkdfU1VSUk9HQVRFKGMpKQogICAgICAgICAgIHsKLSAgICAgICAgICBjID0gREVDT0RFX1NVUlJP
R0FURV9QQUlSKGMsICpwdHIpOworICAgICAgICAgIGMgPSBERUNPREVfU1VSUk9HQVRFX1BBSVIo
YywgcHRyIDwgcGF0dGVybkVuZCA/ICpwdHIgOiAwKTsKICAgICAgICAgICArK3B0cjsKICAgICAg
ICAgICB9CiAKQEAgLTQ5MTUsNyArNDk2MSw3IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAw
KQogI2lmZGVmIFNVUFBPUlRfVVRGOAogICAgIGlmICh1dGY4ICYmIChjICYgMHhjMCkgPT0gMHhj
MCkKICAgICAgIHsKLSAgICAgIHdoaWxlICgocHRyWzFdICYgMHhjMCkgPT0gMHg4MCkgICAgICAg
ICAvKiBDYW4ndCBmbG93IG92ZXIgdGhlIGVuZCAqLworICAgICAgd2hpbGUgKHB0ciArIDEgPCBw
YXR0ZXJuRW5kICYmIChwdHJbMV0gJiAweGMwKSA9PSAweDgwKSAgICAgICAgIC8qIENhbid0IGZs
b3cgb3ZlciB0aGUgZW5kICovCiAgICAgICAgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLyogYmVjYXVzZSB0aGUgZW5kIGlzIG1hcmtlZCAqLwogICAgICAgICBsYXN0aXRl
bWxlbmd0aCsrOyAgICAgICAgICAgICAgICAgICAgIC8qIGJ5IGEgemVybyBieXRlLiAqLwogICAg
ICAgICBsZW5ndGgrKzsKQEAgLTQ5ODgsNyArNTAzNCw3IEBAIHB0ciA9IChjb25zdCBwY3JlX3Vj
aGFyICopcGF0dGVybjsKIGNvZGUgPSAodXNjaGFyICopY29kZXN0YXJ0OwogKmNvZGUgPSBPUF9C
UkE7CiBicmFjb3VudCA9IDA7Ci0odm9pZCljb21waWxlX3JlZ2V4KG9wdGlvbnMsIG9wdGlvbnMg
JiBQQ1JFX0lNUywgJmJyYWNvdW50LCAmY29kZSwgJnB0ciwKKyh2b2lkKWNvbXBpbGVfcmVnZXgo
b3B0aW9ucywgb3B0aW9ucyAmIFBDUkVfSU1TLCAmYnJhY291bnQsICZjb2RlLCAmcHRyLCBwYXR0
ZXJuRW5kLAogICAmZXJyb3Jjb2RlLCBGQUxTRSwgMCwgJmZpcnN0Ynl0ZSwgJnJlcWJ5dGUsIE5V
TEwsICZjb21waWxlX2Jsb2NrKTsKIHJlLT50b3BfYnJhY2tldCA9IGJyYWNvdW50OwogcmUtPnRv
cF9iYWNrcmVmID0gY29tcGlsZV9ibG9jay50b3BfYmFja3JlZjsKQEAgLTQ5OTcsNyArNTA0Myw3
IEBAIGlmIChjb21waWxlX2Jsb2NrLm5vcGFydGlhbCkgcmUtPm9wdGlvbnMKIAogLyogSWYgbm90
IHJlYWNoZWQgZW5kIG9mIHBhdHRlcm4gb24gc3VjY2VzcywgdGhlcmUncyBhbiBleGNlc3MgYnJh
Y2tldC4gKi8KIAotaWYgKGVycm9yY29kZSA9PSAwICYmICpwdHIgIT0gMCkgZXJyb3Jjb2RlID0g
RVJSMjI7CitpZiAoZXJyb3Jjb2RlID09IDAgJiYgcHRyIDwgcGF0dGVybkVuZCkgZXJyb3Jjb2Rl
ID0gRVJSMjI7CiAKIC8qIEZpbGwgaW4gdGhlIHRlcm1pbmF0aW5nIHN0YXRlIGFuZCBjaGVjayBm
b3IgZGlzYXN0cm91cyBvdmVyZmxvdywgYnV0CiBpZiBkZWJ1Z2dpbmcsIGxlYXZlIHRoZSB0ZXN0
IHRpbGwgYWZ0ZXIgdGhpbmdzIGFyZSBwcmludGVkIG91dC4gKi8KSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vUmVndWxhckV4cHJlc3Npb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vUmVndWxhckV4cHJlc3Npb24uY3BwCShyZXZpc2lvbiAxODQ1NykKKysrIFdlYkNvcmUvcGxh
dGZvcm0vUmVndWxhckV4cHJlc3Npb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsOSArMTAz
LDcgQEAgdm9pZCBSZWd1bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZTo6Y29tcGlsZQogICAgIAogICAg
IGNvbnN0IGNoYXIgKmVycm9yTWVzc2FnZTsKICAgICBpbnQgZXJyb3JPZmZzZXQ7Ci0gICAgY2hh
ciBudWxsID0gMDsKLSAgICBwLmFwcGVuZChudWxsKTsKLSAgICByZWdleCA9IHBjcmVfY29tcGls
ZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQxNl90ICo+KHAudW5pY29kZSgpKSwgY2FzZVNl
bnNpdGl2ZSA/IDAgOiBQQ1JFX0NBU0VMRVNTLCAmZXJyb3JNZXNzYWdlLCAmZXJyb3JPZmZzZXQs
IE5VTEwpOworICAgIHJlZ2V4ID0gcGNyZV9jb21waWxlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qg
dWludDE2X3QgKj4ocC51bmljb2RlKCkpLCBwLmxlbmd0aCgpLCBjYXNlU2Vuc2l0aXZlID8gMCA6
IFBDUkVfQ0FTRUxFU1MsICZlcnJvck1lc3NhZ2UsICZlcnJvck9mZnNldCwgTlVMTCk7CiAgICAg
aWYgKHJlZ2V4ID09IE5VTEwpIHsKICAgICAgICAgTE9HX0VSUk9SKCJSZWd1bGFyRXhwcmVzc2lv
bjogcGNyZV9jb21waWxlIGZhaWxlZCB3aXRoICclcyciLCBlcnJvck1lc3NhZ2UpOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12106</attachid>
            <date>2006-12-29 08:37:22 -0800</date>
            <delta_ts>2007-01-01 08:55:07 -0800</delta_ts>
            <desc>Change pcre_compile to take the pattern&apos;s length and work with patterns containing null characters</desc>
            <filename>11849_pcre_r6.patch</filename>
            <type>text/plain</type>
            <size>117252</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NDc0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzQgQEAKKzIwMDYtMTItMjkgIE1pdHogUGV0
dGVsICA8bWl0ekB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIC0gZml4IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExODQ5CisgICAgICAgICAgUkVHUkVTU0lPTiAocjE4MTgyKTogR29vZ2xlIENhbGVuZGFy
IGlzIGJyb2tlbiAoYSByZWd1bGFyIGV4cHJlc3Npb24gY29udGFpbmluZyBhIG51bGwgY2hhcmFj
dGVyIGlzIG5vdCBwYXJzZWQgY29ycmVjdGx5KQorCisgICAgICAgIE1vZGlmaWVkIHBjcmVfY29t
cGlsZSgpIChhbmQgdGhlIGZ1bmN0aW9ucyB0aGF0IGl0IGNhbGxzKSB0byB3b3JrIHdpdGggcGF0
dGVybnMKKyAgICAgICAgY29udGFpbmluZyBudWxsIGNoYXJhY3RlcnMuCisKKyAgICAgICAgQ292
ZXJlZCBieSBKYXZhU2NyaXB0Q29yZSB0ZXN0cyBlY21hXzMvUmVnRXhwL29jdGFsLTAwMi5qcyBh
bmQgZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTg1NzIxLmpzCisKKyAgICAgICAgKiBranMvcmVnZXhw
LmNwcDoKKyAgICAgICAgKEtKUzo6UmVnRXhwOjpSZWdFeHApOiBDaGFuZ2VkIHRvIG5vdCBudWxs
LXRlcm1pbmF0ZSB0aGUgcGF0dGVybiBzdHJpbmcgYW5kIGluc3RlYWQKKyAgICAgICAgcGFzcyBp
dHMgbGVuZ3RoIHRvIHBjcmVfY29tcGlsZS4KKyAgICAgICAgKiBwY3JlL3BjcmUuaDoKKyAgICAg
ICAgKiBwY3JlL3BjcmVfY29tcGlsZS5jOgorICAgICAgICAoY2hlY2tfZXNjYXBlKToKKyAgICAg
ICAgKGdldF91Y3ApOgorICAgICAgICAoaXNfY291bnRlZF9yZXBlYXQpOgorICAgICAgICAoY2hl
Y2tfcG9zaXhfc3ludGF4KToKKyAgICAgICAgKGNvbXBpbGVfYnJhbmNoKToKKyAgICAgICAgKGNv
bXBpbGVfcmVnZXgpOgorICAgICAgICAocGNyZV9jb21waWxlKTogQWRkZWQgYSBwYXJhbWV0ZXIg
c3BlY2lmeWluZyB0aGUgbGVuZ3RoIG9mIHRoZSBwYXR0ZXJuLCB3aGljaAorICAgICAgICBpcyBu
byBsb25nZXIgcmVxdWlyZWQgdG8gYmUgbnVsbC10ZXJtaW5hdGVkIGFuZCBtYXkgY29udGFpbiBu
dWxsIGNoYXJhY3RlcnMuIAorICAgICAgICAocGNyZV9jb21waWxlMik6CisgICAgICAgICogcGNy
ZS9wY3JlX2ludGVybmFsLmg6CisgICAgICAgICogdGVzdHMvbW96aWxsYS9leHBlY3RlZC5odG1s
OiBVcGRhdGVkIGZvciB0aGUgdHdvIHRlc3RzIHRoYXQgdGhpcyBwYXRjaAorICAgICAgICBmaXhl
cy4gQWxzbyB1cGRhdGVkIGZhaWxpbmcgcmVzdWx0cyBmb3IgZWNtYV8zL1JlZ0V4cC9yZWdyZXNz
LTEwMDE5OS5qcworICAgICAgICB3aGljaCB3ZXJlIG5vdCB1cGRhdGVkIGFmdGVyIGJ1ZyA2MjU3
IHdhcyBmaXhlZC4KKwogMjAwNi0xMi0yOCAgR2VvcmdlIFN0YWlrb3MgIDxzdGFpa29zQGtkZS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xsaWVqLgpJbmRleDogSmF2YVNjcmlwdENvcmUv
a2pzL3JlZ2V4cC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL3JlZ2V4cC5j
cHAJKHJldmlzaW9uIDE4NDU3KQorKysgSmF2YVNjcmlwdENvcmUva2pzL3JlZ2V4cC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQ3LDE1ICs0NywxMiBAQCBSZWdFeHA6OlJlZ0V4cChjb25zdCBVU3Ry
aW5nICZwLCBpbnQgZmxhCiAgIGNvbnN0IGNoYXIgKmVycm9yTWVzc2FnZTsKICAgaW50IGVycm9y
T2Zmc2V0OwogICAKLSAgVVN0cmluZyBwYXR0ZXJuKHApOwotICAKLSAgcGF0dGVybi5hcHBlbmQo
J1wwJyk7Ci0gIG1fcmVnZXggPSBwY3JlX2NvbXBpbGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1
aW50MTZfdCo+KHBhdHRlcm4uZGF0YSgpKSwKKyAgbV9yZWdleCA9IHBjcmVfY29tcGlsZShyZWlu
dGVycHJldF9jYXN0PGNvbnN0IHVpbnQxNl90Kj4ocC5kYXRhKCkpLCBwLnNpemUoKSwKICAgICAg
ICAgICAgICAgICAgICAgICAgIG9wdGlvbnMsICZlcnJvck1lc3NhZ2UsICZlcnJvck9mZnNldCwg
TlVMTCk7CiAgIGlmICghbV9yZWdleCkgewogICAgIC8vIFRyeSBhZ2FpbiwgdGhpcyB0aW1lIGhh
bmRsZSBhbnkgXHUgd2UgbWlnaHQgZmluZC4KLSAgICBVU3RyaW5nIHVQYXR0ZXJuID0gc2FuaXRp
emVQYXR0ZXJuKHBhdHRlcm4pOwotICAgIG1fcmVnZXggPSBwY3JlX2NvbXBpbGUocmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCB1aW50MTZfdCo+KHVQYXR0ZXJuLmRhdGEoKSksCisgICAgVVN0cmluZyB1
UGF0dGVybiA9IHNhbml0aXplUGF0dGVybihwKTsKKyAgICBtX3JlZ2V4ID0gcGNyZV9jb21waWxl
KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDE2X3QqPih1UGF0dGVybi5kYXRhKCkpLCB1UGF0
dGVybi5zaXplKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnMsICZlcnJvck1l
c3NhZ2UsICZlcnJvck9mZnNldCwgTlVMTCk7CiAgICAgaWYgKCFtX3JlZ2V4KSB7CiAgICAgICBt
X2NvbnN0cnVjdGlvbkVycm9yID0gc3RyZHVwKGVycm9yTWVzc2FnZSk7CkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS9wY3JlL3BjcmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9wY3JlL3Bj
cmUuaAkocmV2aXNpb24gMTg0NTcpCisrKyBKYXZhU2NyaXB0Q29yZS9wY3JlL3BjcmUuaAkod29y
a2luZyBjb3B5KQpAQCAtMjM3LDkgKzIzNyw5IEBAIFBDUkVfREFUQV9TQ09QRSBpbnQgICBwY3Jl
X2NhbGxvdXQocGNyZV8KIAogLyogRXhwb3J0ZWQgUENSRSBmdW5jdGlvbnMgKi8KIAotUENSRV9E
QVRBX1NDT1BFIHBjcmUgKnBjcmVfY29tcGlsZShjb25zdCBwY3JlX2NoYXIgKiwgaW50LCBjb25z
dCBjaGFyICoqLCBpbnQgKiwKK1BDUkVfREFUQV9TQ09QRSBwY3JlICpwY3JlX2NvbXBpbGUoY29u
c3QgcGNyZV9jaGFyICosIGludCwgaW50LCBjb25zdCBjaGFyICoqLCBpbnQgKiwKICAgICAgICAg
ICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKik7Ci1QQ1JFX0RBVEFfU0NPUEUgcGNyZSAq
cGNyZV9jb21waWxlMihjb25zdCBwY3JlX2NoYXIgKiwgaW50LCBpbnQgKiwgY29uc3QgY2hhciAq
KiwKK1BDUkVfREFUQV9TQ09QRSBwY3JlICpwY3JlX2NvbXBpbGUyKGNvbnN0IHBjcmVfY2hhciAq
LCBpbnQsIGludCwgaW50ICosIGNvbnN0IGNoYXIgKiosCiAgICAgICAgICAgICAgICAgICBpbnQg
KiwgY29uc3QgdW5zaWduZWQgY2hhciAqKTsKIFBDUkVfREFUQV9TQ09QRSBpbnQgIHBjcmVfY29u
ZmlnKGludCwgdm9pZCAqKTsKIFBDUkVfREFUQV9TQ09QRSBpbnQgIHBjcmVfY29weV9uYW1lZF9z
dWJzdHJpbmcoY29uc3QgcGNyZSAqLCBjb25zdCBwY3JlX2NoYXIgKiwKSW5kZXg6IEphdmFTY3Jp
cHRDb3JlL3BjcmUvcGNyZV9jb21waWxlLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUv
cGNyZS9wY3JlX2NvbXBpbGUuYwkocmV2aXNpb24gMTg0NTcpCisrKyBKYXZhU2NyaXB0Q29yZS9w
Y3JlL3BjcmVfY29tcGlsZS5jCSh3b3JraW5nIGNvcHkpCkBAIC0zNDYsNyArMzQ2LDcgQEAgc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgZWJjZGljX2NoYXJ0YQogLyogRGVmaW5pdGlvbiB0byBh
bGxvdyBtdXR1YWwgcmVjdXJzaW9uICovCiAKIHN0YXRpYyBCT09MCi0gIGNvbXBpbGVfcmVnZXgo
aW50LCBpbnQsIGludCAqLCB1c2NoYXIgKiosIGNvbnN0IHBjcmVfdWNoYXIgKiosIGludCAqLCBC
T09MLCBpbnQsCisgIGNvbXBpbGVfcmVnZXgoaW50LCBpbnQsIGludCAqLCB1c2NoYXIgKiosIGNv
bnN0IHBjcmVfdWNoYXIgKiosIGNvbnN0IHBjcmVfdWNoYXIgY29uc3QqLCBpbnQgKiwgQk9PTCwg
aW50LAogICAgIGludCAqLCBpbnQgKiwgYnJhbmNoX2NoYWluICosIGNvbXBpbGVfZGF0YSAqKTsK
IAogCkBAIC0zNzQsNyArMzc0LDcgQEAgUmV0dXJuczogICAgICAgICB6ZXJvIG9yIHBvc2l0aXZl
ID0+IGEgZAogKi8KIAogc3RhdGljIGludAotY2hlY2tfZXNjYXBlKGNvbnN0IHBjcmVfdWNoYXIg
KipwdHJwdHIsIGludCAqZXJyb3Jjb2RlcHRyLCBpbnQgYnJhY291bnQsCitjaGVja19lc2NhcGUo
Y29uc3QgcGNyZV91Y2hhciAqKnB0cnB0ciwgY29uc3QgcGNyZV91Y2hhciBjb25zdCogcGF0dGVy
bkVuZCwgaW50ICplcnJvcmNvZGVwdHIsIGludCBicmFjb3VudCwKICAgaW50IG9wdGlvbnMsIEJP
T0wgaXNjbGFzcykKIHsKIGNvbnN0IHBjcmVfdWNoYXIgKnB0ciA9ICpwdHJwdHI7CkBAIC0zODIs
MTkgKzM4MiwyNCBAQCBpbnQgYywgaTsKIAogLyogSWYgYmFja3NsYXNoIGlzIGF0IHRoZSBlbmQg
b2YgdGhlIHBhdHRlcm4sIGl0J3MgYW4gZXJyb3IuICovCiAKLWMgPSAqKCsrcHRyKTsKLWlmIChj
ID09IDApICplcnJvcmNvZGVwdHIgPSBFUlIxOworaWYgKCsrcHRyID09IHBhdHRlcm5FbmQpIHsK
KyAgICAqZXJyb3Jjb2RlcHRyID0gRVJSMTsKKyAgICAqcHRycHRyID0gcHRyOworICAgIHJldHVy
biAwOworfQorCitjID0gKnB0cjsKIAogLyogTm9uLWFscGhhbWVyaWNzIGFyZSBsaXRlcmFscy4g
Rm9yIGRpZ2l0cyBvciBsZXR0ZXJzLCBkbyBhbiBpbml0aWFsIGxvb2t1cCBpbgogYSB0YWJsZS4g
QSBub24temVybyByZXN1bHQgaXMgc29tZXRoaW5nIHRoYXQgY2FuIGJlIHJldHVybmVkIGltbWVk
aWF0ZWx5LgogT3RoZXJ3aXNlIGZ1cnRoZXIgcHJvY2Vzc2luZyBtYXkgYmUgcmVxdWlyZWQuICov
CiAKICNpZiAhRUJDRElDICAgIC8qIEFTQ0lJIGNvZGluZyAqLwotZWxzZSBpZiAoYyA8ICcwJyB8
fCBjID4gJ3onKSB7fSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE5vdCBhbHBoYW1lcmlj
ICovCitpZiAoYyA8ICcwJyB8fCBjID4gJ3onKSB7fSAgICAgICAgICAgICAgICAgICAgICAgICAg
IC8qIE5vdCBhbHBoYW1lcmljICovCiBlbHNlIGlmICgoaSA9IGVzY2FwZXNbYyAtICcwJ10pICE9
IDApIGMgPSBpOwogCiAjZWxzZSAgICAgICAgICAvKiBFQkNESUMgY29kaW5nICovCi1lbHNlIGlm
IChjIDwgJ2EnIHx8IChlYmNkaWNfY2hhcnRhYltjXSAmIDB4MEUpID09IDApIHt9ICAgLyogTm90
IGFscGhhbWVyaWMgKi8KK2lmIChjIDwgJ2EnIHx8IChlYmNkaWNfY2hhcnRhYltjXSAmIDB4MEUp
ID09IDApIHt9ICAgLyogTm90IGFscGhhbWVyaWMgKi8KIGVsc2UgaWYgKChpID0gZXNjYXBlc1tj
IC0gMHg0OF0pICE9IDApICBjID0gaTsKICNlbmRpZgogCkBAIC00MzUsNyArNDQwLDcgQEAgZWxz
ZQogICAgICAgewogICAgICAgb2xkcHRyID0gcHRyOwogICAgICAgYyAtPSAnMCc7Ci0gICAgICB3
aGlsZSAoKERJR0lUQUIocHRyWzFdKSAmIGN0eXBlX2RpZ2l0KSAhPSAwKQorICAgICAgd2hpbGUg
KHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIChESUdJVEFCKHB0clsxXSkgJiBjdHlwZV9kaWdpdCkg
IT0gMCkKICAgICAgICAgYyA9IGMgKiAxMCArICooKytwdHIpIC0gJzAnOwogICAgICAgaWYgKGMg
PCAxMCB8fCBjIDw9IGJyYWNvdW50KQogICAgICAgICB7CkBAIC00NjEsNyArNDY2LDcgQEAgZWxz
ZQogCiAgICAgY2FzZSAnMCc6CiAgICAgYyAtPSAnMCc7Ci0gICAgd2hpbGUoaSsrIDwgMiAmJiBw
dHJbMV0gPj0gJzAnICYmIHB0clsxXSA8PSAnNycpCisgICAgd2hpbGUgKGkrKyA8IDIgJiYgcHRy
ICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID49ICcwJyAmJiBwdHJbMV0gPD0gJzcnKQogICAg
ICAgICBjID0gYyAqIDggKyAqKCsrcHRyKSAtICcwJzsKICAgICBjICY9IDI1NTsgICAgIC8qIFRh
a2UgbGVhc3Qgc2lnbmlmaWNhbnQgOCBiaXRzICovCiAgICAgYnJlYWs7CkBAIC00NzEsMTIgKzQ3
NiwxMiBAQCBlbHNlCiAKICAgICBjYXNlICd4JzoKICNpZmRlZiBTVVBQT1JUX1VURjgKLSAgICBp
ZiAocHRyWzFdID09ICd7JyAmJiAob3B0aW9ucyAmIFBDUkVfVVRGOCkgIT0gMCkKKyAgICBpZiAo
cHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICd7JyAmJiAob3B0aW9ucyAmIFBDUkVf
VVRGOCkgIT0gMCkKICAgICAgIHsKICAgICAgIGNvbnN0IHBjcmVfdWNoYXIgKnB0ID0gcHRyICsg
MjsKICAgICAgIHJlZ2lzdGVyIGludCBjb3VudCA9IDA7CiAgICAgICBjID0gMDsKLSAgICAgIHdo
aWxlICgoRElHSVRBQigqcHQpICYgY3R5cGVfeGRpZ2l0KSAhPSAwKQorICAgICAgd2hpbGUgKHB0
IDwgcGF0dGVybkVuZCAmJiAoRElHSVRBQigqcHQpICYgY3R5cGVfeGRpZ2l0KSAhPSAwKQogICAg
ICAgICB7CiAgICAgICAgIGludCBjYyA9ICpwdCsrOwogICAgICAgICBjb3VudCsrOwpAQCAtNDg4
LDcgKzQ5Myw3IEBAIGVsc2UKICAgICAgICAgYyA9IGMgKiAxNiArIGNjIC0gKChjYyA+PSAnMCcp
PyAnMCcgOiAoJ0EnIC0gMTApKTsKICNlbmRpZgogICAgICAgICB9Ci0gICAgICBpZiAoKnB0ID09
ICd9JykKKyAgICAgIGlmIChwdCA8IHBhdHRlcm5FbmQgJiYgKnB0ID09ICd9JykKICAgICAgICAg
ewogICAgICAgICBpZiAoYyA8IDAgfHwgY291bnQgPiA4IHx8IChjID49IDB4ZDgwMCAmJiBjIDw9
IDB4ZGJmZikgfHwgKGMgPj0gMHhmZGQwICYmIGMgPD0gMHhmZGVmKSB8fCBjID09IDB4ZmZmZSB8
fCBjID09IDB4ZmZmZiB8fCBjID4gMHgxMEZGRkYpICplcnJvcmNvZGVwdHIgPSBFUlIzNDsKICAg
ICAgICAgcHRyID0gcHQ7CkBAIC01MDIsNyArNTA3LDcgQEAgZWxzZQogICAgIC8qIFJlYWQganVz
dCBhIHNpbmdsZSBoZXggY2hhciAqLwogCiAgICAgYyA9IDA7Ci0gICAgd2hpbGUgKGkrKyA8IDIg
JiYgKERJR0lUQUIocHRyWzFdKSAmIGN0eXBlX3hkaWdpdCkgIT0gMCkKKyAgICB3aGlsZSAoaSsr
IDwgMiAmJiBwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiAoRElHSVRBQihwdHJbMV0pICYgY3R5cGVf
eGRpZ2l0KSAhPSAwKQogICAgICAgewogICAgICAgaW50IGNjOyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAvKiBTb21lIGNvbXBpbGVycyBkb24ndCBsaWtlICsrICovCiAgICAgICBjYyA9
ICooKytwdHIpOyAgICAgICAgICAgICAgICAgICAgICAgIC8qIGluIGluaXRpYWxpemVycyAqLwpA
QCAtNTE5LDEyICs1MjQsMTIgQEAgZWxzZQogICAgIC8qIE90aGVyIHNwZWNpYWwgZXNjYXBlcyBu
b3Qgc3RhcnRpbmcgd2l0aCBhIGRpZ2l0IGFyZSBzdHJhaWdodGZvcndhcmQgKi8KIAogICAgIGNh
c2UgJ2MnOgotICAgIGMgPSAqKCsrcHRyKTsKLSAgICBpZiAoYyA9PSAwKQorICAgIGlmICgrK3B0
ciA9PSBwYXR0ZXJuRW5kKQogICAgICAgewogICAgICAgKmVycm9yY29kZXB0ciA9IEVSUjI7CiAg
ICAgICByZXR1cm4gMDsKICAgICAgIH0KKyAgICBjID0gKnB0cjsKIAogICAgIC8qIEEgbGV0dGVy
IGlzIHVwcGVyLWNhc2VkOyB0aGVuIHRoZSAweDQwIGJpdCBpcyBmbGlwcGVkLiBUaGlzIGNvZGlu
ZwogICAgIGlzIEFTQ0lJLXNwZWNpZmljLCBidXQgdGhlbiB0aGUgd2hvbGUgY29uY2VwdCBvZiBc
Y3ggaXMgQVNDSUktc3BlY2lmaWMuCkBAIC01ODEsMTQgKzU4NiwxNCBAQCBSZXR1cm5zOiAgICAg
dmFsdWUgZnJvbSB1Y3BfdHlwZV90YWJsZSwgCiAqLwogCiBzdGF0aWMgaW50Ci1nZXRfdWNwKGNv
bnN0IHBjcmVfdWNoYXIgKipwdHJwdHIsIEJPT0wgKm5lZ3B0ciwgaW50ICplcnJvcmNvZGVwdHIp
CitnZXRfdWNwKGNvbnN0IHBjcmVfdWNoYXIgKipwdHJwdHIsIGNvbnN0IHBjcmVfdWNoYXIgY29u
c3QqIHBhdHRlcm5FbmQsIEJPT0wgKm5lZ3B0ciwgaW50ICplcnJvcmNvZGVwdHIpCiB7CiBpbnQg
YywgaSwgYm90LCB0b3A7CiBjb25zdCBwY3JlX3VjaGFyICpwdHIgPSAqcHRycHRyOwogY2hhciBu
YW1lWzRdOwogCi1jID0gKigrK3B0cik7Ci1pZiAoYyA9PSAwKSBnb3RvIEVSUk9SX1JFVFVSTjsK
K2lmICgrK3B0ciA9PSBwYXR0ZXJuRW5kKSBnb3RvIEVSUk9SX1JFVFVSTjsKK2MgPSAqcHRyOwog
CiAqbmVncHRyID0gRkFMU0U7CiAKQEAgLTU5NywyMiArNjAyLDIzIEBAIHByZWNlZGVkIGJ5IF4g
Zm9yIG5lZ2F0aW9uLiAqLwogCiBpZiAoYyA9PSAneycpCiAgIHsKLSAgaWYgKHB0clsxXSA9PSAn
XicpCisgIGlmIChwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiBwdHJbMV0gPT0gJ14nKQogICAgIHsK
ICAgICAqbmVncHRyID0gVFJVRTsKICAgICBwdHIrKzsKICAgICB9CiAgIGZvciAoaSA9IDA7IGkg
PD0gMjsgaSsrKQogICAgIHsKLSAgICBjID0gKigrK3B0cik7Ci0gICAgaWYgKGMgPT0gMCkgZ290
byBFUlJPUl9SRVRVUk47CisgICAgaWYgKCsrcHRyID09IHBhdHRlcm5FbmQpIGdvdG8gRVJST1Jf
UkVUVVJOOworICAgIGMgPSAqcHRyOwogICAgIGlmIChjID09ICd9JykgYnJlYWs7CiAgICAgaWYg
KGMgPiAxMjcpIGdvdG8gRVJST1JfUkVUVVJOOwogICAgIG5hbWVbaV0gPSBjOwogICAgIH0KICAg
aWYgKGMgIT0nfScpICAgLyogVHJ5IHRvIGRpc3Rpbmd1aXNoIGVycm9yIGNhc2VzICovCiAgICAg
ewotICAgIHdoaWxlICgqKCsrcHRyKSAhPSAwICYmICpwdHIgIT0gJ30nKTsKKyAgICB3aGlsZSAo
KytwdHIgPCBwYXR0ZXJuRW5kICYmICpwdHIgIT0gJ30nKQorICAgICAgICA7CiAgICAgaWYgKCpw
dHIgPT0gJ30nKSBnb3RvIFVOS05PV05fUkVUVVJOOyBlbHNlIGdvdG8gRVJST1JfUkVUVVJOOwog
ICAgIH0KICAgbmFtZVtpXSA9IDA7CkBAIC02NzMsMjEgKzY3OSwyOCBAQCBSZXR1cm5zOiAgICBU
UlVFIG9yIEZBTFNFCiAqLwogCiBzdGF0aWMgQk9PTAotaXNfY291bnRlZF9yZXBlYXQoY29uc3Qg
cGNyZV91Y2hhciAqcCkKK2lzX2NvdW50ZWRfcmVwZWF0KGNvbnN0IHBjcmVfdWNoYXIgKnAsIGNv
bnN0IHBjcmVfdWNoYXIgY29uc3QqIHBhdHRlcm5FbmQpCiB7Ci1pZiAoKERJR0lUQUIoKnApICYg
Y3R5cGVfZGlnaXQpID09IDApIHJldHVybiBGQUxTRTsKK2lmIChwID49IHBhdHRlcm5FbmQgfHwg
KERJR0lUQUIoKnApICYgY3R5cGVfZGlnaXQpID09IDApCisgICAgcmV0dXJuIEZBTFNFOwogcCsr
Owotd2hpbGUgKChESUdJVEFCKCpwKSAmIGN0eXBlX2RpZ2l0KSAhPSAwKSBwKys7Ci1pZiAoKnAg
PT0gJ30nKSByZXR1cm4gVFJVRTsKK3doaWxlIChwIDwgcGF0dGVybkVuZCAmJiAoRElHSVRBQigq
cCkgJiBjdHlwZV9kaWdpdCkgIT0gMCkKKyAgICBwKys7CitpZiAocCA8IHBhdHRlcm5FbmQgJiYg
KnAgPT0gJ30nKQorICAgIHJldHVybiBUUlVFOwogCi1pZiAoKnArKyAhPSAnLCcpIHJldHVybiBG
QUxTRTsKLWlmICgqcCA9PSAnfScpIHJldHVybiBUUlVFOworaWYgKHAgPj0gcGF0dGVybkVuZCB8
fCAqcCsrICE9ICcsJykKKyAgICByZXR1cm4gRkFMU0U7CitpZiAocCA8IHBhdHRlcm5FbmQgJiYg
KnAgPT0gJ30nKQorICAgIHJldHVybiBUUlVFOwogCi1pZiAoKERJR0lUQUIoKnApICYgY3R5cGVf
ZGlnaXQpID09IDApIHJldHVybiBGQUxTRTsKK2lmIChwID49IHBhdHRlcm5FbmQgfHwgKERJR0lU
QUIoKnApICYgY3R5cGVfZGlnaXQpID09IDApCisgICAgcmV0dXJuIEZBTFNFOwogcCsrOwotd2hp
bGUgKChESUdJVEFCKCpwKSAmIGN0eXBlX2RpZ2l0KSAhPSAwKSBwKys7Cit3aGlsZSAocCA8IHBh
dHRlcm5FbmQgJiYgKERJR0lUQUIoKnApICYgY3R5cGVfZGlnaXQpICE9IDApCisgICAgcCsrOwog
Ci1yZXR1cm4gKCpwID09ICd9Jyk7CityZXR1cm4gKHAgPCBwYXR0ZXJuRW5kICYmICpwID09ICd9
Jyk7CiB9CiAKIApAQCAtMTM0NCwxMyArMTM1NywxNCBAQCBSZXR1cm5zOiAgIFRSVUUgb3IgRkFM
U0UKICovCiAKIHN0YXRpYyBCT09MCi1jaGVja19wb3NpeF9zeW50YXgoY29uc3QgcGNyZV91Y2hh
ciAqcHRyLCBjb25zdCBwY3JlX3VjaGFyICoqZW5kcHRyLCBjb21waWxlX2RhdGEgKmNkKQorY2hl
Y2tfcG9zaXhfc3ludGF4KGNvbnN0IHBjcmVfdWNoYXIgKnB0ciwgY29uc3QgcGNyZV91Y2hhciBj
b25zdCAqcGF0dGVybkVuZCwgY29uc3QgcGNyZV91Y2hhciAqKmVuZHB0ciwgY29tcGlsZV9kYXRh
ICpjZCkKIHsKIGludCB0ZXJtaW5hdG9yOyAgICAgICAgICAvKiBEb24ndCBjb21iaW5lIHRoZXNl
IGxpbmVzOyB0aGUgU29sYXJpcyBjYyAqLwogdGVybWluYXRvciA9ICooKytwdHIpOyAgIC8qIGNv
bXBpbGVyIHdhcm5zIGFib3V0ICJub24tY29uc3RhbnQiIGluaXRpYWxpemVyLiAqLwogaWYgKCoo
KytwdHIpID09ICdeJykgcHRyKys7Ci13aGlsZSAoKENUWVBFUyhjZCwgKnB0cikgJiBjdHlwZV9s
ZXR0ZXIpICE9IDApIHB0cisrOwotaWYgKCpwdHIgPT0gdGVybWluYXRvciAmJiBwdHJbMV0gPT0g
J10nKQord2hpbGUgKHB0ciA8IHBhdHRlcm5FbmQgJiYgKENUWVBFUyhjZCwgKnB0cikgJiBjdHlw
ZV9sZXR0ZXIpICE9IDApCisgICAgcHRyKys7CitpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYg
KnB0ciA9PSB0ZXJtaW5hdG9yICYmIHB0clsxXSA9PSAnXScpCiAgIHsKICAgKmVuZHB0ciA9IHB0
cjsKICAgcmV0dXJuIFRSVUU7CkBAIC0xNTcwLDcgKzE1ODQsNyBAQCBSZXR1cm5zOiAgICAgICAg
IFRSVUUgb24gc3VjY2VzcwogCiBzdGF0aWMgQk9PTAogY29tcGlsZV9icmFuY2goaW50ICpvcHRp
b25zcHRyLCBpbnQgKmJyYWNrZXRzLCB1c2NoYXIgKipjb2RlcHRyLAotICBjb25zdCBwY3JlX3Vj
aGFyICoqcHRycHRyLCBpbnQgKmVycm9yY29kZXB0ciwgaW50ICpmaXJzdGJ5dGVwdHIsCisgIGNv
bnN0IHBjcmVfdWNoYXIgKipwdHJwdHIsIGNvbnN0IHBjcmVfdWNoYXIgY29uc3QqIHBhdHRlcm5F
bmQsIGludCAqZXJyb3Jjb2RlcHRyLCBpbnQgKmZpcnN0Ynl0ZXB0ciwKICAgaW50ICpyZXFieXRl
cHRyLCBicmFuY2hfY2hhaW4gKmJjcHRyLCBjb21waWxlX2RhdGEgKmNkKQogewogaW50IHJlcGVh
dF90eXBlLCBvcF90eXBlOwpAQCAtMTY0NiwxMyArMTY2MCwxMyBAQCBmb3IgKDs7IHB0cisrKQog
CiAgIC8qIE5leHQgYnl0ZSBpbiB0aGUgcGF0dGVybiAqLwogCi0gIGMgPSAqcHRyOworICBjID0g
cHRyIDwgcGF0dGVybkVuZCA/ICpwdHIgOiAwOwogCiAgIC8qIElmIGluIFxRLi4uXEUsIGNoZWNr
IGZvciB0aGUgZW5kOyBpZiBub3QsIHdlIGhhdmUgYSBsaXRlcmFsICovCiAKLSAgaWYgKGluZXNj
cSAmJiBjICE9IDApCisgIGlmIChpbmVzY3EgJiYgcHRyIDwgcGF0dGVybkVuZCkKICAgICB7Ci0g
ICAgaWYgKGMgPT0gJ1xcJyAmJiBwdHJbMV0gPT0gJ0UnKQorICAgIGlmIChjID09ICdcXCcgJiYg
cHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICdFJykKICAgICAgIHsKICAgICAgIGlu
ZXNjcSA9IEZBTFNFOwogICAgICAgcHRyKys7CkBAIC0xNjc4LDcgKzE2OTIsNyBAQCBmb3IgKDs7
IHB0cisrKQogICBhIHF1YW50aWZpZXIuICovCiAKICAgaXNfcXVhbnRpZmllciA9IGMgPT0gJyon
IHx8IGMgPT0gJysnIHx8IGMgPT0gJz8nIHx8Ci0gICAgKGMgPT0gJ3snICYmIGlzX2NvdW50ZWRf
cmVwZWF0KHB0cisxKSk7CisgICAgKGMgPT0gJ3snICYmIGlzX2NvdW50ZWRfcmVwZWF0KHB0cisx
LCBwYXR0ZXJuRW5kKSk7CiAKICAgaWYgKCFpc19xdWFudGlmaWVyICYmIHByZXZpb3VzX2NhbGxv
dXQgIT0gTlVMTCAmJgogICAgICAgIGFmdGVyX21hbnVhbF9jYWxsb3V0LS0gPD0gMCkKQEAgLTE2
OTYsOCArMTcxMCwxMSBAQCBmb3IgKDs7IHB0cisrKQogICAgICAgewogICAgICAgLyogVGhlIHNw
YWNlIGJlZm9yZSB0aGUgOyBpcyB0byBhdm9pZCBhIHdhcm5pbmcgb24gYSBzaWxseSBjb21waWxl
cgogICAgICAgb24gdGhlIE1hY2ludG9zaC4gKi8KLSAgICAgIHdoaWxlICgoYyA9ICooKytwdHIp
KSAhPSAwICYmIGMgIT0gTkVXTElORSkgOwotICAgICAgaWYgKGMgIT0gMCkgY29udGludWU7ICAg
LyogRWxzZSBmYWxsIHRocm91Z2ggdG8gaGFuZGxlIGVuZCBvZiBzdHJpbmcgKi8KKyAgICAgIHdo
aWxlICgrK3B0ciA8IHBhdHRlcm5FbmQgJiYgKGMgPSAqcHRyKSAhPSBORVdMSU5FKQorICAgICAg
ICAgIDsKKyAgICAgIGlmIChwdHIgPCBwYXR0ZXJuRW5kKQorICAgICAgICAgIGNvbnRpbnVlOyAg
IC8qIEVsc2UgZmFsbCB0aHJvdWdoIHRvIGhhbmRsZSBlbmQgb2Ygc3RyaW5nICovCisgICAgICBj
ID0gMDsKICAgICAgIH0KICAgICB9CiAKQEAgLTE3MTQsNiArMTczMSw5IEBAIGZvciAoOzsgcHRy
KyspCiAgICAgLyogVGhlIGJyYW5jaCB0ZXJtaW5hdGVzIGF0IGVuZCBvZiBzdHJpbmcsIHwsIG9y
ICkuICovCiAKICAgICBjYXNlIDA6CisgICAgICAgIGlmIChwdHIgPCBwYXR0ZXJuRW5kKQorICAg
ICAgICAgICAgZ290byBOT1JNQUxfQ0hBUjsKKyAgICAgICAgLy8gRW5kIG9mIHN0cmluZzsgZmFs
bCB0aHJvdWdoCiAgICAgY2FzZSAnfCc6CiAgICAgY2FzZSAnKSc6CiAgICAgKmZpcnN0Ynl0ZXB0
ciA9IGZpcnN0Ynl0ZTsKQEAgLTE3NjksNyArMTc4OSw3IEBAIGZvciAoOzsgcHRyKyspCiAgICAg
dGhleSBhcmUgZW5jb3VudGVyZWQgYXQgdGhlIHRvcCBsZXZlbCwgc28gd2UnbGwgZG8gdGhhdCB0
b28uICovCiAKICAgICBpZiAoKHB0clsxXSA9PSAnOicgfHwgcHRyWzFdID09ICcuJyB8fCBwdHJb
MV0gPT0gJz0nKSAmJgotICAgICAgICBjaGVja19wb3NpeF9zeW50YXgocHRyLCAmdGVtcHB0ciwg
Y2QpKQorICAgICAgICBjaGVja19wb3NpeF9zeW50YXgocHRyLCBwYXR0ZXJuRW5kLCAmdGVtcHB0
ciwgY2QpKQogICAgICAgewogICAgICAgKmVycm9yY29kZXB0ciA9IChwdHJbMV0gPT0gJzonKT8g
RVJSMTMgOiBFUlIzMTsKICAgICAgIGdvdG8gRkFJTEVEOwpAQCAtMTg0Miw3ICsxODYyLDcgQEAg
Zm9yICg7OyBwdHIrKykKIAogICAgICAgaWYgKGMgPT0gJ1snICYmCiAgICAgICAgICAgKHB0clsx
XSA9PSAnOicgfHwgcHRyWzFdID09ICcuJyB8fCBwdHJbMV0gPT0gJz0nKSAmJgotICAgICAgICAg
IGNoZWNrX3Bvc2l4X3N5bnRheChwdHIsICZ0ZW1wcHRyLCBjZCkpCisgICAgICAgICAgY2hlY2tf
cG9zaXhfc3ludGF4KHB0ciwgcGF0dGVybkVuZCwgJnRlbXBwdHIsIGNkKSkKICAgICAgICAgewog
ICAgICAgICBCT09MIGxvY2FsX25lZ2F0ZSA9IEZBTFNFOwogICAgICAgICBpbnQgcG9zaXhfY2xh
c3MsIGksIG5hbWVsZW47CkBAIC0xODg0LDcgKzE5MDQsNyBAQCBmb3IgKDs7IHB0cisrKQogICAg
ICAgICBwb3NpeF9jbGFzcyAqPSAzOwogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKQog
ICAgICAgICAgIHsKLSAgICAgICAgICBCT09MIGJsYW5rY2xhc3MgPSBTVFJFUVVBTChwdHIsIDUs
ICJibGFuayIpOworICAgICAgICAgIEJPT0wgYmxhbmtjbGFzcyA9IHB0ciArIDUgPD0gcGF0dGVy
bkVuZCAmJiBTVFJFUVVBTChwdHIsIDUsICJibGFuayIpOwogICAgICAgICAgIGludCB0YWJvZmZz
ZXQgPSBwb3NpeF9jbGFzc19tYXBzW3Bvc2l4X2NsYXNzICsgaV07CiAgICAgICAgICAgaWYgKHRh
Ym9mZnNldCA8IDApIGJyZWFrOwogICAgICAgICAgIGlmIChsb2NhbF9uZWdhdGUpCkBAIC0xOTE3
LDEzICsxOTM3LDEzIEBAIGZvciAoOzsgcHRyKyspCiAKICAgICAgIGlmIChjID09ICdcXCcpCiAg
ICAgICAgIHsKLSAgICAgICAgYyA9IGNoZWNrX2VzY2FwZSgmcHRyLCBlcnJvcmNvZGVwdHIsICpi
cmFja2V0cywgb3B0aW9ucywgVFJVRSk7CisgICAgICAgIGMgPSBjaGVja19lc2NhcGUoJnB0ciwg
cGF0dGVybkVuZCwgZXJyb3Jjb2RlcHRyLCAqYnJhY2tldHMsIG9wdGlvbnMsIFRSVUUpOwogCiAg
ICAgICAgIGlmICgtYyA9PSBFU0NfYikgYyA9ICdcYic7ICAgICAgIC8qIFxiIGlzIGJhY2tzbGFz
aCBpbiBhIGNsYXNzICovCiAgICAgICAgIGVsc2UgaWYgKC1jID09IEVTQ19YKSBjID0gJ1gnOyAg
IC8qIFxYIGlzIGxpdGVyYWwgWCBpbiBhIGNsYXNzICovCiAgICAgICAgIGVsc2UgaWYgKC1jID09
IEVTQ19RKSAgICAgICAgICAgIC8qIEhhbmRsZSBzdGFydCBvZiBxdW90ZWQgc3RyaW5nICovCiAg
ICAgICAgICAgewotICAgICAgICAgIGlmIChwdHJbMV0gPT0gJ1xcJyAmJiBwdHJbMl0gPT0gJ0Un
KQorICAgICAgICAgIGlmIChwdHIgKyAyIDwgcGF0dGVybkVuZCAmJiBwdHJbMV0gPT0gJ1xcJyAm
JiBwdHJbMl0gPT0gJ0UnKQogICAgICAgICAgICAgewogICAgICAgICAgICAgcHRyICs9IDI7IC8q
IGF2b2lkIGVtcHR5IHN0cmluZyAqLwogICAgICAgICAgICAgfQpAQCAtMTk3MCw3ICsxOTkwLDcg
QEAgZm9yICg7OyBwdHIrKykKICAgICAgICAgICAgIGNhc2UgRVNDX1A6CiAgICAgICAgICAgICAg
IHsKICAgICAgICAgICAgICAgQk9PTCBuZWdhdGVkOwotICAgICAgICAgICAgICBpbnQgcHJvcGVy
dHkgPSBnZXRfdWNwKCZwdHIsICZuZWdhdGVkLCBlcnJvcmNvZGVwdHIpOworICAgICAgICAgICAg
ICBpbnQgcHJvcGVydHkgPSBnZXRfdWNwKCZwdHIsIHBhdHRlcm5FbmQsICZuZWdhdGVkLCBlcnJv
cmNvZGVwdHIpOwogICAgICAgICAgICAgICBpZiAocHJvcGVydHkgPCAwKSBnb3RvIEZBSUxFRDsK
ICAgICAgICAgICAgICAgY2xhc3NfdXRmOCA9IFRSVUU7CiAgICAgICAgICAgICAgICpjbGFzc191
dGY4ZGF0YSsrID0gKCgtYyA9PSBFU0NfcCkgIT0gbmVnYXRlZCk/CkBAIC0yMDI2LDcgKzIwNDYs
NyBAQCBmb3IgKDs7IHB0cisrKQogICAgICAgICBpZiAoZCA9PSAnXFwnKQogICAgICAgICAgIHsK
ICAgICAgICAgICBjb25zdCBwY3JlX3VjaGFyICpvbGRwdHIgPSBwdHI7Ci0gICAgICAgICAgZCA9
IGNoZWNrX2VzY2FwZSgmcHRyLCBlcnJvcmNvZGVwdHIsICpicmFja2V0cywgb3B0aW9ucywgVFJV
RSk7CisgICAgICAgICAgZCA9IGNoZWNrX2VzY2FwZSgmcHRyLCBwYXR0ZXJuRW5kLCBlcnJvcmNv
ZGVwdHIsICpicmFja2V0cywgb3B0aW9ucywgVFJVRSk7CiAKICAgICAgICAgICAvKiBcYiBpcyBi
YWNrc2xhc2g7IFxYIGlzIGxpdGVyYWwgWDsgYW55IG90aGVyIHNwZWNpYWwgbWVhbnMgdGhlICct
JwogICAgICAgICAgIHdhcyBsaXRlcmFsICovCkBAIC0yMzYwLDEzICsyMzgwLDEzIEBAIGZvciAo
OzsgcHRyKyspCiAgICAgYnV0IGlmIFBDUkVfVU5HUkVFRFkgaXMgc2V0LCBpdCB3b3JrcyB0aGUg
b3RoZXIgd2F5IHJvdW5kLiBXZSBjaGFuZ2UgdGhlCiAgICAgcmVwZWF0IHR5cGUgdG8gdGhlIG5v
bi1kZWZhdWx0LiAqLwogCi0gICAgaWYgKHB0clsxXSA9PSAnKycpCisgICAgaWYgKHB0ciArIDEg
PCBwYXR0ZXJuRW5kICYmIHB0clsxXSA9PSAnKycpCiAgICAgICB7CiAgICAgICByZXBlYXRfdHlw
ZSA9IDA7ICAgICAgICAgICAgICAgICAgLyogRm9yY2UgZ3JlZWR5ICovCiAgICAgICBwb3NzZXNz
aXZlX3F1YW50aWZpZXIgPSBUUlVFOwogICAgICAgcHRyKys7CiAgICAgICB9Ci0gICAgZWxzZSBp
ZiAocHRyWzFdID09ICc/JykKKyAgICBlbHNlIGlmIChwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiBw
dHJbMV0gPT0gJz8nKQogICAgICAgewogICAgICAgcmVwZWF0X3R5cGUgPSBncmVlZHlfbm9uX2Rl
ZmF1bHQ7CiAgICAgICBwdHIrKzsKQEAgLTMxNjEsNiArMzE4MSw3IEBAIGZvciAoOzsgcHRyKysp
CiAgICAgICAgICBicmFja2V0cywgICAgICAgICAgICAgICAgICAgICAvKiBFeHRyYWN0aW5nIGJy
YWNrZXQgY291bnQgKi8KICAgICAgICAgICZ0ZW1wY29kZSwgICAgICAgICAgICAgICAgICAgIC8q
IFdoZXJlIHRvIHB1dCBjb2RlICh1cGRhdGVkKSAqLwogICAgICAgICAgJnB0ciwgICAgICAgICAg
ICAgICAgICAgICAgICAgLyogSW5wdXQgcG9pbnRlciAodXBkYXRlZCkgKi8KKyAgICAgICAgIHBh
dHRlcm5FbmQsCiAgICAgICAgICBlcnJvcmNvZGVwdHIsICAgICAgICAgICAgICAgICAvKiBXaGVy
ZSB0byBwdXQgYW4gZXJyb3IgbWVzc2FnZSAqLwogICAgICAgICAgKGJyYXZhbHVlID09IE9QX0FT
U0VSVEJBQ0sgfHwKICAgICAgICAgICBicmF2YWx1ZSA9PSBPUF9BU1NFUlRCQUNLX05PVCksIC8q
IFRSVUUgaWYgYmFjayBhc3NlcnQgKi8KQEAgLTMyNjAsNyArMzI4MSw3IEBAIGZvciAoOzsgcHRy
KyspCiAKICAgICAvKiBFcnJvciBpZiBoaXQgZW5kIG9mIHBhdHRlcm4gKi8KIAotICAgIGlmICgq
cHRyICE9ICcpJykKKyAgICBpZiAocHRyID4gcGF0dGVybkVuZCB8fCAqcHRyICE9ICcpJykKICAg
ICAgIHsKICAgICAgICplcnJvcmNvZGVwdHIgPSBFUlIxNDsKICAgICAgIGdvdG8gRkFJTEVEOwpA
QCAtMzI3Myw3ICszMjk0LDcgQEAgZm9yICg7OyBwdHIrKykKIAogICAgIGNhc2UgJ1xcJzoKICAg
ICB0ZW1wcHRyID0gcHRyOwotICAgIGMgPSBjaGVja19lc2NhcGUoJnB0ciwgZXJyb3Jjb2RlcHRy
LCAqYnJhY2tldHMsIG9wdGlvbnMsIEZBTFNFKTsKKyAgICBjID0gY2hlY2tfZXNjYXBlKCZwdHIs
IHBhdHRlcm5FbmQsIGVycm9yY29kZXB0ciwgKmJyYWNrZXRzLCBvcHRpb25zLCBGQUxTRSk7CiAK
ICAgICAvKiBIYW5kbGUgbWV0YWNoYXJhY3RlcnMgaW50cm9kdWNlZCBieSBcLiBGb3Igb25lcyBs
aWtlIFxkLCB0aGUgRVNDXyB2YWx1ZXMKICAgICBhcmUgYXJyYW5nZWQgdG8gYmUgdGhlIG5lZ2F0
aW9uIG9mIHRoZSBjb3JyZXNwb25kaW5nIE9QX3ZhbHVlcy4gRm9yIHRoZQpAQCAtMzI4Niw3ICsz
MzA3LDcgQEAgZm9yICg7OyBwdHIrKykKICAgICAgIHsKICAgICAgIGlmICgtYyA9PSBFU0NfUSkg
ICAgICAgICAgICAvKiBIYW5kbGUgc3RhcnQgb2YgcXVvdGVkIHN0cmluZyAqLwogICAgICAgICB7
Ci0gICAgICAgIGlmIChwdHJbMV0gPT0gJ1xcJyAmJiBwdHJbMl0gPT0gJ0UnKSBwdHIgKz0gMjsg
LyogYXZvaWQgZW1wdHkgc3RyaW5nICovCisgICAgICAgIGlmIChwdHIgKyAyIDwgcGF0dGVybkVu
ZCAmJiBwdHJbMV0gPT0gJ1xcJyAmJiBwdHJbMl0gPT0gJ0UnKSBwdHIgKz0gMjsgLyogYXZvaWQg
ZW1wdHkgc3RyaW5nICovCiAgICAgICAgICAgZWxzZSBpbmVzY3EgPSBUUlVFOwogICAgICAgICBj
b250aW51ZTsKICAgICAgICAgfQpAQCAtMzMxOSw3ICszMzQwLDcgQEAgZm9yICg7OyBwdHIrKykK
ICAgICAgIGVsc2UgaWYgKC1jID09IEVTQ19QIHx8IC1jID09IEVTQ19wKQogICAgICAgICB7CiAg
ICAgICAgIEJPT0wgbmVnYXRlZDsKLSAgICAgICAgaW50IHZhbHVlID0gZ2V0X3VjcCgmcHRyLCAm
bmVnYXRlZCwgZXJyb3Jjb2RlcHRyKTsKKyAgICAgICAgaW50IHZhbHVlID0gZ2V0X3VjcCgmcHRy
LCBwYXR0ZXJuRW5kLCAmbmVnYXRlZCwgZXJyb3Jjb2RlcHRyKTsKICAgICAgICAgcHJldmlvdXMg
PSBjb2RlOwogICAgICAgICAqY29kZSsrID0gKCgtYyA9PSBFU0NfcCkgIT0gbmVnYXRlZCk/IE9Q
X1BST1AgOiBPUF9OT1RQUk9QOwogICAgICAgICAqY29kZSsrID0gdmFsdWU7CkBAIC0zMzc1LDcg
KzMzOTYsNyBAQCBmb3IgKDs7IHB0cisrKQogI2lmZGVmIFNVUFBPUlRfVVRGOAogICAgIGlmICh1
dGY4ICYmIChjICYgMHhjMCkgPT0gMHhjMCkKICAgICAgIHsKLSAgICAgIHdoaWxlICgocHRyWzFd
ICYgMHhjMCkgPT0gMHg4MCkKKyAgICAgIHdoaWxlIChwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiAo
cHRyWzFdICYgMHhjMCkgPT0gMHg4MCkKICAgICAgICAgbWNidWZmZXJbbWNsZW5ndGgrK10gPSAq
KCsrcHRyKTsKICAgICAgIH0KICNlbmRpZgpAQCAtMzQ2OCw3ICszNDg5LDcgQEAgUmV0dXJuczog
ICAgICBUUlVFIG9uIHN1Y2Nlc3MKIAogc3RhdGljIEJPT0wKIGNvbXBpbGVfcmVnZXgoaW50IG9w
dGlvbnMsIGludCBvbGRpbXMsIGludCAqYnJhY2tldHMsIHVzY2hhciAqKmNvZGVwdHIsCi0gIGNv
bnN0IHBjcmVfdWNoYXIgKipwdHJwdHIsIGludCAqZXJyb3Jjb2RlcHRyLCBCT09MIGxvb2tiZWhp
bmQsIGludCBza2lwYnl0ZXMsCisgIGNvbnN0IHBjcmVfdWNoYXIgKipwdHJwdHIsIGNvbnN0IHBj
cmVfdWNoYXIgY29uc3QqIHBhdHRlcm5FbmQsIGludCAqZXJyb3Jjb2RlcHRyLCBCT09MIGxvb2ti
ZWhpbmQsIGludCBza2lwYnl0ZXMsCiAgIGludCAqZmlyc3RieXRlcHRyLCBpbnQgKnJlcWJ5dGVw
dHIsIGJyYW5jaF9jaGFpbiAqYmNwdHIsIGNvbXBpbGVfZGF0YSAqY2QpCiB7CiBjb25zdCBwY3Jl
X3VjaGFyICpwdHIgPSAqcHRycHRyOwpAQCAtMzUxMyw3ICszNTM0LDcgQEAgZm9yICg7OykKIAog
ICAvKiBOb3cgY29tcGlsZSB0aGUgYnJhbmNoICovCiAKLSAgaWYgKCFjb21waWxlX2JyYW5jaCgm
b3B0aW9ucywgYnJhY2tldHMsICZjb2RlLCAmcHRyLCBlcnJvcmNvZGVwdHIsCisgIGlmICghY29t
cGlsZV9icmFuY2goJm9wdGlvbnMsIGJyYWNrZXRzLCAmY29kZSwgJnB0ciwgcGF0dGVybkVuZCwg
ZXJyb3Jjb2RlcHRyLAogICAgICAgICAmYnJhbmNoZmlyc3RieXRlLCAmYnJhbmNocmVxYnl0ZSwg
JmJjLCBjZCkpCiAgICAgewogICAgICpwdHJwdHIgPSBwdHI7CkBAIC0zNTg3LDcgKzM2MDgsNyBA
QCBmb3IgKDs7KQogICBmb2xsb3dpbmcsIGV4Y2VwdCBhdCB0aGUgdmVyeSBlbmQgb2YgdGhlIHBh
dHRlcm4uIFJldHVybiBsZWF2aW5nIHRoZSBwb2ludGVyCiAgIGF0IHRoZSB0ZXJtaW5hdGluZyBj
aGFyLiAqLwogCi0gIGlmICgqcHRyICE9ICd8JykKKyAgaWYgKHB0ciA+PSBwYXR0ZXJuRW5kIHx8
ICpwdHIgIT0gJ3wnKQogICAgIHsKICAgICBpbnQgbGVuZ3RoID0gSU5UX0NBU1QoY29kZSAtIGxh
c3RfYnJhbmNoKTsKICAgICBkbwpAQCAtMzYwNyw3ICszNjI4LDcgQEAgZm9yICg7OykKIAogICAg
IC8qIFJlc2V0dGluZyBvcHRpb24gaWYgbmVlZGVkICovCiAKLSAgICBpZiAoKG9wdGlvbnMgJiBQ
Q1JFX0lNUykgIT0gb2xkaW1zICYmICpwdHIgPT0gJyknKQorICAgIGlmICgob3B0aW9ucyAmIFBD
UkVfSU1TKSAhPSBvbGRpbXMgJiYgcHRyIDwgcGF0dGVybkVuZCAmJiAqcHRyID09ICcpJykKICAg
ICAgIHsKICAgICAgICpjb2RlKysgPSBPUF9PUFQ7CiAgICAgICAqY29kZSsrID0gb2xkaW1zOwpA
QCAtMzg4OCwxNSArMzkwOSwxNSBAQCBSZXR1cm5zOiAgICAgICAgcG9pbnRlciB0byBjb21waWxl
ZCBkYXRhCiAqLwogCiBFWFBPUlQgcGNyZSAqCi1wY3JlX2NvbXBpbGUoY29uc3QgcGNyZV9jaGFy
ICpwYXR0ZXJuLCBpbnQgb3B0aW9ucywgY29uc3QgY2hhciAqKmVycm9ycHRyLAorcGNyZV9jb21w
aWxlKGNvbnN0IHBjcmVfY2hhciAqcGF0dGVybiwgaW50IHBhdHRlcm5MZW5ndGgsIGludCBvcHRp
b25zLCBjb25zdCBjaGFyICoqZXJyb3JwdHIsCiAgIGludCAqZXJyb3JvZmZzZXQsIGNvbnN0IHVu
c2lnbmVkIGNoYXIgKnRhYmxlcykKIHsKLXJldHVybiBwY3JlX2NvbXBpbGUyKHBhdHRlcm4sIG9w
dGlvbnMsIE5VTEwsIGVycm9ycHRyLCBlcnJvcm9mZnNldCwgdGFibGVzKTsKK3JldHVybiBwY3Jl
X2NvbXBpbGUyKHBhdHRlcm4sIHBhdHRlcm5MZW5ndGgsIG9wdGlvbnMsIE5VTEwsIGVycm9ycHRy
LCBlcnJvcm9mZnNldCwgdGFibGVzKTsKIH0KIAogCiBFWFBPUlQgcGNyZSAqCi1wY3JlX2NvbXBp
bGUyKGNvbnN0IHBjcmVfY2hhciAqcGF0dGVybiwgaW50IG9wdGlvbnMsIGludCAqZXJyb3Jjb2Rl
cHRyLAorcGNyZV9jb21waWxlMihjb25zdCBwY3JlX2NoYXIgKnBhdHRlcm4sIGludCBwYXR0ZXJu
TGVuZ3RoLCBpbnQgb3B0aW9ucywgaW50ICplcnJvcmNvZGVwdHIsCiAgIGNvbnN0IGNoYXIgKipl
cnJvcnB0ciwgaW50ICplcnJvcm9mZnNldCwgY29uc3QgdW5zaWduZWQgY2hhciAqdGFibGVzKQog
ewogcmVhbF9wY3JlICpyZTsKQEAgLTQwMTAsOCArNDAzMSwxMiBAQCBmb3IgYW55IGNvdW50ZWQg
d2hpdGUgc3BhY2UgaWYgYW4gImV4dGVuCiBwYXR0ZXJuLiBXZSBjYW4ndCBiZSBzbyBjbGV2ZXIg
Zm9yICMtY29tbWVudHMuICovCiAKIHB0ciA9IChjb25zdCBwY3JlX3VjaGFyICopKHBhdHRlcm4g
LSAxKTsKLXdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQorY29uc3QgcGNyZV91Y2hhciBjb25z
dCogcGF0dGVybkVuZCA9IChjb25zdCBwY3JlX3VjaGFyICopKHBhdHRlcm4gKyBwYXR0ZXJuTGVu
Z3RoKTsKKword2hpbGUgKCsrcHRyIDwgcGF0dGVybkVuZCkKICAgeworICBjID0gKnB0cjsKKyAg
CiAgIGludCBtaW4sIG1heDsKICAgaW50IGNsYXNzX29wdGNvdW50OwogICBpbnQgYnJhY2tldF9s
ZW5ndGg7CkBAIC00MDM0LDggKzQwNTksMTAgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDAp
CiAgICAgICB7CiAgICAgICAvKiBUaGUgc3BhY2UgYmVmb3JlIHRoZSA7IGlzIHRvIGF2b2lkIGEg
d2FybmluZyBvbiBhIHNpbGx5IGNvbXBpbGVyCiAgICAgICBvbiB0aGUgTWFjaW50b3NoLiAqLwot
ICAgICAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDAgJiYgYyAhPSBORVdMSU5FKSA7Ci0gICAg
ICBpZiAoYyA9PSAwKSBicmVhazsKKyAgICAgIHdoaWxlICgrK3B0ciA8IHBhdHRlcm5FbmQgJiYg
KGMgPSAqcHRyKSAhPSBORVdMSU5FKQorICAgICAgICA7CisgICAgICBpZiAocHRyID09IHBhdHRl
cm5FbmQpCisgICAgICAgIGJyZWFrOwogICAgICAgY29udGludWU7CiAgICAgICB9CiAgICAgfQpA
QCAtNDA0Niw3ICs0MDczLDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAKICAgaWYg
KChvcHRpb25zICYgUENSRV9BVVRPX0NBTExPVVQpICE9IDAgJiYKICAgICAgICBjICE9ICcqJyAm
JiBjICE9ICcrJyAmJiBjICE9ICc/JyAmJgotICAgICAgIChjICE9ICd7JyB8fCAhaXNfY291bnRl
ZF9yZXBlYXQocHRyICsgMSkpKQorICAgICAgIChjICE9ICd7JyB8fCAhaXNfY291bnRlZF9yZXBl
YXQocHRyICsgMSwgcGF0dGVybkVuZCkpKQogICAgIGxlbmd0aCArPSAyICsgMipMSU5LX1NJWkU7
CiAKICAgc3dpdGNoKGMpCkBAIC00MDU1LDcgKzQwODIsNyBAQCB3aGlsZSAoKGMgPSAqKCsrcHRy
KSkgIT0gMCkKICAgICBjaGFyYWN0ZXIgdHlwZS4gKi8KIAogICAgIGNhc2UgJ1xcJzoKLSAgICBj
ID0gY2hlY2tfZXNjYXBlKCZwdHIsICZlcnJvcmNvZGUsIGJyYWNvdW50LCBvcHRpb25zLCBGQUxT
RSk7CisgICAgYyA9IGNoZWNrX2VzY2FwZSgmcHRyLCBwYXR0ZXJuRW5kLCAmZXJyb3Jjb2RlLCBi
cmFjb3VudCwgb3B0aW9ucywgRkFMU0UpOwogICAgIGlmIChlcnJvcmNvZGUgIT0gMCkgZ290byBQ
Q1JFX0VSUk9SX1JFVFVSTjsKIAogICAgIGxhc3RpdGVtbGVuZ3RoID0gMTsgICAgIC8qIERlZmF1
bHQgbGVuZ3RoIG9mIGxhc3QgaXRlbSBmb3IgcmVwZWF0cyAqLwpAQCAtNDEwNSw3ICs0MTMyLDcg
QEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgICBCT09MIG5lZ2F0ZWQ7CiAgICAg
ICBsZW5ndGggKz0gMjsKICAgICAgIGxhc3RpdGVtbGVuZ3RoID0gMjsKLSAgICAgIGlmIChnZXRf
dWNwKCZwdHIsICZuZWdhdGVkLCAmZXJyb3Jjb2RlKSA8IDApIGdvdG8gUENSRV9FUlJPUl9SRVRV
Uk47CisgICAgICBpZiAoZ2V0X3VjcCgmcHRyLCBwYXR0ZXJuRW5kLCAmbmVnYXRlZCwgJmVycm9y
Y29kZSkgPCAwKSBnb3RvIFBDUkVfRVJST1JfUkVUVVJOOwogICAgICAgY29udGludWU7CiAjZWxz
ZQogICAgICAgZXJyb3Jjb2RlID0gRVJSNDU7CkBAIC00MTI4LDcgKzQxNTUsNyBAQCB3aGlsZSAo
KGMgPSAqKCsrcHRyKSkgIT0gMCkKICAgICAgIGlmIChyZWZudW0gPiBjb21waWxlX2Jsb2NrLnRv
cF9iYWNrcmVmKQogICAgICAgICBjb21waWxlX2Jsb2NrLnRvcF9iYWNrcmVmID0gcmVmbnVtOwog
ICAgICAgbGVuZ3RoICs9IDI7ICAgLyogRm9yIHNpbmdsZSBiYWNrIHJlZmVyZW5jZSAqLwotICAg
ICAgaWYgKHB0clsxXSA9PSAneycgJiYgaXNfY291bnRlZF9yZXBlYXQocHRyKzIpKQorICAgICAg
aWYgKHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIHB0clsxXSA9PSAneycgJiYgaXNfY291bnRlZF9y
ZXBlYXQocHRyKzIsIHBhdHRlcm5FbmQpKQogICAgICAgICB7CiAgICAgICAgIHB0ciA9IHJlYWRf
cmVwZWF0X2NvdW50cyhwdHIrMiwgJm1pbiwgJm1heCwgJmVycm9yY29kZSk7CiAgICAgICAgIGlm
IChlcnJvcmNvZGUgIT0gMCkgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKQEAgLTQxMzYsNyArNDE2
Myw4IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgICAgICAgIChtaW4gPT0gMSAm
JiBtYXggPT0gLTEpKQogICAgICAgICAgICAgbGVuZ3RoKys7CiAgICAgICAgIGVsc2UgbGVuZ3Ro
ICs9IDU7Ci0gICAgICAgIGlmIChwdHJbMV0gPT0gJz8nKSBwdHIrKzsKKyAgICAgICAgaWYgKHB0
ciArIDEgPCBwYXR0ZXJuRW5kICYmIHB0clsxXSA9PSAnPycpCisgICAgICAgICAgICBwdHIrKzsK
ICAgICAgICAgfQogICAgICAgfQogICAgIGNvbnRpbnVlOwpAQCAtNDE1OCw3ICs0MTg2LDggQEAg
d2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgY2xhc3MsIG9yIGJhY2sgcmVmZXJlbmNl
LiAqLwogCiAgICAgY2FzZSAneyc6Ci0gICAgaWYgKCFpc19jb3VudGVkX3JlcGVhdChwdHIrMSkp
IGdvdG8gTk9STUFMX0NIQVI7CisgICAgaWYgKCFpc19jb3VudGVkX3JlcGVhdChwdHIrMSwgcGF0
dGVybkVuZCkpCisgICAgICAgIGdvdG8gTk9STUFMX0NIQVI7CiAgICAgcHRyID0gcmVhZF9yZXBl
YXRfY291bnRzKHB0cisxLCAmbWluLCAmbWF4LCAmZXJyb3Jjb2RlKTsKICAgICBpZiAoZXJyb3Jj
b2RlICE9IDApIGdvdG8gUENSRV9FUlJPUl9SRVRVUk47CiAKQEAgLTQxODAsMTAgKzQyMDksMTEg
QEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgICBsZW5ndGggKz0gbGFzdGl0ZW1s
ZW5ndGggKyAoKG1heCA+IDApPyAzIDogMSk7CiAgICAgICB9CiAKLSAgICBpZiAocHRyWzFdID09
ICc/JykgcHRyKys7ICAgICAgLyogTmVlZHMgbm8gZXh0cmEgbGVuZ3RoICovCisgICAgaWYgKHB0
ciArIDEgPCBwYXR0ZXJuRW5kICYmIHB0clsxXSA9PSAnPycpCisgICAgICAgIHB0cisrOyAgICAg
ICAgICAgICAgICAgICAgIC8qIE5lZWRzIG5vIGV4dHJhIGxlbmd0aCAqLwogCiAgICAgUE9TRVNT
SVZFOiAgICAgICAgICAgICAgICAgICAgIC8qIFRlc3QgZm9yIHBvc3Nlc3NpdmUgcXVhbnRpZmll
ciAqLwotICAgIGlmIChwdHJbMV0gPT0gJysnKQorICAgIGlmIChwdHIgKyAxIDwgcGF0dGVybkVu
ZCAmJiBwdHJbMV0gPT0gJysnKQogICAgICAgewogICAgICAgcHRyKys7CiAgICAgICBsZW5ndGgg
Kz0gMiArIDIqTElOS19TSVpFOyAgIC8qIEFsbG93IGZvciBhdG9taWMgYnJhY2tldHMgKi8KQEAg
LTQyMDgsNyArNDIzOCw3IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgIHdoZXJl
IHdlIGNhbi4gKEluIFVURi04IG1vZGUgd2UgY2FuIGRvIHRoaXMgb25seSBmb3IgY2hhcnMgPCAx
MjguKSAqLwogCiAgICAgY2FzZSAnWyc6Ci0gICAgaWYgKCooKytwdHIpID09ICdeJykKKyAgICBp
ZiAoKytwdHIgPCBwYXR0ZXJuRW5kICYmICpwdHIgPT0gJ14nKQogICAgICAgewogICAgICAgY2xh
c3Nfb3B0Y291bnQgPSAxMDsgIC8qIEdyZWF0ZXIgdGhhbiBvbmUgKi8KICAgICAgIHB0cisrOwpA
QCAtNDIyMSwxMyArNDI1MSwxNCBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKIAogICAg
IC8qIFdyaXR0ZW4gYXMgYSAiZG8iIHNvIHRoYXQgYW4gaW5pdGlhbCAnXScgaXMgdGFrZW4gYXMg
ZGF0YSAqLwogCi0gICAgaWYgKCpwdHIgIT0gMCkgZG8KKyAgICBpZiAocHRyIDwgcGF0dGVybkVu
ZCkgZG8KICAgICAgIHsKICAgICAgIC8qIEluc2lkZSBcUS4uLlxFIGV2ZXJ5dGhpbmcgaXMgbGl0
ZXJhbCBleGNlcHQgXEUgKi8KIAogICAgICAgaWYgKGluZXNjcSkKICAgICAgICAgewotICAgICAg
ICBpZiAoKnB0ciAhPSAnXFwnIHx8IHB0clsxXSAhPSAnRScpIGdvdG8gR0VUX09ORV9DSEFSQUNU
RVI7CisgICAgICAgIGlmICgqcHRyICE9ICdcXCcgfHwgcHRyICsgMSA+PSBwYXR0ZXJuRW5kIHx8
IHB0clsxXSAhPSAnRScpCisgICAgICAgICAgICBnb3RvIEdFVF9PTkVfQ0hBUkFDVEVSOwogICAg
ICAgICBpbmVzY3EgPSBGQUxTRTsKICAgICAgICAgcHRyICs9IDE7CiAgICAgICAgIGNvbnRpbnVl
OwpAQCAtNDIzNyw3ICs0MjY4LDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAKICAg
ICAgIGlmICgqcHRyID09ICdcXCcpCiAgICAgICAgIHsKLSAgICAgICAgYyA9IGNoZWNrX2VzY2Fw
ZSgmcHRyLCAmZXJyb3Jjb2RlLCBicmFjb3VudCwgb3B0aW9ucywgVFJVRSk7CisgICAgICAgIGMg
PSBjaGVja19lc2NhcGUoJnB0ciwgcGF0dGVybkVuZCwgJmVycm9yY29kZSwgYnJhY291bnQsIG9w
dGlvbnMsIFRSVUUpOwogICAgICAgICBpZiAoZXJyb3Jjb2RlICE9IDApIGdvdG8gUENSRV9FUlJP
Ul9SRVRVUk47CiAKICAgICAgICAgLyogXGIgaXMgYmFja3NwYWNlIGluc2lkZSBhIGNsYXNzOyBc
WCBpcyBsaXRlcmFsICovCkBAIC00MjgwLDcgKzQzMTEsNyBAQCB3aGlsZSAoKGMgPSAqKCsrcHRy
KSkgIT0gMCkKICAgICAgIC8qIENoZWNrIHRoZSBzeW50YXggZm9yIFBPU0lYIHN0dWZmLiBUaGUg
Yml0cyB3ZSBhY3R1YWxseSBoYW5kbGUgYXJlCiAgICAgICBjaGVja2VkIGR1cmluZyB0aGUgcmVh
bCBjb21waWxlIHBoYXNlLiAqLwogCi0gICAgICBlbHNlIGlmICgqcHRyID09ICdbJyAmJiBjaGVj
a19wb3NpeF9zeW50YXgocHRyLCAmcHRyLCAmY29tcGlsZV9ibG9jaykpCisgICAgICBlbHNlIGlm
ICgqcHRyID09ICdbJyAmJiBwdHIgKyAyIDwgcGF0dGVybkVuZCAmJiBjaGVja19wb3NpeF9zeW50
YXgocHRyLCBwYXR0ZXJuRW5kLCAmcHRyLCAmY29tcGlsZV9ibG9jaykpCiAgICAgICAgIHsKICAg
ICAgICAgcHRyKys7CiAgICAgICAgIGNsYXNzX29wdGNvdW50ID0gMTA7ICAgIC8qIE1ha2Ugc3Vy
ZSA+IDEgKi8KQEAgLTQzMDIsNyArNDMzMyw3IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAw
KQogICAgICAgICBpZiAodXRmOCkKICAgICAgICAgICB7CiAgICAgICAgICAgaW50IGV4dHJhID0g
MDsKLSAgICAgICAgICBHRVRDSEFSTEVOKGMsIHB0ciwgZXh0cmEpOworICAgICAgICAgIEdFVENI
QVJMRU5FTkQoYywgcHRyLCBwYXR0ZXJuRW5kLCBleHRyYSk7CiAgICAgICAgICAgcHRyICs9IGV4
dHJhOwogICAgICAgICAgIH0KICAgICAgICAgZWxzZSBjID0gKnB0cjsKQEAgLTQzMTYsMzEgKzQz
NDcsMzMgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgICAgIGNsYXNzX29wdGNv
dW50Kys7CiAKICAgICAgICAgZCA9IC0xOwotICAgICAgICBpZiAocHRyWzFdID09ICctJykKKyAg
ICAgICAgaWYgKHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIHB0clsxXSA9PSAnLScpCiAgICAgICAg
ICAgewogICAgICAgICAgIHBjcmVfdWNoYXIgY29uc3QgKmh5cHRyID0gcHRyKys7Ci0gICAgICAg
ICAgaWYgKHB0clsxXSA9PSAnXFwnKQotICAgICAgICAgICAgewotICAgICAgICAgICAgcHRyKys7
Ci0gICAgICAgICAgICBkID0gY2hlY2tfZXNjYXBlKCZwdHIsICZlcnJvcmNvZGUsIGJyYWNvdW50
LCBvcHRpb25zLCBUUlVFKTsKLSAgICAgICAgICAgIGlmIChlcnJvcmNvZGUgIT0gMCkgZ290byBQ
Q1JFX0VSUk9SX1JFVFVSTjsKLSAgICAgICAgICAgIGlmICgtZCA9PSBFU0NfYikgZCA9ICdcYic7
ICAgICAgICAvKiBiYWNrc3BhY2UgKi8KLSAgICAgICAgICAgIGVsc2UgaWYgKC1kID09IEVTQ19Y
KSBkID0gJ1gnOyAgICAvKiBsaXRlcmFsIFggaW4gYSBjbGFzcyAqLwotICAgICAgICAgICAgfQot
ICAgICAgICAgIGVsc2UgaWYgKHB0clsxXSAhPSAwICYmIHB0clsxXSAhPSAnXScpCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICBwdHIrKzsKLSNpZmRlZiBTVVBQT1JUX1VURjgKLSAgICAgICAg
ICAgIGlmICh1dGY4KQotICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgIGludCBleHRyYSA9
IDA7Ci0gICAgICAgICAgICAgIEdFVENIQVJMRU4oZCwgcHRyLCBleHRyYSk7Ci0gICAgICAgICAg
ICAgIHB0ciArPSBleHRyYTsKLSAgICAgICAgICAgICAgfQotICAgICAgICAgICAgZWxzZQotI2Vu
ZGlmCi0gICAgICAgICAgICBkID0gKnB0cjsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICBpZiAo
cHRyICsgMSA8IHBhdHRlcm5FbmQpIHsKKyAgICAgICAgICAgICAgaWYgKHB0clsxXSA9PSAnXFwn
KQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwdHIrKzsKKyAgICAgICAgICAg
ICAgICBkID0gY2hlY2tfZXNjYXBlKCZwdHIsIHBhdHRlcm5FbmQsICZlcnJvcmNvZGUsIGJyYWNv
dW50LCBvcHRpb25zLCBUUlVFKTsKKyAgICAgICAgICAgICAgICBpZiAoZXJyb3Jjb2RlICE9IDAp
IGdvdG8gUENSRV9FUlJPUl9SRVRVUk47CisgICAgICAgICAgICAgICAgaWYgKC1kID09IEVTQ19i
KSBkID0gJ1xiJzsgICAgICAgIC8qIGJhY2tzcGFjZSAqLworICAgICAgICAgICAgICAgIGVsc2Ug
aWYgKC1kID09IEVTQ19YKSBkID0gJ1gnOyAgICAvKiBsaXRlcmFsIFggaW4gYSBjbGFzcyAqLwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgZWxzZSBpZiAocHRyWzFdICE9ICddJykK
KyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcHRyKys7CisgICAgI2lmZGVmIFNV
UFBPUlRfVVRGOAorICAgICAgICAgICAgICAgIGlmICh1dGY4KQorICAgICAgICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICAgaW50IGV4dHJhID0gMDsKKyAgICAgICAgICAgICAgICAgIEdF
VENIQVJMRU5FTkQoZCwgcHRyLCBwYXR0ZXJuRW5kLCBleHRyYSk7CisgICAgICAgICAgICAgICAg
ICBwdHIgKz0gZXh0cmE7CisgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxz
ZQorICAgICNlbmRpZgorICAgICAgICAgICAgICAgIGQgPSAqcHRyOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICB9CiAgICAgICAgICAgaWYgKGQgPCAwKSBwdHIgPSBoeXB0cjsgICAgICAv
KiBnbyBiYWNrIHRvIGh5cGhlbiBhcyBkYXRhICovCiAgICAgICAgICAgfQogCkBAIC00NDM3LDkg
KzQ0NzAsOSBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICAgIH0KLSAgICB3aGlsZSAoKigrK3B0cikgIT0gMCAmJiAoaW5lc2NxIHx8ICpw
dHIgIT0gJ10nKSk7IC8qIENvbmNsdWRlcyAiZG8iIGFib3ZlICovCisgICAgd2hpbGUgKCsrcHRy
IDwgcGF0dGVybkVuZCAmJiAoaW5lc2NxIHx8ICpwdHIgIT0gJ10nKSk7IC8qIENvbmNsdWRlcyAi
ZG8iIGFib3ZlICovCiAKLSAgICBpZiAoKnB0ciA9PSAwKSAgICAgICAgICAgICAgICAgICAgICAg
ICAgLyogTWlzc2luZyB0ZXJtaW5hdGluZyAnXScgKi8KKyAgICBpZiAocHRyID49IHBhdHRlcm5F
bmQpICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBNaXNzaW5nIHRlcm1pbmF0aW5nICddJyAq
LwogICAgICAgewogICAgICAgZXJyb3Jjb2RlID0gRVJSNjsKICAgICAgIGdvdG8gUENSRV9FUlJP
Ul9SRVRVUk47CkBAIC00NDU2LDcgKzQ0ODksNyBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0g
MCkKICAgICAgIC8qIEEgcmVwZWF0IG5lZWRzIGVpdGhlciAxIG9yIDUgYnl0ZXMuIElmIGl0IGlz
IGEgcG9zc2Vzc2l2ZSBxdWFudGlmaWVyLAogICAgICAgd2UgYWxzbyBuZWVkIGV4dHJhIGZvciB3
cmFwcGluZyB0aGUgd2hvbGUgdGhpbmcgaW4gYSBzdWItcGF0dGVybi4gKi8KIAotICAgICAgaWYg
KCpwdHIgIT0gMCAmJiBwdHJbMV0gPT0gJ3snICYmIGlzX2NvdW50ZWRfcmVwZWF0KHB0cisyKSkK
KyAgICAgIGlmIChwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiBwdHJbMV0gPT0gJ3snICYmIGlzX2Nv
dW50ZWRfcmVwZWF0KHB0cisyLCBwYXR0ZXJuRW5kKSkKICAgICAgICAgewogICAgICAgICBwdHIg
PSByZWFkX3JlcGVhdF9jb3VudHMocHRyKzIsICZtaW4sICZtYXgsICZlcnJvcmNvZGUpOwogICAg
ICAgICBpZiAoZXJyb3Jjb2RlICE9IDApIGdvdG8gUENSRV9FUlJPUl9SRVRVUk47CkBAIC00NDY0
LDEyICs0NDk3LDE1IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgICAgICAgICht
aW4gPT0gMSAmJiBtYXggPT0gLTEpKQogICAgICAgICAgICAgbGVuZ3RoKys7CiAgICAgICAgIGVs
c2UgbGVuZ3RoICs9IDU7Ci0gICAgICAgIGlmIChwdHJbMV0gPT0gJysnKQotICAgICAgICAgIHsK
LSAgICAgICAgICBwdHIrKzsKLSAgICAgICAgICBsZW5ndGggKz0gMiArIDIqTElOS19TSVpFOwot
ICAgICAgICAgIH0KLSAgICAgICAgZWxzZSBpZiAocHRyWzFdID09ICc/JykgcHRyKys7CisgICAg
ICAgIGlmIChwdHIgKyAxIDwgcGF0dGVybkVuZCkgeworICAgICAgICAgICAgaWYgKHB0clsxXSA9
PSAnKycpCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgcHRyKys7CisgICAgICAgICAg
ICAgIGxlbmd0aCArPSAyICsgMipMSU5LX1NJWkU7CisgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIGVsc2UgaWYgKHB0clsxXSA9PSAnPycpCisgICAgICAgICAgICAgICAgcHRyKys7CisgICAg
ICAgIH0KICAgICAgICAgfQogICAgICAgfQogICAgIGNvbnRpbnVlOwpAQCAtNDQ4MiwxOCArNDUx
OCwxOSBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKIAogICAgIC8qIEhhbmRsZSBzcGVj
aWFsIGZvcm1zIG9mIGJyYWNrZXQsIHdoaWNoIGFsbCBzdGFydCAoPyAqLwogCi0gICAgaWYgKHB0
clsxXSA9PSAnPycpCisgICAgaWYgKHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIHB0clsxXSA9PSAn
PycpCiAgICAgICB7CiAgICAgICBpbnQgc2V0LCB1bnNldDsKICAgICAgIGludCAqb3B0c2V0Owog
Ci0gICAgICBzd2l0Y2ggKGMgPSBwdHJbMl0pCisgICAgICBzd2l0Y2ggKGMgPSAocHRyICsgMiA8
IHBhdHRlcm5FbmQgPyBwdHJbMl0gOiAwKSkKICAgICAgICAgewogICAgICAgICAvKiBTa2lwIG92
ZXIgY29tbWVudHMgZW50aXJlbHkgKi8KICAgICAgICAgY2FzZSAnIyc6CiAgICAgICAgIHB0ciAr
PSAzOwotICAgICAgICB3aGlsZSAoKnB0ciAhPSAwICYmICpwdHIgIT0gJyknKSBwdHIrKzsKLSAg
ICAgICAgaWYgKCpwdHIgPT0gMCkKKyAgICAgICAgd2hpbGUgKHB0ciA8IHBhdHRlcm5FbmQgJiYg
KnB0ciAhPSAnKScpCisgICAgICAgICAgICBwdHIrKzsKKyAgICAgICAgaWYgKHB0ciA9PSBwYXR0
ZXJuRW5kKQogICAgICAgICAgIHsKICAgICAgICAgICBlcnJvcmNvZGUgPSBFUlIxODsKICAgICAg
ICAgICBnb3RvIFBDUkVfRVJST1JfUkVUVVJOOwpAQCAtNDUyOSwxMCArNDU2NiwxMCBAQCB3aGls
ZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKICAgICAgICAgaWYgKGMgIT0gJ1InKQogICAgICAgICAg
IHsKICAgICAgICAgICArK3B0cjsKLSAgICAgICAgICB3aGlsZSAoKERJR0lUQUIoKnB0cikgJiBj
dHlwZV9kaWdpdCkgIT0gMCkKKyAgICAgICAgICB3aGlsZSAocHRyIDwgcGF0dGVybkVuZCAmJiAo
RElHSVRBQigqcHRyKSAmIGN0eXBlX2RpZ2l0KSAhPSAwKQogICAgICAgICAgICAgKytwdHI7CiAg
ICAgICAgICAgfQotICAgICAgICBpZiAoKnB0ciAhPSAnKScpCisgICAgICAgIGlmIChwdHIgPj0g
cGF0dGVybkVuZCB8fCAqcHRyICE9ICcpJykKICAgICAgICAgICB7CiAgICAgICAgICAgZXJyb3Jj
b2RlID0gRVJSMjk7CiAgICAgICAgICAgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKQEAgLTQ1NDMs
NyArNDU4MCw3IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgICAgICBhcyB0byB1
c2UgdGhlIGNvZGUgZm9yIHF1YW50aWZpZWQgYnJhY2tldHMuIFdlIGp1bXAgZG93biBhbmQgdXNl
IHRoZQogICAgICAgICBjb2RlIHRoYXQgaGFuZGxlcyB0aGlzIGZvciByZWFsIGJyYWNrZXRzLiAq
LwogCi0gICAgICAgIGlmIChwdHJbMV0gPT0gJysnIHx8IHB0clsxXSA9PSAnKicgfHwgcHRyWzFd
ID09ICc/JyB8fCBwdHJbMV0gPT0gJ3snKQorICAgICAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5F
bmQgJiYgKHB0clsxXSA9PSAnKycgfHwgcHRyWzFdID09ICcqJyB8fCBwdHJbMV0gPT0gJz8nIHx8
IHB0clsxXSA9PSAneycpKQogICAgICAgICAgIHsKICAgICAgICAgICBsZW5ndGggKz0gMiArIDIg
KiBMSU5LX1NJWkU7ICAgICAgIC8qIHRvIG1ha2UgYnJhY2tldGVkICovCiAgICAgICAgICAgZHVw
bGVuZ3RoID0gNSArIDMgKiBMSU5LX1NJWkU7CkBAIC00NTU3LDkgKzQ1OTQsOSBAQCB3aGlsZSAo
KGMgPSAqKCsrcHRyKSkgIT0gMCkKIAogICAgICAgICBjYXNlICdDJzoKICAgICAgICAgcHRyICs9
IDM7Ci0gICAgICAgIHdoaWxlICgoRElHSVRBQigqcHRyKSAmIGN0eXBlX2RpZ2l0KSAhPSAwKQor
ICAgICAgICB3aGlsZSAocHRyIDwgcGF0dGVybkVuZCAmJiAoRElHSVRBQigqcHRyKSAmIGN0eXBl
X2RpZ2l0KSAhPSAwKQogICAgICAgICAgICsrcHRyOwotICAgICAgICBpZiAoKnB0ciAhPSAnKScp
CisgICAgICAgIGlmIChwdHIgPj0gcGF0dGVybkVuZCB8fCAqcHRyICE9ICcpJykKICAgICAgICAg
ICB7CiAgICAgICAgICAgZXJyb3Jjb2RlID0gRVJSMzk7CiAgICAgICAgICAgZ290byBQQ1JFX0VS
Uk9SX1JFVFVSTjsKQEAgLTQ1NzEsMzMgKzQ2MDgsMzYgQEAgd2hpbGUgKChjID0gKigrK3B0cikp
ICE9IDApCiAKICAgICAgICAgY2FzZSAnUCc6CiAgICAgICAgIHB0ciArPSAzOwotICAgICAgICBp
ZiAoKnB0ciA9PSAnPCcpCi0gICAgICAgICAgewotICAgICAgICAgIGNvbnN0IHBjcmVfdWNoYXIg
KnA7ICAgIC8qIERvbid0IGFtYWxnYW1hdGU7IHNvbWUgY29tcGlsZXJzICovCi0gICAgICAgICAg
cCA9ICsrcHRyOyAgICAgICAgICAvKiBncnVtYmxlIGF0IGF1dG9pbmNyZW1lbnQgaW4gZGVjbGFy
YXRpb24gKi8KLSAgICAgICAgICB3aGlsZSAoKENUWVBFUygmY29tcGlsZV9ibG9jaywgKnB0cikg
JiBjdHlwZV93b3JkKSAhPSAwKSBwdHIrKzsKLSAgICAgICAgICBpZiAoKnB0ciAhPSAnPicpCi0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICBlcnJvcmNvZGUgPSBFUlI0MjsKLSAgICAgICAgICAg
IGdvdG8gUENSRV9FUlJPUl9SRVRVUk47Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgbmFtZV9j
b3VudCsrOwotICAgICAgICAgIGlmIChwdHIgLSBwID4gbWF4X25hbWVfc2l6ZSkgbWF4X25hbWVf
c2l6ZSA9IElOVF9DQVNUKHB0ciAtIHApOwotICAgICAgICAgIGJyZWFrOwotICAgICAgICAgIH0K
KyAgICAgICAgaWYgKHB0ciA8IHBhdHRlcm5FbmQpIHsKKyAgICAgICAgICAgIGlmICgqcHRyID09
ICc8JykKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICBjb25zdCBwY3JlX3VjaGFyICpw
OyAgICAvKiBEb24ndCBhbWFsZ2FtYXRlOyBzb21lIGNvbXBpbGVycyAqLworICAgICAgICAgICAg
ICBwID0gKytwdHI7ICAgICAgICAgIC8qIGdydW1ibGUgYXQgYXV0b2luY3JlbWVudCBpbiBkZWNs
YXJhdGlvbiAqLworICAgICAgICAgICAgICB3aGlsZSAocHRyIDwgcGF0dGVybkVuZCAmJiAoQ1RZ
UEVTKCZjb21waWxlX2Jsb2NrLCAqcHRyKSAmIGN0eXBlX3dvcmQpICE9IDApCisgICAgICAgICAg
ICAgICAgICBwdHIrKzsKKyAgICAgICAgICAgICAgaWYgKHB0ciA+PSBwYXR0ZXJuRW5kIHx8ICpw
dHIgIT0gJz4nKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBlcnJvcmNvZGUg
PSBFUlI0MjsKKyAgICAgICAgICAgICAgICBnb3RvIFBDUkVfRVJST1JfUkVUVVJOOworICAgICAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgICAgbmFtZV9jb3VudCsrOworICAgICAgICAgICAgICBp
ZiAocHRyIC0gcCA+IG1heF9uYW1lX3NpemUpIG1heF9uYW1lX3NpemUgPSBJTlRfQ0FTVChwdHIg
LSBwKTsKKyAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgIH0KIAotICAgICAgICBp
ZiAoKnB0ciA9PSAnPScgfHwgKnB0ciA9PSAnPicpCi0gICAgICAgICAgewotICAgICAgICAgICsr
cHRyOwotICAgICAgICAgIHdoaWxlICgoQ1RZUEVTKCZjb21waWxlX2Jsb2NrLCAqcHRyKSAmIGN0
eXBlX3dvcmQpICE9IDApCi0gICAgICAgICAgICArK3B0cjsKLSAgICAgICAgICBpZiAoKnB0ciAh
PSAnKScpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICBlcnJvcmNvZGUgPSBFUlI0MjsKLSAg
ICAgICAgICAgIGdvdG8gUENSRV9FUlJPUl9SRVRVUk47Ci0gICAgICAgICAgICB9Ci0gICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCpwdHIgPT0gJz0nIHx8ICpw
dHIgPT0gJz4nKQorICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICsrcHRyOworICAgICAg
ICAgICAgICB3aGlsZSAocHRyIDwgcGF0dGVybkVuZCAmJiAoQ1RZUEVTKCZjb21waWxlX2Jsb2Nr
LCAqcHRyKSAmIGN0eXBlX3dvcmQpICE9IDApCisgICAgICAgICAgICAgICAgKytwdHI7CisgICAg
ICAgICAgICAgIGlmIChwdHIgPj0gcGF0dGVybkVuZCB8fCAqcHRyICE9ICcpJykKKyAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgZXJyb3Jjb2RlID0gRVJSNDI7CisgICAgICAgICAg
ICAgICAgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgICB9CisgICAgICAgIH0KIAogICAgICAgICAvKiBV
bmtub3duIGNoYXJhY3RlciBhZnRlciAoP1AgKi8KIApAQCAtNDYwOCw3ICs0NjQ4LDcgQEAgd2hp
bGUgKChjID0gKigrK3B0cikpICE9IDApCiAKICAgICAgICAgY2FzZSAnPCc6CiAgICAgICAgIHB0
ciArPSAzOwotICAgICAgICBpZiAoKnB0ciA9PSAnPScgfHwgKnB0ciA9PSAnIScpCisgICAgICAg
IGlmIChwdHIgPCBwYXR0ZXJuRW5kICYmICgqcHRyID09ICc9JyB8fCAqcHRyID09ICchJykpCiAg
ICAgICAgICAgewogICAgICAgICAgIGJyYW5jaF9uZXdleHRyYSA9IDEgKyBMSU5LX1NJWkU7CiAg
ICAgICAgICAgbGVuZ3RoICs9IDEgKyBMSU5LX1NJWkU7ICAgICAgICAgLyogRm9yIHRoZSBmaXJz
dCBicmFuY2ggKi8KQEAgLTQ2MjIsMTcgKzQ2NjIsMTggQEAgd2hpbGUgKChjID0gKigrK3B0cikp
ICE9IDApCiAgICAgICAgIGdyb3VwLCBvciAoYSBQQ1JFIGV4dGVuc2lvbikgYnkgJ1InIGZvciBh
IHJlY3Vyc2lvbiB0ZXN0LiAqLwogCiAgICAgICAgIGNhc2UgJygnOgotICAgICAgICBpZiAocHRy
WzNdID09ICdSJyAmJiBwdHJbNF0gPT0gJyknKQorICAgICAgICBpZiAocHRyICsgNCA8IHBhdHRl
cm5FbmQgJiYgcHRyWzNdID09ICdSJyAmJiBwdHJbNF0gPT0gJyknKQogICAgICAgICAgIHsKICAg
ICAgICAgICBwdHIgKz0gNDsKICAgICAgICAgICBsZW5ndGggKz0gMzsKICAgICAgICAgICB9Ci0g
ICAgICAgIGVsc2UgaWYgKChESUdJVEFCKHB0clszXSkgJiBjdHlwZV9kaWdpdCkgIT0gMCkKKyAg
ICAgICAgZWxzZSBpZiAocHRyICsgMyA8IHBhdHRlcm5FbmQgJiYgKERJR0lUQUIocHRyWzNdKSAm
IGN0eXBlX2RpZ2l0KSAhPSAwKQogICAgICAgICAgIHsKICAgICAgICAgICBwdHIgKz0gNDsKICAg
ICAgICAgICBsZW5ndGggKz0gMzsKLSAgICAgICAgICB3aGlsZSAoKERJR0lUQUIoKnB0cikgJiBj
dHlwZV9kaWdpdCkgIT0gMCkgcHRyKys7Ci0gICAgICAgICAgaWYgKCpwdHIgIT0gJyknKQorICAg
ICAgICAgIHdoaWxlIChwdHIgPCBwYXR0ZXJuRW5kICYmIChESUdJVEFCKCpwdHIpICYgY3R5cGVf
ZGlnaXQpICE9IDApCisgICAgICAgICAgICAgIHB0cisrOworICAgICAgICAgIGlmIChwdHIgPj0g
cGF0dGVybkVuZCB8fCAqcHRyICE9ICcpJykKICAgICAgICAgICAgIHsKICAgICAgICAgICAgIGVy
cm9yY29kZSA9IEVSUjI2OwogICAgICAgICAgICAgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKQEAg
LTQ2NDEsNyArNDY4Miw3IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgICAgICBl
bHNlICAgLyogQW4gYXNzZXJ0aW9uIG11c3QgZm9sbG93ICovCiAgICAgICAgICAgewogICAgICAg
ICAgIHB0cisrOyAgIC8qIENhbiB0cmVhdCBsaWtlICc6JyBhcyBmYXIgYXMgc3BhY2luZyBpcyBj
b25jZXJuZWQgKi8KLSAgICAgICAgICBpZiAocHRyWzJdICE9ICc/JyB8fAorICAgICAgICAgIGlm
IChwdHIgKyAzID49IHBhdHRlcm5FbmQgfHwgcHRyWzJdICE9ICc/JyB8fAogICAgICAgICAgICAg
IChwdHJbM10gIT0gJz0nICYmIHB0clszXSAhPSAnIScgJiYgcHRyWzNdICE9ICc8JykgKQogICAg
ICAgICAgICAgewogICAgICAgICAgICAgcHRyICs9IDI7ICAgIC8qIFRvIGdldCByaWdodCBvZmZz
ZXQgaW4gbWVzc2FnZSAqLwpAQCAtNDY2Myw3ICs0NzA0LDcgQEAgd2hpbGUgKChjID0gKigrK3B0
cikpICE9IDApCiAKICAgICAgICAgZm9yICg7OyBwdHIrKykKICAgICAgICAgICB7Ci0gICAgICAg
ICAgYyA9ICpwdHI7CisgICAgICAgICAgYyA9IHB0ciA8IHBhdHRlcm5FbmQgPyAqcHRyIDogMDsK
ICAgICAgICAgICBzd2l0Y2ggKGMpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICBjYXNlICdp
JzoKQEAgLTQ4MzEsNyArNDg3Miw3IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAg
IC8qIExlYXZlIHB0ciBhdCB0aGUgZmluYWwgY2hhcjsgZm9yIHJlYWRfcmVwZWF0X2NvdW50cyB0
aGlzIGhhcHBlbnMKICAgICBhdXRvbWF0aWNhbGx5OyBmb3IgdGhlIG90aGVycyB3ZSBuZWVkIGFu
IGluY3JlbWVudC4gKi8KIAotICAgIGlmICgoYyA9IHB0clsxXSkgPT0gJ3snICYmIGlzX2NvdW50
ZWRfcmVwZWF0KHB0cisyKSkKKyAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgKGMgPSBw
dHJbMV0pID09ICd7JyAmJiBpc19jb3VudGVkX3JlcGVhdChwdHIrMiwgcGF0dGVybkVuZCkpCiAg
ICAgICB7CiAgICAgICBwdHIgPSByZWFkX3JlcGVhdF9jb3VudHMocHRyKzIsICZtaW4sICZtYXgs
ICZlcnJvcmNvZGUpOwogICAgICAgaWYgKGVycm9yY29kZSAhPSAwKSBnb3RvIFBDUkVfRVJST1Jf
UkVUVVJOOwpAQCAtNDg2OCw3ICs0OTA5LDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDAp
CiAKICAgICAvKiBBbGxvdyBzcGFjZSBmb3Igb25jZSBicmFja2V0cyBmb3IgInBvc3Nlc3NpdmUg
cXVhbnRpZmllciIgKi8KIAotICAgIGlmIChwdHJbMV0gPT0gJysnKQorICAgIGlmIChwdHIgKyAx
IDwgcGF0dGVybkVuZCAmJiBwdHJbMV0gPT0gJysnKQogICAgICAgewogICAgICAgcHRyKys7CiAg
ICAgICBsZW5ndGggKz0gMiArIDIqTElOS19TSVpFOwpAQCAtNDg4Miw3ICs0OTIzLDcgQEAgd2hp
bGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgZGVmYXVsdDoKICAgICBOT1JNQUxfQ0hBUjoK
IAotICAgIGlmIChpbmVzY3EgJiYgYyA9PSAnXFwnICYmIHB0clsxXSA9PSAnRScpCisgICAgaWYg
KGluZXNjcSAmJiBjID09ICdcXCcgJiYgcHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09
ICdFJykKICAgICAgIHsKICAgICAgIGluZXNjcSA9IEZBTFNFOwogICAgICAgcHRyKys7CkBAIC00
ODk5LDcgKzQ5NDAsNyBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKICAgICAgIHsKICAg
ICAgICAgaWYgKElTX0xFQURJTkdfU1VSUk9HQVRFKGMpKQogICAgICAgICAgIHsKLSAgICAgICAg
ICBjID0gREVDT0RFX1NVUlJPR0FURV9QQUlSKGMsICpwdHIpOworICAgICAgICAgIGMgPSBERUNP
REVfU1VSUk9HQVRFX1BBSVIoYywgcHRyIDwgcGF0dGVybkVuZCA/ICpwdHIgOiAwKTsKICAgICAg
ICAgICArK3B0cjsKICAgICAgICAgICB9CiAKQEAgLTQ5MTUsNyArNDk1Niw3IEBAIHdoaWxlICgo
YyA9ICooKytwdHIpKSAhPSAwKQogI2lmZGVmIFNVUFBPUlRfVVRGOAogICAgIGlmICh1dGY4ICYm
IChjICYgMHhjMCkgPT0gMHhjMCkKICAgICAgIHsKLSAgICAgIHdoaWxlICgocHRyWzFdICYgMHhj
MCkgPT0gMHg4MCkgICAgICAgICAvKiBDYW4ndCBmbG93IG92ZXIgdGhlIGVuZCAqLworICAgICAg
d2hpbGUgKHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIChwdHJbMV0gJiAweGMwKSA9PSAweDgwKSAg
ICAgICAgIC8qIENhbid0IGZsb3cgb3ZlciB0aGUgZW5kICovCiAgICAgICAgIHsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYmVjYXVzZSB0aGUgZW5kIGlzIG1hcmtlZCAq
LwogICAgICAgICBsYXN0aXRlbWxlbmd0aCsrOyAgICAgICAgICAgICAgICAgICAgIC8qIGJ5IGEg
emVybyBieXRlLiAqLwogICAgICAgICBsZW5ndGgrKzsKQEAgLTQ5ODgsNyArNTAyOSw3IEBAIHB0
ciA9IChjb25zdCBwY3JlX3VjaGFyICopcGF0dGVybjsKIGNvZGUgPSAodXNjaGFyICopY29kZXN0
YXJ0OwogKmNvZGUgPSBPUF9CUkE7CiBicmFjb3VudCA9IDA7Ci0odm9pZCljb21waWxlX3JlZ2V4
KG9wdGlvbnMsIG9wdGlvbnMgJiBQQ1JFX0lNUywgJmJyYWNvdW50LCAmY29kZSwgJnB0ciwKKyh2
b2lkKWNvbXBpbGVfcmVnZXgob3B0aW9ucywgb3B0aW9ucyAmIFBDUkVfSU1TLCAmYnJhY291bnQs
ICZjb2RlLCAmcHRyLCBwYXR0ZXJuRW5kLAogICAmZXJyb3Jjb2RlLCBGQUxTRSwgMCwgJmZpcnN0
Ynl0ZSwgJnJlcWJ5dGUsIE5VTEwsICZjb21waWxlX2Jsb2NrKTsKIHJlLT50b3BfYnJhY2tldCA9
IGJyYWNvdW50OwogcmUtPnRvcF9iYWNrcmVmID0gY29tcGlsZV9ibG9jay50b3BfYmFja3JlZjsK
QEAgLTQ5OTcsNyArNTAzOCw3IEBAIGlmIChjb21waWxlX2Jsb2NrLm5vcGFydGlhbCkgcmUtPm9w
dGlvbnMKIAogLyogSWYgbm90IHJlYWNoZWQgZW5kIG9mIHBhdHRlcm4gb24gc3VjY2VzcywgdGhl
cmUncyBhbiBleGNlc3MgYnJhY2tldC4gKi8KIAotaWYgKGVycm9yY29kZSA9PSAwICYmICpwdHIg
IT0gMCkgZXJyb3Jjb2RlID0gRVJSMjI7CitpZiAoZXJyb3Jjb2RlID09IDAgJiYgcHRyIDwgcGF0
dGVybkVuZCkgZXJyb3Jjb2RlID0gRVJSMjI7CiAKIC8qIEZpbGwgaW4gdGhlIHRlcm1pbmF0aW5n
IHN0YXRlIGFuZCBjaGVjayBmb3IgZGlzYXN0cm91cyBvdmVyZmxvdywgYnV0CiBpZiBkZWJ1Z2dp
bmcsIGxlYXZlIHRoZSB0ZXN0IHRpbGwgYWZ0ZXIgdGhpbmdzIGFyZSBwcmludGVkIG91dC4gKi8K
SW5kZXg6IEphdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9pbnRlcm5hbC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEphdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9pbnRlcm5hbC5oCShyZXZpc2lvbiAxODQ1NykKKysr
IEphdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9pbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0z
NTcsNiArMzU3LDE0IEBAIGlmICgoYyAmIDB4YzApID09IDB4YzApIFwKICAgICArK2xlbjsgXAog
ICAgIH0KIAorI2RlZmluZSBHRVRDSEFSTEVORU5EKGMsIGVwdHIsIGVuZCwgbGVuKSBcCisgIGMg
PSBlcHRyWzBdOyBcCisgIGlmIChJU19MRUFESU5HX1NVUlJPR0FURShjKSkgXAorICAgIHsgXAor
ICAgIGMgPSBERUNPREVfU1VSUk9HQVRFX1BBSVIoYywgZXB0ciArIDEgPCBlbmQgPyBlcHRyWzFd
IDogMCk7IFwKKyAgICArK2xlbjsgXAorICAgIH0KKwogI2RlZmluZSBJU01JRENIQVIoYykgSVNf
VFJBSUxJTkdfU1VSUk9HQVRFKGMpCiAKICNlbHNlCkluZGV4OiBKYXZhU2NyaXB0Q29yZS90ZXN0
cy9tb3ppbGxhL2V4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvdGVz
dHMvbW96aWxsYS9leHBlY3RlZC5odG1sCShyZXZpc2lvbiAxODQ3MykKKysrIEphdmFTY3JpcHRD
b3JlL3Rlc3RzL21vemlsbGEvZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNywxMSAr
NywxMSBAQAogPHAgY2xhc3M9J3Jlc3VsdHNfc3VtbWFyeSc+CiBUZXN0IExpc3Q6IEFsbCB0ZXN0
czxicj4KIFNraXAgTGlzdDogKG5vbmUpPGJyPgotMTEzNSB0ZXN0KHMpIHNlbGVjdGVkLCAxMTI3
IHRlc3QocykgY29tcGxldGVkLCA3MCBmYWlsdXJlcyByZXBvcnRlZCAoNi4yMSUgZmFpbGVkKTxi
cj4KLUVuZ2luZSBjb21tYW5kIGxpbmU6IC9Eb3dubG9hZHMvQnVpbGRzL1JlbGVhc2UvdGVzdGtq
cyA8YnI+Ci1PUyB0eXBlOiBEYXJ3aW4gZGlnZG9nLmxvY2FsIDguOC4wIERhcndpbiBLZXJuZWwg
VmVyc2lvbiA4LjguMDogRnJpIFNlcCAgOCAxNzoxODo1NyBQRFQgMjAwNjsgcm9vdDp4bnUtNzky
LjEyLjYub2JqfjEvUkVMRUFTRV9QUEMgUG93ZXIgTWFjaW50b3NoIHBvd2VycGM8YnI+Ci1UZXN0
Y2FzZSBleGVjdXRpb24gdGltZTogMyBtaW51dGVzLCA1MCBzZWNvbmRzLjxicj4KLVRlc3RzIGNv
bXBsZXRlZCBvbiBUaHUgRGVjICA3IDE5OjA2OjMwIDIwMDYuPGJyPjxicj4KKzExMzUgdGVzdChz
KSBzZWxlY3RlZCwgMTEyNyB0ZXN0KHMpIGNvbXBsZXRlZCwgNjggZmFpbHVyZXMgcmVwb3J0ZWQg
KDYuMDMlIGZhaWxlZCk8YnI+CitFbmdpbmUgY29tbWFuZCBsaW5lOiAvV2ViS2l0L1dlYktpdEJ1
aWxkL1JlbGVhc2UvdGVzdGtqcyA8YnI+CitPUyB0eXBlOiBEYXJ3aW4gaW1hYy1nNS5sb2NhbCA4
LjguMCBEYXJ3aW4gS2VybmVsIFZlcnNpb24gOC44LjA6IEZyaSBTZXAgIDggMTc6MTg6NTcgUERU
IDIwMDY7IHJvb3Q6eG51LTc5Mi4xMi42Lm9ian4xL1JFTEVBU0VfUFBDIFBvd2VyIE1hY2ludG9z
aCBwb3dlcnBjPGJyPgorVGVzdGNhc2UgZXhlY3V0aW9uIHRpbWU6IDIgbWludXRlcywgNyBzZWNv
bmRzLjxicj4KK1Rlc3RzIGNvbXBsZXRlZCBvbiBGcmkgRGVjIDI5IDA4OjAxOjExIDIwMDYuPGJy
Pjxicj4KIFsgPGEgaHJlZj0nI2ZhaWxfZGV0YWlsJz5GYWlsdXJlIERldGFpbHM8L2E+IHwgPGEg
aHJlZj0nI3JldGVzdF9saXN0Jz5SZXRlc3QgTGlzdDwvYT4gfCA8YSBocmVmPSdtZW51Lmh0bWwn
PlRlc3QgU2VsZWN0aW9uIFBhZ2U8L2E+IF08YnI+CiA8aHI+CiA8YSBuYW1lPSdmYWlsX2RldGFp
bCc+PC9hPgpAQCAtNjgsNyArNjgsNyBAQCBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFs
IDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KIC0tPiBSZWdFeHAvaGV4
LTAwMS5qcyBKUyByZWdleHAgYW5jaG9yaW5nIG9uIGVtcHR5IG1hdGNoIGJ1Zzxicj4KIC0tPiBC
VUdOVU1CRVI6IGh0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1
Nzxicj4KLVsxOTM5XSAuL2VjbWFfMi9SZWdFeHAvcmVncmVzcy0wMDEuanMgbGluZSAxODogVHlw
ZUVycm9yOiBPYmplY3QgL2F8fGIvIChyZXN1bHQgb2YgZXhwcmVzc2lvbiAvYXx8Yi8pIGRvZXMg
bm90IGFsbG93IGNhbGxzLjxicj4KK1s0NjM4XSAuL2VjbWFfMi9SZWdFeHAvcmVncmVzcy0wMDEu
anMgbGluZSAxODogVHlwZUVycm9yOiBPYmplY3QgL2F8fGIvIChyZXN1bHQgb2YgZXhwcmVzc2lv
biAvYXx8Yi8pIGRvZXMgbm90IGFsbG93IGNhbGxzLjxicj4KIDwvdHQ+PGJyPgogPGEgbmFtZT0n
ZmFpbHVyZTYnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhy
ZWY9Jy4vZWNtYV8yL1JlZ0V4cC91bmljb2RlLTAwMS5qcyc+ZWNtYV8yL1JlZ0V4cC91bmljb2Rl
LTAwMS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CiAgWyA8YSBocmVmPScjZmFpbHVyZTUnPlByZXZp
b3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU3Jz5OZXh0IEZhaWx1cmU8L2E+IHwg
PGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CkBAIC03Niw3ICs3Niw3
IEBAIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgogVGVzdGNhc2UgdGVybWluYXRl
ZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+CiAt
LT4gUmVnRXhwL3VuaWNvZGUtMDAxLmpzIG5ldyBSZWdFeHAoIHBhdHRlcm4sIGZsYWdzICk8YnI+
Ci1bMTk0MF0gLi9lY21hXzIvUmVnRXhwL3VuaWNvZGUtMDAxLmpzIGxpbmUgMzM6IFR5cGVFcnJv
cjogTnVsbCB2YWx1ZTxicj4KK1s0NjM5XSAuL2VjbWFfMi9SZWdFeHAvdW5pY29kZS0wMDEuanMg
bGluZSAyMDogU3ludGF4RXJyb3I6IEludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBQQ1JFIGRv
ZXMgbm90IHN1cHBvcnQgXEwsIFxsLCBcTiwgXFUsIG9yIFx1PGJyPgogPC90dD48YnI+CiA8YSBu
YW1lPSdmYWlsdXJlNyc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRv
dycgaHJlZj0nLi9lY21hXzMvRGF0ZS8xNS45LjUuNy5qcyc+ZWNtYV8zL0RhdGUvMTUuOS41Ljcu
anM8L2E+IGZhaWxlZDwvYj4gPGJyPgogIFsgPGEgaHJlZj0nI2ZhaWx1cmU2Jz5QcmV2aW91cyBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlOCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhy
ZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgpAQCAtOTEsOCArOTEsOCBAQCBG
YWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogLS0+IChNb24gRmViIDI4IDIwMDAgMTY6MDA6MDAg
R01ULTA4MDAgKFBTVCkpLnRvTG9jYWxlVGltZVN0cmluZygpID0gNDowMDowMCBQTSBQU1QgRkFJ
TEVEISBleHBlY3RlZDogMTY6MDA6MDA8YnI+CiAtLT4gKE1vbiBGZWIgMjggMjAwMCAxNTo1OTo1
OSBHTVQtMDgwMCAoUFNUKSkudG9Mb2NhbGVUaW1lU3RyaW5nKCkgPSAzOjU5OjU5IFBNIFBTVCBG
QUlMRUQhIGV4cGVjdGVkOiAxNTo1OTo1OTxicj4KIC0tPiAoVHVlIEZlYiAyOSAyMDAwIDAwOjAw
OjAwIEdNVC0wODAwIChQU1QpKS50b0xvY2FsZVRpbWVTdHJpbmcoKSA9IDEyOjAwOjAwIEFNIFBT
VCBGQUlMRUQhIGV4cGVjdGVkOiAwMDowMDowMDxicj4KLS0tPiAoVGh1IERlYyAwNyAyMDA2IDE5
OjA1OjMxIEdNVC0wODAwIChQU1QpKS50b0xvY2FsZVRpbWVTdHJpbmcoKSA9IDc6MDU6MzEgUE0g
UFNUIEZBSUxFRCEgZXhwZWN0ZWQ6IDE5OjA1OjMxPGJyPgotLS0+IChGcmkgRGVjIDA4IDIwMDYg
MDM6MDU6MzEgR01ULTA4MDAgKFBTVCkpLnRvTG9jYWxlVGltZVN0cmluZygpID0gMzowNTozMSBB
TSBQU1QgRkFJTEVEISBleHBlY3RlZDogMDM6MDU6MzE8YnI+CistLT4gKEZyaSBEZWMgMjkgMjAw
NiAwODowMDozNCBHTVQtMDgwMCAoUFNUKSkudG9Mb2NhbGVUaW1lU3RyaW5nKCkgPSA4OjAwOjM0
IEFNIFBTVCBGQUlMRUQhIGV4cGVjdGVkOiAwODowMDozNDxicj4KKy0tPiAoRnJpIERlYyAyOSAy
MDA2IDE2OjAwOjM0IEdNVC0wODAwIChQU1QpKS50b0xvY2FsZVRpbWVTdHJpbmcoKSA9IDQ6MDA6
MzQgUE0gUFNUIEZBSUxFRCEgZXhwZWN0ZWQ6IDE2OjAwOjM0PGJyPgogLS0+IChGcmkgRGVjIDMx
IDIwMDQgMTY6MDA6MDAgR01ULTA4MDAgKFBTVCkpLnRvTG9jYWxlVGltZVN0cmluZygpID0gNDow
MDowMCBQTSBQU1QgRkFJTEVEISBleHBlY3RlZDogMTY6MDA6MDA8YnI+CiAtLT4gKEZyaSBEZWMg
MzEgMjAwNCAxNTo1OTo1OSBHTVQtMDgwMCAoUFNUKSkudG9Mb2NhbGVUaW1lU3RyaW5nKCkgPSAz
OjU5OjU5IFBNIFBTVCBGQUlMRUQhIGV4cGVjdGVkOiAxNTo1OTo1OTxicj4KIC0tPiAoU2F0IEph
biAwMSAyMDA1IDAwOjAwOjAwIEdNVC0wODAwIChQU1QpKS50b0xvY2FsZVRpbWVTdHJpbmcoKSA9
IDEyOjAwOjAwIEFNIFBTVCBGQUlMRUQhIGV4cGVjdGVkOiAwMDowMDowMDxicj4KQEAgLTEyOSwy
MCArMTI5LDggQEAgRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiBGQUlMRUQhOiBbcmVw
b3J0ZWQgZnJvbSB0ZXN0KCldIEFjdHVhbDogbnVsbDxicj4KIC0tPiBGQUlMRUQhOiBbcmVwb3J0
ZWQgZnJvbSB0ZXN0KCldIDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTEwJz48L2E+
PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2VjbWFfMy9S
ZWdFeHAvb2N0YWwtMDAyLmpzJz5lY21hXzMvUmVnRXhwL29jdGFsLTAwMi5qczwvYT4gZmFpbGVk
PC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lk
PTE0MTA3OCcgdGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIgMTQxMDc4PC9hPjxicj4K
KzxhIG5hbWU9J2ZhaWx1cmUxMCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVy
X3dpbmRvdycgaHJlZj0nLi9lY21hXzMvUmVnRXhwL3BlcmxzdHJlc3MtMDAxLmpzJz5lY21hXzMv
UmVnRXhwL3BlcmxzdHJlc3MtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9i
dWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU3MjEnIHRhcmdldD0nb3RoZXJf
d2luZG93Jz5CdWcgTnVtYmVyIDg1NzIxPC9hPjxicj4KICBbIDxhIGhyZWY9JyNmYWlsdXJlOSc+
UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTExJz5OZXh0IEZhaWx1cmU8
L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Ci08dHQ+LS0+
IFNUQVRVUzogVGVzdGluZyByZWdleHBzIGNvbnRhaW5pbmcgb2N0YWwgZXNjYXBlIHNlcXVlbmNl
czxicj4KLUZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVk
IGZyb20gdGVzdCgpXSBTZWN0aW9uIDggb2YgdGVzdCAtPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBv
cnRlZCBmcm9tIHRlc3QoKV0gcmVnZXhwID0gL2E8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVk
IGZyb20gdGVzdCgpXSBzdHJpbmcgPSAnYTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJv
bSB0ZXN0KCldIEVSUk9SICEhISByZWdleHAgZmFpbGVkIHRvIGdpdmUgZXhwZWN0ZWQgbWF0Y2gg
YXJyYXk6PGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0OiBb
ImE8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBBY3R1YWw6IFsiYSJd
PGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgotPC90dD48YnI+
Ci08YSBuYW1lPSdmYWlsdXJlMTEnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhl
cl93aW5kb3cnIGhyZWY9Jy4vZWNtYV8zL1JlZ0V4cC9wZXJsc3RyZXNzLTAwMS5qcyc+ZWNtYV8z
L1JlZ0V4cC9wZXJsc3RyZXNzLTAwMS5qczwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8v
YnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTg1NzIxJyB0YXJnZXQ9J290aGVy
X3dpbmRvdyc+QnVnIE51bWJlciA4NTcyMTwvYT48YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTEw
Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMTInPk5leHQgRmFpbHVy
ZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD4t
LT4gU1RBVFVTOiBUZXN0aW5nIHJlZ3VsYXIgZXhwcmVzc2lvbiBlZGdlIGNhc2VzPGJyPgogRmFp
bHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0
KCldIFNlY3Rpb24gMjE4IG9mIHRlc3QgLTxicj4KQEAgLTE4MSw4ICsxNjksOCBAQCBGYWlsdXJl
IG1lc3NhZ2VzIHdlcmU6PGJyPgogLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0g
QWN0dWFsOiBbImFhYmJhYSIsICJhYSIsICJiYiJdPGJyPgogLS0+IEZBSUxFRCE6IFtyZXBvcnRl
ZCBmcm9tIHRlc3QoKV0gPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlMTInPjwvYT48
ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vZWNtYV8zL1Jl
Z0V4cC9wZXJsc3RyZXNzLTAwMi5qcyc+ZWNtYV8zL1JlZ0V4cC9wZXJsc3RyZXNzLTAwMi5qczwv
YT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19i
dWcuY2dpP2lkPTg1NzIxJyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciA4NTcyMTwv
YT48YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTExJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxh
IGhyZWY9JyNmYWlsdXJlMTMnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9w
Jz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUxMSc+PC9hPjxkZD48Yj5U
ZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9lY21hXzMvUmVnRXhwL3Bl
cmxzdHJlc3MtMDAyLmpzJz5lY21hXzMvUmVnRXhwL3BlcmxzdHJlc3MtMDAyLmpzPC9hPiBmYWls
ZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODU3MjEnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDg1NzIxPC9hPjxicj4K
KyBbIDxhIGhyZWY9JyNmYWlsdXJlMTAnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0n
I2ZhaWx1cmUxMic+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBv
ZiBQYWdlPC9hPiBdPGJyPgogPHR0Pi0tPiBTVEFUVVM6IFRlc3RpbmcgcmVndWxhciBleHByZXNz
aW9uIGVkZ2UgY2FzZXM8YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogLS0+IEZBSUxF
RCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gU2VjdGlvbiA0MCBvZiB0ZXN0IC08YnI+CkBAIC0y
MDAsOCArMTg4LDggQEAgRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiBGQUlMRUQhOiBb
cmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEFjdHVhbDogbnVsbDxicj4KIC0tPiBGQUlMRUQhOiBbcmVw
b3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTEzJz48
L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2VjbWFf
My9SZWdFeHAvcmVncmVzcy03Mjk2NC5qcyc+ZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTcyOTY0Lmpz
PC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NzI5NjQnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDcyOTY0
PC9hPjxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMTInPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwg
PGEgaHJlZj0nI2ZhaWx1cmUxNCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90
b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTEyJz48L2E+PGRkPjxi
PlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2VjbWFfMy9SZWdFeHAv
cmVncmVzcy03Mjk2NC5qcyc+ZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTcyOTY0LmpzPC9hPiBmYWls
ZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzI5NjQnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDcyOTY0PC9hPjxicj4K
KyBbIDxhIGhyZWY9JyNmYWlsdXJlMTEnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0n
I2ZhaWx1cmUxMyc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBv
ZiBQYWdlPC9hPiBdPGJyPgogPHR0Pi0tPiBTVEFUVVM6IFRlc3RpbmcgcmVndWxhciBleHByZXNz
aW9ucyBjb250YWluaW5nIG5vbi1MYXRpbjEgY2hhcmFjdGVyczxicj4KIEZhaWx1cmUgbWVzc2Fn
ZXMgd2VyZTo8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9u
IDMgb2YgdGVzdCAtPGJyPgpAQCAtMjE5LDggKzIwNyw4IEBAIEZhaWx1cmUgbWVzc2FnZXMgd2Vy
ZTo8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBBY3R1YWw6IG51bGw8
YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+CiA8L3R0Pjxicj4K
LTxhIG5hbWU9J2ZhaWx1cmUxNCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVy
X3dpbmRvdycgaHJlZj0nLi9lY21hXzMvUmVnRXhwL3JlZ3Jlc3MtNzgxNTYuanMnPmVjbWFfMy9S
ZWdFeHAvcmVncmVzcy03ODE1Ni5qczwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVn
emlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTU2JyB0YXJnZXQ9J290aGVyX3dp
bmRvdyc+QnVnIE51bWJlciA3ODE1NjwvYT48YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTEzJz5Q
cmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMTUnPk5leHQgRmFpbHVyZTwv
YT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9
J2ZhaWx1cmUxMyc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycg
aHJlZj0nLi9lY21hXzMvUmVnRXhwL3JlZ3Jlc3MtNzgxNTYuanMnPmVjbWFfMy9SZWdFeHAvcmVn
cmVzcy03ODE1Ni5qczwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96
aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTc4MTU2JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVn
IE51bWJlciA3ODE1NjwvYT48YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTEyJz5QcmV2aW91cyBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMTQnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBo
cmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD4tLT4gU1RBVFVTOiBU
ZXN0aW5nIHJlZ3VsYXIgZXhwcmVzc2lvbnMgd2l0aCAgXiwgJCwgYW5kIHRoZSBtIGZsYWcgLTxi
cj4KIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZy
b20gdGVzdCgpXSBTZWN0aW9uIDIgb2YgdGVzdCAtPGJyPgpAQCAtMjM4LDI5NSArMjI2LDIzIEBA
IEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20g
dGVzdCgpXSBBY3R1YWw6IG51bGw8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVz
dCgpXSA8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUxNSc+PC9hPjxkZD48Yj5UZXN0
Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9lY21hXzMvUmVnRXhwL3JlZ3Jl
c3MtODU3MjEuanMnPmVjbWFfMy9SZWdFeHAvcmVncmVzcy04NTcyMS5qczwvYT4gZmFpbGVkPC9i
PiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTg1
NzIxJyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciA4NTcyMTwvYT48YnI+Ci0gWyA8
YSBocmVmPScjZmFpbHVyZTE0Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWls
dXJlMTYnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFn
ZTwvYT4gXTxicj4KLTx0dD4tLT4gU1RBVFVTOiBQZXJmb3JtYW5jZTogZXhlY3V0aW9uIG9mIHJl
Z3VsYXIgZXhwcmVzc2lvbjxicj4KLUZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+Ci0tLT4gRkFJ
TEVEITogU2VjdGlvbiA0IG9mIHRlc3QgLTxicj4KLS0tPiBGQUlMRUQhOiByZWdleHAgPSAvWyAJ
XSooPzpcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/Oig/OlxcW17CgC3Dv118
XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzpcXFtewoAtw79dW15cXMKALcO/
PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKSlbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITog
DSgpXSopKlwpWyAJXSopKig/Oig/OlteKCA8PkAsOzoiLlxcXFtcXTxicj4KLS0tPiBGQUlMRUQh
OiANIl0qKD86XFxbXsKALcO/XVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANIl0qKSoiKVte
KCk8PkAsOzoiLlxcXFtcXcKALcO/PGJyPgotLS0+IEZBSUxFRCE6IC0fXSooPzooPzpcKFteXFzC
gC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/Oig/OlxcW17CgC3Dv118XChbXlxcwoAtw788
YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzpcXFtewoAtw79dW15cXMKALcO/PGJyPgotLS0+IEZB
SUxFRCE6IA0oKV0qKSpcKSlbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpfCJb
XlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSJdKig/OlxcW17CgC3Dv11bXlxcwoAtw788YnI+
Ci0tLT4gRkFJTEVEITogDSJdKikqIilbXigpPD5ALDs6Ii5cXFxbXF3CgC3Dvzxicj4KLS0tPiBG
QUlMRUQhOiAtH10qKSo8WyAJXSooPzpcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCld
Kig/Oig/OlxcW17CgC3Dv118XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzpc
XFtewoAtw79dW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKSlbXlxcwoAtw788
YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpWyAJXSopKig/OkBbIAldKig/OlwoW15cXMKALcO/
PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKD86KD86XFxbXsKALcO/XXxcKFteXFzCgC3Dvzxicj4K
LS0tPiBGQUlMRUQhOiANKCldKig/OlxcW17CgC3Dv11bXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVE
ITogDSgpXSopKlwpKVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKikqXClbIAldKikq
KD86W14oIDw+QCw7OiIuXFxcW1xdPGJyPgotLS0+IEZBSUxFRCE6IA1cW1xdXXxcXFtewoAtw79d
KSpcXSlbIAldKig/OlwoW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKD86KD86XFxb
XsKALcO/XXxcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/OlxcW17CgC3Dv11b
XlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpKVteXFzCgC3Dvzxicj4KLS0tPiBG
QUlMRUQhOiANKCldKikqXClbIAldKikqKD86LlsgCV0qKD86XChbXlxcwoAtw788YnI+Ci0tLT4g
RkFJTEVEITogDSgpXSooPzooPzpcXFtewoAtw79dfFwoW15cXMKALcO/PGJyPgotLS0+IEZBSUxF
RCE6IA0oKV0qKD86XFxbXsKALcO/XVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKikq
XCkpW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKVsgCV0qKSooPzpbXiggPD5A
LDs6Ii5cXFxbXF08YnI+Ci0tLT4gRkFJTEVEITogDVxbXF1dfFxcW17CgC3Dv10pKlxdKVsgCV0q
KD86XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzooPzpcXFtewoAtw79dfFwo
W15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKD86XFxbXsKALcO/XVteXFzCgC3Dvzxi
cj4KLS0tPiBGQUlMRUQhOiANKCldKikqXCkpW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0o
KV0qKSpcKVsgCV0qKSopKig/OixbIAldKig/OlwoW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6
IA0oKV0qKD86KD86XFxbXsKALcO/XXxcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCld
Kig/OlxcW17CgC3Dv11bXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpKVteXFzC
gC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKikqXClbIAldKikqQFsgCV0qKD86XChbXlxcwoAt
w788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzooPzpcXFtewoAtw79dfFwoW15cXMKALcO/PGJy
PgotLS0+IEZBSUxFRCE6IA0oKV0qKD86XFxbXsKALcO/XVteXFzCgC3Dvzxicj4KLS0tPiBGQUlM
RUQhOiANKCldKikqXCkpW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKVsgCV0q
KSooPzpbXiggPD5ALDs6Ii5cXFxbXF08YnI+Ci0tLT4gRkFJTEVEITogDVxbXF1dfFxcW17CgC3D
v10pKlxdKVsgCV0qKD86XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzooPzpc
XFtewoAtw79dfFwoW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKD86XFxbXsKALcO/
XVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKikqXCkpW15cXMKALcO/PGJyPgotLS0+
IEZBSUxFRCE6IA0oKV0qKSpcKVsgCV0qKSooPzouWyAJXSooPzpcKFteXFzCgC3Dvzxicj4KLS0t
PiBGQUlMRUQhOiANKCldKig/Oig/OlxcW17CgC3Dv118XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJ
TEVEITogDSgpXSooPzpcXFtewoAtw79dW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0q
KSpcKSlbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpWyAJXSopKig/OlteKCA8
PkAsOzoiLlxcXFtcXTxicj4KLS0tPiBGQUlMRUQhOiANXFtcXV18XFxbXsKALcO/XSkqXF0pWyAJ
XSooPzpcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/Oig/OlxcW17CgC3Dv118
XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzpcXFtewoAtw79dW15cXMKALcO/
PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKSlbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITog
DSgpXSopKlwpWyAJXSopKikqKSo6WyAJXSooPzpcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQh
OiANKCldKig/Oig/OlxcW17CgC3Dv118XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgp
XSooPzpcXFtewoAtw79dW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKSlbXlxc
woAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpWyAJXSopKik/KD86W14oIDw+QCw7OiIu
XFxcW1xdPGJyPgotLS0+IEZBSUxFRCE6IA0iXSooPzpcXFtewoAtw79dW15cXMKALcO/PGJyPgot
LS0+IEZBSUxFRCE6IA0iXSopKiIpWyAJXSooPzpcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQh
OiANKCldKig/Oig/OlxcW17CgC3Dv118XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgp
XSooPzpcXFtewoAtw79dW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKSlbXlxc
woAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpWyAJXSopKkBbIAldKig/OlwoW15cXMKA
LcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKD86KD86XFxbXsKALcO/XXxcKFteXFzCgC3Dvzxi
cj4KLS0tPiBGQUlMRUQhOiANKCldKig/OlxcW17CgC3Dv11bXlxcwoAtw788YnI+Ci0tLT4gRkFJ
TEVEITogDSgpXSopKlwpKVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKikqXClbIAld
KikqKD86W14oIDw+QCw7OiIuXFxcW1xdPGJyPgotLS0+IEZBSUxFRCE6IA1cW1xdXXxcXFtewoAt
w79dKSpcXSlbIAldKig/OlwoW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKD86KD86
XFxbXsKALcO/XXxcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/OlxcW17CgC3D
v11bXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpKVteXFzCgC3Dvzxicj4KLS0t
PiBGQUlMRUQhOiANKCldKikqXClbIAldKikqKD86LlsgCV0qKD86XChbXlxcwoAtw788YnI+Ci0t
LT4gRkFJTEVEITogDSgpXSooPzooPzpcXFtewoAtw79dfFwoW15cXMKALcO/PGJyPgotLS0+IEZB
SUxFRCE6IA0oKV0qKD86XFxbXsKALcO/XVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCld
KikqXCkpW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKVsgCV0qKSooPzpbXigg
PD5ALDs6Ii5cXFxbXF08YnI+Ci0tLT4gRkFJTEVEITogDVxbXF1dfFxcW17CgC3Dv10pKlxdKVsg
CV0qKD86XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzooPzpcXFtewoAtw79d
fFwoW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKD86XFxbXsKALcO/XVteXFzCgC3D
vzxicj4KLS0tPiBGQUlMRUQhOiANKCldKikqXCkpW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6
IA0oKV0qKSpcKVsgCV0qKSopKj58KD86W14oIDw+QCw7OiIuXFxcW1xdPGJyPgotLS0+IEZBSUxF
RCE6IA0iXSooPzpcXFtewoAtw79dW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0iXSopKiIp
WyAJXSooPzpcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/Oig/OlxcW17CgC3D
v118XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzpcXFtewoAtw79dW15cXMKA
LcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKU9LLjxicj4KLS0tPiBGQUlMRUQhOiANKCldKikqXClb
IAldKikqQFsgCV0qKD86XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzooPzpc
XFtewoAtw79dfFwoW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKD86XFxbXsKALcO/
XVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKikqXCkpW15cXMKALcO/PGJyPgotLS0+
IEZBSUxFRCE6IA0oKV0qKSpcKVsgCV0qKSooPzpbXiggPD5ALDs6Ii5cXFxbXF08YnI+Ci0tLT4g
RkFJTEVEITogDVxbXF1dfFxcW17CgC3Dv10pKlxdKVsgCV0qKD86XChbXlxcwoAtw788YnI+Ci0t
LT4gRkFJTEVEITogDSgpXSooPzooPzpcXFtewoAtw79dfFwoW15cXMKALcO/PGJyPgotLS0+IEZB
SUxFRCE6IA0oKV0qKD86XFxbXsKALcO/XVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCld
KikqXCkpW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKVsgCV0qKSooPzouWyAJ
XSooPzpcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/Oig/OlxcW17CgC3Dv118
XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzpcXFtewoAtw79dW15cXMKALcO/
PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKSlbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITog
DSgpXSopKlwpWyAJXSopKig/OlteKCA8PkAsOzoiLlxcXFtcXTxicj4KLS0tPiBGQUlMRUQhOiAN
XFtcXV18XFxbXsKALcO/XSkqXF0pWyAJXSooPzpcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQh
OiANKCldKig/Oig/OlxcW17CgC3Dv118XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgp
XSooPzpcXFtewoAtw79dW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKSlbXlxc
woAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpWyAJXSopKikqKS9nPGJyPgotLS0+IEZB
SUxFRCE6IHN0cmluZyA9ICdKZWZmeTwiVGhhdCBUYWxsIEd1eSJAb3JhLmNvbSAodGhpcyBhZGRy
ZXNzIGlzIG5vIGxvbmdlciBhY3RpXHZlKT4nPGJyPgotLS0+IEZBSUxFRCE6IEVSUk9SICEhISBy
ZWdleHAgRkFJTEVEIHRvIG1hdGNoIGFueXRoaW5nICEhITxicj4KLS0tPiBGQUlMRUQhOiBFeHBl
Y3Q6IFsiSmVmZnk8IlRoYXQgVGFsbCBHdXkiQG9yYS5jb20gKHRoaXMgYWRkcmVzcyBpcyBubyBs
b25nZXIgYWN0aXZlKT4iXTxicj4KLS0tPiBGQUlMRUQhOiBBY3R1YWw6IG51bGw8YnI+Ci0tLT4g
RkFJTEVEITogPGJyPgotPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlMTYnPjwvYT48ZGQ+PGI+
VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vZWNtYV8zL1JlZ0V4cC9y
ZWdyZXNzLTEwMDE5OS5qcyc+ZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTEwMDE5OS5qczwvYT4gZmFp
bGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMDE5OScgdGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIgMTAwMTk5PC9hPjxi
cj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMTUnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJl
Zj0nI2ZhaWx1cmUxNyc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRv
cCBvZiBQYWdlPC9hPiBdPGJyPgotPHR0Pi0tPiBTVEFUVVM6IFtdLCBbXl0gYXJlIHZhbGlkIFJl
Z0V4cCBjb25kaXRpb25zLiBTaG91bGQgbm90IGNhdXNlIGVycm9ycyAtPGJyPgotRmFpbHVyZSBt
ZXNzYWdlcyB3ZXJlOjxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNl
Y3Rpb24gMTkgb2YgdGVzdCAtPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3Qo
KV0gcmVnZXhwID0gL1teXS88YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgp
XSBzdHJpbmcgPSAnYWJjJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCld
IEVSUk9SICEhISByZWdleHAgRkFJTEVEIHRvIG1hdGNoIGFueXRoaW5nICEhITxicj4KLS0tPiBG
QUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEV4cGVjdDogWyJhIl08YnI+Ci0tLT4gRkFJ
TEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBBY3R1YWw6IG51bGw8YnI+Ci0tLT4gRkFJTEVE
ITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZy
b20gdGVzdCgpXSBTZWN0aW9uIDIxIG9mIHRlc3QgLTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0
ZWQgZnJvbSB0ZXN0KCldIHJlZ2V4cCA9IC9bXl0vPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRl
ZCBmcm9tIHRlc3QoKV0gc3RyaW5nID0gJy8nPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gRVJST1IgISEhIHJlZ2V4cCBGQUlMRUQgdG8gbWF0Y2ggYW55dGhpbmcgISEh
PGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0OiBbIi8iXTxi
cj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEFjdHVhbDogbnVsbDxicj4K
LS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBb
cmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMjIgb2YgdGVzdCAtPGJyPgotLS0+IEZBSUxF
RCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gcmVnZXhwID0gL1teXS88YnI+Ci0tLT4gRkFJTEVE
ITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBzdHJpbmcgPSAnWyc8YnI+Ci0tLT4gRkFJTEVEITog
W3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFUlJPUiAhISEgcmVnZXhwIEZBSUxFRCB0byBtYXRjaCBh
bnl0aGluZyAhISE8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBl
Y3Q6IFsiWyJdPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gQWN0dWFs
OiBudWxsPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgotLS0+
IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gU2VjdGlvbiAyMyBvZiB0ZXN0IC08YnI+
Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSByZWdleHAgPSAvW15dLzxicj4K
LS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIHN0cmluZyA9ICdbJzxicj4KLS0t
PiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEVSUk9SICEhISByZWdleHAgRkFJTEVE
IHRvIG1hdGNoIGFueXRoaW5nICEhITxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0
ZXN0KCldIEV4cGVjdDogWyJbIl08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVz
dCgpXSBBY3R1YWw6IG51bGw8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgp
XSA8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9uIDI0IG9m
IHRlc3QgLTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIHJlZ2V4cCA9
IC9bXl0vPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gc3RyaW5nID0g
J10nPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRVJST1IgISEhIHJl
Z2V4cCBGQUlMRUQgdG8gbWF0Y2ggYW55dGhpbmcgISEhPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBv
cnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0OiBbIl0iXTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0
ZWQgZnJvbSB0ZXN0KCldIEFjdHVhbDogbnVsbDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQg
ZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNl
Y3Rpb24gMjUgb2YgdGVzdCAtPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3Qo
KV0gcmVnZXhwID0gL1teXS88YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgp
XSBzdHJpbmcgPSAnW10nPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0g
RVJST1IgISEhIHJlZ2V4cCBGQUlMRUQgdG8gbWF0Y2ggYW55dGhpbmcgISEhPGJyPgotLS0+IEZB
SUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0OiBbIlsiXTxicj4KLS0tPiBGQUlM
RUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEFjdHVhbDogbnVsbDxicj4KLS0tPiBGQUlMRUQh
OiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJv
bSB0ZXN0KCldIFNlY3Rpb24gMjYgb2YgdGVzdCAtPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRl
ZCBmcm9tIHRlc3QoKV0gcmVnZXhwID0gL1teXS88YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVk
IGZyb20gdGVzdCgpXSBzdHJpbmcgPSAnWyBdJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQg
ZnJvbSB0ZXN0KCldIEVSUk9SICEhISByZWdleHAgRkFJTEVEIHRvIG1hdGNoIGFueXRoaW5nICEh
ITxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEV4cGVjdDogWyJbIl08
YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBBY3R1YWw6IG51bGw8YnI+
Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+Ci0tLT4gRkFJTEVEITog
W3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9uIDI3IG9mIHRlc3QgLTxicj4KLS0tPiBGQUlM
RUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIHJlZ2V4cCA9IC9bXl0vPGJyPgotLS0+IEZBSUxF
RCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gc3RyaW5nID0gJ11bJzxicj4KLS0tPiBGQUlMRUQh
OiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEVSUk9SICEhISByZWdleHAgRkFJTEVEIHRvIG1hdGNo
IGFueXRoaW5nICEhITxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEV4
cGVjdDogWyJdIl08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBBY3R1
YWw6IG51bGw8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+Ci0t
LT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9uIDI4IG9mIHRlc3QgLTxi
cj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIHJlZ2V4cCA9IC9hW15dLzxi
cj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIHN0cmluZyA9ICdhYmMnPGJy
PgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRVJST1IgISEhIHJlZ2V4cCBG
QUlMRUQgdG8gbWF0Y2ggYW55dGhpbmcgISEhPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gRXhwZWN0OiBbImFiIl08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZy
b20gdGVzdCgpXSBBY3R1YWw6IG51bGw8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20g
dGVzdCgpXSA8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9u
IDMwIG9mIHRlc3QgLTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIHJl
Z2V4cCA9IC9hW15dLzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIHN0
cmluZyA9ICdhWyc8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFUlJP
UiAhISEgcmVnZXhwIEZBSUxFRCB0byBtYXRjaCBhbnl0aGluZyAhISE8YnI+Ci0tLT4gRkFJTEVE
ITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3Q6IFsiYVsiXTxicj4KLS0tPiBGQUlMRUQh
OiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEFjdHVhbDogbnVsbDxicj4KLS0tPiBGQUlMRUQhOiBb
cmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0
ZXN0KCldIFNlY3Rpb24gMzEgb2YgdGVzdCAtPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gcmVnZXhwID0gL2FbXl0vPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gc3RyaW5nID0gJ2FdJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJv
bSB0ZXN0KCldIEVSUk9SICEhISByZWdleHAgRkFJTEVEIHRvIG1hdGNoIGFueXRoaW5nT0suPGJy
PgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0OiBbImFdIl08YnI+
Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBBY3R1YWw6IG51bGw8YnI+Ci0t
LT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+Ci0tLT4gRkFJTEVEITogW3Jl
cG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9uIDMyIG9mIHRlc3QgLTxicj4KLS0tPiBGQUlMRUQh
OiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIHJlZ2V4cCA9IC9hW15dLzxicj4KLS0tPiBGQUlMRUQh
OiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIHN0cmluZyA9ICdhW10nPGJyPgotLS0+IEZBSUxFRCE6
IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRVJST1IgISEhIHJlZ2V4cCBGQUlMRUQgdG8gbWF0Y2gg
YW55dGhpbmcgISEhPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRXhw
ZWN0OiBbImFbIl08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBBY3R1
YWw6IG51bGw8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+Ci0t
LT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9uIDMzIG9mIHRlc3QgLTxi
cj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIHJlZ2V4cCA9IC9hW15dLzxi
cj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIHN0cmluZyA9ICdhWyBdJzxi
cj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEVSUk9SICEhISByZWdleHAg
RkFJTEVEIHRvIG1hdGNoIGFueXRoaW5nICEhITxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQg
ZnJvbSB0ZXN0KCldIEV4cGVjdDogWyJhWyJdPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gQWN0dWFsOiBudWxsPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9t
IHRlc3QoKV0gPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gU2VjdGlv
biAzNCBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBy
ZWdleHAgPSAvYVteXS88YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBz
dHJpbmcgPSAnYV1bJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEVS
Uk9SICEhISByZWdleHAgRkFJTEVEIHRvIG1hdGNoIGFueXRoaW5nICEhITxicj4KLS0tPiBGQUlM
RUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEV4cGVjdDogWyJhXSJdPGJyPgotLS0+IEZBSUxF
RCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gQWN0dWFsOiBudWxsPGJyPgotLS0+IEZBSUxFRCE6
IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgorPGEgbmFtZT0nZmFpbHVyZTE0Jz48L2E+PGRk
PjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2VjbWFfMy9SZWdF
eHAvcmVncmVzcy0xMDAxOTkuanMnPmVjbWFfMy9SZWdFeHAvcmVncmVzcy0xMDAxOTkuanM8L2E+
IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUxMyc+UHJldmlvdXMgRmFpbHVy
ZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTE1Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0n
I3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8dHQ+RXhwZWN0ZWQgZXhpdCBjb2Rl
IDAsIGdvdCAzPGJyPgorVGVzdGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgorQ29t
cGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+CitbNDc2Nl0gLi9lY21hXzMvUmVnRXhwL3Jl
Z3Jlc3MtMTAwMTk5LmpzIGxpbmUgNDg6IFN5bnRheEVycm9yOiBJbnZhbGlkIHJlZ3VsYXIgZXhw
cmVzc2lvbjogbWlzc2luZyB0ZXJtaW5hdGluZyBdIGZvciBjaGFyYWN0ZXIgY2xhc3M8YnI+CiA8
L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUxNyc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJn
ZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9lY21hXzMvUmVnRXhwL3JlZ3Jlc3MtMTg4MjA2Lmpz
Jz5lY21hXzMvUmVnRXhwL3JlZ3Jlc3MtMTg4MjA2LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9
J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg4MjA2JyB0YXJn
ZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciAxODgyMDY8L2E+PGJyPgotIFsgPGEgaHJlZj0n
I2ZhaWx1cmUxNic+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTE4Jz5O
ZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08
YnI+Cis8YSBuYW1lPSdmYWlsdXJlMTUnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdv
dGhlcl93aW5kb3cnIGhyZWY9Jy4vZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTE4ODIwNi5qcyc+ZWNt
YV8zL1JlZ0V4cC9yZWdyZXNzLTE4ODIwNi5qczwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRw
Oi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE4ODIwNicgdGFyZ2V0PSdv
dGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIgMTg4MjA2PC9hPjxicj4KKyBbIDxhIGhyZWY9JyNmYWls
dXJlMTQnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUxNic+TmV4dCBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgog
PHR0Pi0tPiBTVEFUVVM6IEludmFsaWQgdXNlIG9mIHJlZ2V4cCBxdWFudGlmaWVycyBzaG91bGQg
Z2VuZXJhdGUgU3ludGF4RXJyb3JzPGJyPgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KLS0t
PiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMSBvZiB0ZXN0IC08YnI+
Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnU3lu
dGF4RXJyb3InLCBBY3R1YWwgdmFsdWUgJ0RpZCBub3QgZ2VuZXJhdGUgQU5ZIGVycm9yISEhJzxi
cj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQh
OiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMiBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJ
TEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnU3ludGF4RXJyb3In
LCBBY3R1YWwgdmFsdWUgJ0RpZCBub3QgZ2VuZXJhdGUgQU5ZIGVycm9yISEhJzxicj4KLS0tPiBG
QUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KIC0tPiBGQUlMRUQhOiBbcmVwb3J0
ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMyBvZiB0ZXN0IC08YnI+CiAtLT4gRkFJTEVEITogW3Jl
cG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnU3ludGF4RXJyb3InLCBBY3R1YWwg
dmFsdWUgJ0RpZCBub3QgZ2VuZXJhdGUgQU5ZIGVycm9yISEhJzxicj4KIC0tPiBGQUlMRUQhOiBb
cmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0
ZXN0KCldIFNlY3Rpb24gNCBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZy
b20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnU3ludGF4RXJyb3InLCBBY3R1YWwgdmFsdWUgJ0Rp
ZCBub3QgZ2VuZXJhdGUgQU5ZIGVycm9yISEhJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQg
ZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNl
Y3Rpb24gNSBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgp
XSBFeHBlY3RlZCB2YWx1ZSAnU3ludGF4RXJyb3InLCBBY3R1YWwgdmFsdWUgJ0RpZCBub3QgZ2Vu
ZXJhdGUgQU5ZIGVycm9yISEhJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0
KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gNiBv
ZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3Rl
ZCB2YWx1ZSAnU3ludGF4RXJyb3InLCBBY3R1YWwgdmFsdWUgJ0RpZCBub3QgZ2VuZXJhdGUgQU5Z
IGVycm9yISEhJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4K
LS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gOSBvZiB0ZXN0IC08
YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAn
U3ludGF4RXJyb3InLCBBY3R1YWwgdmFsdWUgJ0RpZCBub3QgZ2VuZXJhdGUgQU5ZIGVycm9yISEh
Jzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlM
RUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMTAgb2YgdGVzdCAtPGJyPgotLS0+
IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0ZWQgdmFsdWUgJ1N5bnRheEVy
cm9yJywgQWN0dWFsIHZhbHVlICdEaWQgbm90IGdlbmVyYXRlIEFOWSBlcnJvciEhISc8YnI+Ci0t
LT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+Ci0tLT4gRkFJTEVEITogW3Jl
cG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9uIDExIG9mIHRlc3QgLTxicj4KLS0tPiBGQUlMRUQh
OiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEV4cGVjdGVkIHZhbHVlICdTeW50YXhFcnJvcicsIEFj
dHVhbCB2YWx1ZSAnRGlkIG5vdCBnZW5lcmF0ZSBBTlkgZXJyb3IhISEnPGJyPgotLS0+IEZBSUxF
RCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gU2VjdGlvbiAxMiBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9y
dGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnU3ludGF4RXJyb3InLCBBY3R1YWwgdmFs
dWUgJ0RpZCBub3QgZ2VuZXJhdGUgQU5ZIGVycm9yISEhJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVw
b3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0
KCldIFNlY3Rpb24gMjggb2YgdGVzdCAtPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9t
IHRlc3QoKV0gRXhwZWN0ZWQgdmFsdWUgJ1N5bnRheEVycm9yJywgQWN0dWFsIHZhbHVlICdEaWQg
bm90IGdlbmVyYXRlIEFOWSBlcnJvciEhISc8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZy
b20gdGVzdCgpXSA8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0
aW9uIDI5IG9mIHRlc3QgLTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCld
IEV4cGVjdGVkIHZhbHVlICdTeW50YXhFcnJvcicsIEFjdHVhbCB2YWx1ZSAnRGlkIG5vdCBnZW5l
cmF0ZSBBTlkgZXJyb3IhISEnPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3Qo
KV0gPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gU2VjdGlvbiAzMCBv
ZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3Rl
ZCB2YWx1ZSAnU3ludGF4RXJyb3InLCBBY3R1YWwgdmFsdWUgJ0RpZCBub3QgZ2VuZXJhdGUgQU5Z
IGVycm9yISEhJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4K
LS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMzEgb2YgdGVzdCAt
PGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0ZWQgdmFsdWUg
J1N5bnRheEVycm9yJywgQWN0dWFsIHZhbHVlICdEaWQgbm90IGdlbmVyYXRlIEFOWSBlcnJvciEh
ISc8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+Ci0tLT4gRkFJ
TEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9uIDMyIG9mIHRlc3QgLTxicj4KLS0t
PiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEV4cGVjdGVkIHZhbHVlICdTeW50YXhF
cnJvcicsIEFjdHVhbCB2YWx1ZSAnRGlkIG5vdCBnZW5lcmF0ZSBBTlkgZXJyb3IhISEnPGJyPgot
LS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgotLS0+IEZBSUxFRCE6IFty
ZXBvcnRlZCBmcm9tIHRlc3QoKV0gU2VjdGlvbiAzMyBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVE
ITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnU3ludGF4RXJyb3InLCBB
Y3R1YWwgdmFsdWUgJ0RpZCBub3QgZ2VuZXJhdGUgQU5ZIGVycm9yISEhJzxicj4KLS0tPiBGQUlM
RUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQg
ZnJvbSB0ZXN0KCldIFNlY3Rpb24gMzQgb2YgdGVzdCAtPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBv
cnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0ZWQgdmFsdWUgJ1N5bnRheEVycm9yJywgQWN0dWFsIHZh
bHVlICdEaWQgbm90IGdlbmVyYXRlIEFOWSBlcnJvciEhISc8YnI+Ci0tLT4gRkFJTEVEITogW3Jl
cG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVz
dCgpXSBTZWN0aW9uIDM1IG9mIHRlc3QgLTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJv
bSB0ZXN0KCldIEV4cGVjdGVkIHZhbHVlICdTeW50YXhFcnJvcicsIEFjdHVhbCB2YWx1ZSAnRGlk
IG5vdCBnZW5lcmF0ZSBBTlkgZXJyb3IhISEnPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gU2Vj
dGlvbiAzNiBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgp
XSBFeHBlY3RlZCB2YWx1ZSAnU3ludGF4RXJyb3InLCBBY3R1YWwgdmFsdWUgJ0RpZCBub3QgZ2Vu
ZXJhdGUgQU5ZIGVycm9yISEhJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0
KCldIDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTE4Jz48L2E+PGRkPjxiPlRlc3Rj
YXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2VjbWFfMy9SZWdFeHAvcmVncmVz
cy0yMDk5MTkuanMnPmVjbWFfMy9SZWdFeHAvcmVncmVzcy0yMDk5MTkuanM8L2E+IGZhaWxlZDwv
Yj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDk5MTknIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDIwOTkxOTwvYT48YnI+Ci0g
WyA8YSBocmVmPScjZmFpbHVyZTE3Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNm
YWlsdXJlMTknPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2Yg
UGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUxNic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8
YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9lY21hXzMvUmVnRXhwL3JlZ3Jlc3MtMjA5
OTE5LmpzJz5lY21hXzMvUmVnRXhwL3JlZ3Jlc3MtMjA5OTE5LmpzPC9hPiBmYWlsZWQ8L2I+IDxh
IGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5OTE5
JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciAyMDk5MTk8L2E+PGJyPgorIFsgPGEg
aHJlZj0nI2ZhaWx1cmUxNSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVy
ZTE3Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8
L2E+IF08YnI+CiA8dHQ+LS0+IFNUQVRVUzogVGVzdGluZyByZWdleHAgc3VibWF0Y2hlcyB3aXRo
IHF1YW50aWZpZXJzPGJyPgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiBGQUlMRUQh
OiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMSBvZiB0ZXN0IC08YnI+CkBAIC01NjUs
MzkgKzI4MSwzOSBAQCBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogLS0+IEZBSUxFRCE6IFty
ZXBvcnRlZCBmcm9tIHRlc3QoKV0gQWN0dWFsOiBbIjEuMDAwLDAwIiwgIiIsICIsMDAiXTxicj4K
IC0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KIDwvdHQ+PGJyPgotPGEg
bmFtZT0nZmFpbHVyZTE5Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2lu
ZG93JyBocmVmPScuL2VjbWFfMy9TdGF0ZW1lbnRzL3JlZ3Jlc3MtMTk0MzY0LmpzJz5lY21hXzMv
U3RhdGVtZW50cy9yZWdyZXNzLTE5NDM2NC5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBo
cmVmPScjZmFpbHVyZTE4Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJl
MjAnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwv
YT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUxNyc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJn
ZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9lY21hXzMvU3RhdGVtZW50cy9yZWdyZXNzLTE5NDM2
NC5qcyc+ZWNtYV8zL1N0YXRlbWVudHMvcmVncmVzcy0xOTQzNjQuanM8L2E+IGZhaWxlZDwvYj4g
PGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUxNic+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBo
cmVmPScjZmFpbHVyZTE4Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+
VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJy
PgogVGVzdGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNh
c2Ugb3V0cHV0IHdhczo8YnI+Ci1bMjA5M10gLi9lY21hXzMvU3RhdGVtZW50cy9yZWdyZXNzLTE5
NDM2NC5qcyBsaW5lIDE6IFN5bnRheEVycm9yOiBQYXJzZSBlcnJvcjxicj4KK1s0NzkyXSAuL2Vj
bWFfMy9TdGF0ZW1lbnRzL3JlZ3Jlc3MtMTk0MzY0LmpzIGxpbmUgMTogU3ludGF4RXJyb3I6IFBh
cnNlIGVycm9yPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlMjAnPjwvYT48ZGQ+PGI+
VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vZWNtYV8zL1VuaWNvZGUv
dWMtMDAxLmpzJz5lY21hXzMvVW5pY29kZS91Yy0wMDEuanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJl
Zj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMCcgdGFy
Z2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIgMjM2MTA8L2E+PGJyPgotIFsgPGEgaHJlZj0n
I2ZhaWx1cmUxOSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTIxJz5O
ZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08
YnI+Cis8YSBuYW1lPSdmYWlsdXJlMTgnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdv
dGhlcl93aW5kb3cnIGhyZWY9Jy4vZWNtYV8zL1VuaWNvZGUvdWMtMDAxLmpzJz5lY21hXzMvVW5p
Y29kZS91Yy0wMDEuanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1v
emlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMCcgdGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1
ZyBOdW1iZXIgMjM2MTA8L2E+PGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUxNyc+UHJldmlvdXMg
RmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTE5Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+LS0+IFNUQVRVUzog
VW5pY29kZSBmb3JtYXQtY29udHJvbCBjaGFyYWN0ZXIgKENhdGVnb3J5IENmKSB0ZXN0Ljxicj4K
IEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20g
dGVzdCgpXSBVbmljb2RlIGZvcm1hdC1jb250cm9sIGNoYXJhY3RlciB0ZXN0IChDYXRlZ29yeSBD
Zi4pPGJyPgogLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0ZWQgdmFs
dWUgJ25vIGVycm9yJywgQWN0dWFsIHZhbHVlICdub+KAjiBlcnJvcic8YnI+CiAtLT4gRkFJTEVE
ITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1
cmUyMSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0n
Li9lY21hXzMvVW5pY29kZS91Yy0wMDIuanMnPmVjbWFfMy9Vbmljb2RlL3VjLTAwMi5qczwvYT4g
ZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzNjEzJyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciAyMzYxMzwvYT48
YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTIwJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhy
ZWY9JyNmYWlsdXJlMjInPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5U
b3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUxOSc+PC9hPjxkZD48Yj5UZXN0
Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9lY21hXzMvVW5pY29kZS91Yy0w
MDIuanMnPmVjbWFfMy9Vbmljb2RlL3VjLTAwMi5qczwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdo
dHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTIzNjEzJyB0YXJnZXQ9
J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciAyMzYxMzwvYT48YnI+CisgWyA8YSBocmVmPScjZmFp
bHVyZTE4Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMjAnPk5leHQg
RmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4K
IDx0dD4tLT4gU1RBVFVTOiBVbmljb2RlIG5vbi1icmVha2luZyBzcGFjZSBjaGFyYWN0ZXIgdGVz
dC48YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogLS0+IEZBSUxFRCE6IFtyZXBvcnRl
ZCBmcm9tIHRlc3QoKV0gVW5pY29kZSBub24tYnJlYWtpbmcgc3BhY2UgY2hhcmFjdGVyIHJlZ2V4
cCB0ZXN0Ljxicj4KIC0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEV4cGVjdGVk
IHZhbHVlICcwJywgQWN0dWFsIHZhbHVlICctMSc8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVk
IGZyb20gdGVzdCgpXSA8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUyMic+PC9hPjxk
ZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9PYmpl
Y3RzL3RvU3RyaW5nLTAwMS5qcyc+anMxXzIvT2JqZWN0cy90b1N0cmluZy0wMDEuanM8L2E+IGZh
aWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUyMSc+UHJldmlvdXMgRmFpbHVyZTwv
YT4gfCA8YSBocmVmPScjZmFpbHVyZTIzJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3Rp
cHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlMjAnPjwvYT48
ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvT2Jq
ZWN0cy90b1N0cmluZy0wMDEuanMnPmpzMV8yL09iamVjdHMvdG9TdHJpbmctMDAxLmpzPC9hPiBm
YWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlMTknPlByZXZpb3VzIEZhaWx1cmU8
L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUyMSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0
aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29kZSAw
LCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENvbXBs
ZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgogLS0+IEpTMV8yIE9iamVjdC50b1N0cmluZygp
PGJyPgotWzIxMTRdIC4vanMxXzIvT2JqZWN0cy90b1N0cmluZy0wMDEuanMgbGluZSAxMDM6IFR5
cGVFcnJvcjogT2JqZWN0IC9eXHsoLiopXH0kLyAocmVzdWx0IG9mIGV4cHJlc3Npb24gL15ceygu
KilcfSQvKSBkb2VzIG5vdCBhbGxvdyBjYWxscy48YnI+CitbNDgxM10gLi9qczFfMi9PYmplY3Rz
L3RvU3RyaW5nLTAwMS5qcyBsaW5lIDEwMzogVHlwZUVycm9yOiBPYmplY3QgL15ceyguKilcfSQv
IChyZXN1bHQgb2YgZXhwcmVzc2lvbiAvXlx7KC4qKVx9JC8pIGRvZXMgbm90IGFsbG93IGNhbGxz
Ljxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTIzJz48L2E+PGRkPjxiPlRlc3RjYXNl
IDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL2Z1bmN0aW9uL0Z1bmN0aW9u
X29iamVjdC5qcyc+anMxXzIvZnVuY3Rpb24vRnVuY3Rpb25fb2JqZWN0LmpzPC9hPiBmYWlsZWQ8
L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMjInPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwg
PGEgaHJlZj0nI2ZhaWx1cmUyNCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90
b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTIxJz48L2E+PGRkPjxi
PlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL2Z1bmN0aW9u
L0Z1bmN0aW9uX29iamVjdC5qcyc+anMxXzIvZnVuY3Rpb24vRnVuY3Rpb25fb2JqZWN0LmpzPC9h
PiBmYWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlMjAnPlByZXZpb3VzIEZhaWx1
cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUyMic+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9
JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0Pjxicj4KIEZhaWx1cmUgbWVz
c2FnZXMgd2VyZTo8YnI+CiAtLT4gZi5uYW1lID0gdW5kZWZpbmVkIEZBSUxFRCEgZXhwZWN0ZWQ6
IGFfdGVzdF9mdW5jdGlvbjxicj4KQEAgLTYwNSw4ICszMjEsOCBAQCBGYWlsdXJlIG1lc3NhZ2Vz
IHdlcmU6PGJyPgogLS0+IChuZXcgRnVuY3Rpb24oKSkubmFtZSA9IHVuZGVmaW5lZCBGQUlMRUQh
IGV4cGVjdGVkOiBhbm9ueW1vdXM8YnI+CiB9IEZBSUxFRCEgZXhwZWN0ZWQ6IDxicj4KIDwvdHQ+
PGJyPgotPGEgbmFtZT0nZmFpbHVyZTI0Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0n
b3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL2Z1bmN0aW9uL2Z1bmN0aW9uLTAwMS1uLmpzJz5q
czFfMi9mdW5jdGlvbi9mdW5jdGlvbi0wMDEtbi5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8
YSBocmVmPScjZmFpbHVyZTIzJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWls
dXJlMjUnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFn
ZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUyMic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0
YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9mdW5jdGlvbi9mdW5jdGlvbi0wMDEt
bi5qcyc+anMxXzIvZnVuY3Rpb24vZnVuY3Rpb24tMDAxLW4uanM8L2E+IGZhaWxlZDwvYj4gPGJy
PgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUyMSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVm
PScjZmFpbHVyZTIzJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9w
IG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDMsIGdvdCAwPGJyPgog
VGVzdGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ug
b3V0cHV0IHdhczo8YnI+CkBAIC02MTQsMTYgKzMzMCwxNiBAQCBPSy48YnI+CiAtLT4gZnVuY3Rp
b24tMDAxLmpzIGZ1bmN0aW9ucyBub3Qgc2VwYXJhdGVkIGJ5IHNlbWljb2xvbnMgYXJlIGVycm9y
cyBpbiB2ZXJzaW9uIDEyMCBhbmQgaGlnaGVyPGJyPgogLS0+IGV2YWwoImZ1bmN0aW9uIGYoKXt9
ZnVuY3Rpb24gZygpe30iKSA9IHVuZGVmaW5lZCBGQUlMRUQhIGV4cGVjdGVkOiBlcnJvcjxicj4K
IDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTI1Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRh
cmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL2Z1bmN0aW9uL3JlZ2V4cGFyZy0xLmpz
Jz5qczFfMi9mdW5jdGlvbi9yZWdleHBhcmctMS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8
YSBocmVmPScjZmFpbHVyZTI0Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWls
dXJlMjYnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFn
ZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUyMyc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0
YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9mdW5jdGlvbi9yZWdleHBhcmctMS5q
cyc+anMxXzIvZnVuY3Rpb24vcmVnZXhwYXJnLTEuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsg
PGEgaHJlZj0nI2ZhaWx1cmUyMic+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFp
bHVyZTI0Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBh
Z2U8L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNh
c2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0
IHdhczo8YnI+CiAtLT4gSlNfMS4yIFRoZSB2YXJpYWJsZSBzdGF0bWVudDxicj4KLVsyMTI3XSAu
L2pzMV8yL2Z1bmN0aW9uL3JlZ2V4cGFyZy0xLmpzIGxpbmUgODA6IFR5cGVFcnJvcjogT2JqZWN0
IC9hYmMvIChyZXN1bHQgb2YgZXhwcmVzc2lvbiB4KSBkb2VzIG5vdCBhbGxvdyBjYWxscy48YnI+
CitbNDgyNl0gLi9qczFfMi9mdW5jdGlvbi9yZWdleHBhcmctMS5qcyBsaW5lIDgwOiBUeXBlRXJy
b3I6IE9iamVjdCAvYWJjLyAocmVzdWx0IG9mIGV4cHJlc3Npb24geCkgZG9lcyBub3QgYWxsb3cg
Y2FsbHMuPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlMjYnPjwvYT48ZGQ+PGI+VGVz
dGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvZnVuY3Rpb24vdG9z
dHJpbmctMS5qcyc+anMxXzIvZnVuY3Rpb24vdG9zdHJpbmctMS5qczwvYT4gZmFpbGVkPC9iPiA8
YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTI1Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhy
ZWY9JyNmYWlsdXJlMjcnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5U
b3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUyNCc+PC9hPjxkZD48Yj5UZXN0
Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9mdW5jdGlvbi90b3N0
cmluZy0xLmpzJz5qczFfMi9mdW5jdGlvbi90b3N0cmluZy0xLmpzPC9hPiBmYWlsZWQ8L2I+IDxi
cj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlMjMnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJl
Zj0nI2ZhaWx1cmUyNSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRv
cCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0Pjxicj4KIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+
CiB9IEZBSUxFRCEgZXhwZWN0ZWQ6IDxicj4KQEAgLTYzMiw4ICszNDgsOCBAQCBGYWlsdXJlIG1l
c3NhZ2VzIHdlcmU6PGJyPgogfSBGQUlMRUQhIGV4cGVjdGVkOiA8YnI+CiB9IEZBSUxFRCEgZXhw
ZWN0ZWQ6IDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTI3Jz48L2E+PGRkPjxiPlRl
c3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL2Z1bmN0aW9uL3Rv
c3RyaW5nLTIuanMnPmpzMV8yL2Z1bmN0aW9uL3Rvc3RyaW5nLTIuanM8L2E+IGZhaWxlZDwvYj4g
PGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUyNic+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBo
cmVmPScjZmFpbHVyZTI4Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+
VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlMjUnPjwvYT48ZGQ+PGI+VGVz
dGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvZnVuY3Rpb24vdG9z
dHJpbmctMi5qcyc+anMxXzIvZnVuY3Rpb24vdG9zdHJpbmctMi5qczwvYT4gZmFpbGVkPC9iPiA8
YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTI0Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhy
ZWY9JyNmYWlsdXJlMjYnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5U
b3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD48YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJy
PgogfSBGQUlMRUQhIGV4cGVjdGVkOiA8YnI+CkBAIC02NDYsMjIgKzM2MiwyMiBAQCBGYWlsdXJl
IG1lc3NhZ2VzIHdlcmU6PGJyPgogfSBGQUlMRUQhIGV4cGVjdGVkOiA8YnI+CiB9IEZBSUxFRCEg
ZXhwZWN0ZWQ6IDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTI4Jz48L2E+PGRkPjxi
PlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL29wZXJhdG9y
L2VxdWFsaXR5LmpzJz5qczFfMi9vcGVyYXRvci9lcXVhbGl0eS5qczwvYT4gZmFpbGVkPC9iPiA8
YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTI3Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhy
ZWY9JyNmYWlsdXJlMjknPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5U
b3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUyNic+PC9hPjxkZD48Yj5UZXN0
Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9vcGVyYXRvci9lcXVh
bGl0eS5qcyc+anMxXzIvb3BlcmF0b3IvZXF1YWxpdHkuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgor
IFsgPGEgaHJlZj0nI2ZhaWx1cmUyNSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScj
ZmFpbHVyZTI3Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9m
IFBhZ2U8L2E+IF08YnI+CiA8dHQ+PGJyPgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0t
PiAobmV3IFN0cmluZygneCcpID09ICd4JykgICAgICAgICAgICAgICAgICA9IHRydWUgRkFJTEVE
ISBleHBlY3RlZDogZmFsc2U8YnI+CiAtLT4gKCd4JyA9PSBuZXcgU3RyaW5nKCd4JykpICAgICAg
ICAgICAgICAgICAgPSB0cnVlIEZBSUxFRCEgZXhwZWN0ZWQ6IGZhbHNlPGJyPgogPC90dD48YnI+
Ci08YSBuYW1lPSdmYWlsdXJlMjknPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhl
cl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvcmVnZXhwL1JlZ0V4cF9sYXN0SW5kZXguanMnPmpzMV8y
L3JlZ2V4cC9SZWdFeHBfbGFzdEluZGV4LmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhy
ZWY9JyNmYWlsdXJlMjgnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUz
MCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9h
PiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTI3Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdl
dD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL3JlZ2V4cC9SZWdFeHBfbGFzdEluZGV4Lmpz
Jz5qczFfMi9yZWdleHAvUmVnRXhwX2xhc3RJbmRleC5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Cisg
WyA8YSBocmVmPScjZmFpbHVyZTI2Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNm
YWlsdXJlMjgnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2Yg
UGFnZTwvYT4gXTxicj4KIDx0dD48YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogLS0+
IHJlPS94Li9nOyByZS5sYXN0SW5kZXg9NDsgcmUuZXhlYygneHlhYmNkeGEnKSA9IHhhIEZBSUxF
RCEgZXhwZWN0ZWQ6IFsieGEiXTxicj4KIC0tPiByZS5leGVjKCd4eWFiY2RlZicpID0geHkgRkFJ
TEVEISBleHBlY3RlZDogWyJ4eSJdPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlMzAn
PjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMx
XzIvcmVnZXhwL1JlZ0V4cF9tdWx0aWxpbmUuanMnPmpzMV8yL3JlZ2V4cC9SZWdFeHBfbXVsdGls
aW5lLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMjknPlByZXZp
b3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUzMSc+TmV4dCBGYWlsdXJlPC9hPiB8
IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFp
bHVyZTI4Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVm
PScuL2pzMV8yL3JlZ2V4cC9SZWdFeHBfbXVsdGlsaW5lLmpzJz5qczFfMi9yZWdleHAvUmVnRXhw
X211bHRpbGluZS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTI3
Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMjknPk5leHQgRmFpbHVy
ZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD48
YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogLS0+IChtdWx0aWxpbmUgPT0gdHJ1ZSkg
JzEyM1xuNDU2Jy5tYXRjaCgvXjQuLi8pID0gbnVsbCBGQUlMRUQhIGV4cGVjdGVkOiA0NTY8YnI+
CkBAIC02NzAsOCArMzg2LDggQEAgRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiAobXVs
dGlsaW5lID09IHRydWUpICdhMTFcbmEyMlxuYTIzXG5hMjQnLm1hdGNoKC9hLi4kL2cpID0gYTI0
IEZBSUxFRCEgZXhwZWN0ZWQ6IGExMSxhMjIsYTIzLGEyNDxicj4KIC0tPiAobXVsdGlsaW5lID09
IHRydWUpICdhMTFcbmEyMlxuYTIzXG5hMjQnLm1hdGNoKG5ldyBSZWdFeHAoJ2EuLiQnLCdnJykp
ID0gYTI0IEZBSUxFRCEgZXhwZWN0ZWQ6IGExMSxhMjIsYTIzLGEyNDxicj4KIDwvdHQ+PGJyPgot
PGEgbmFtZT0nZmFpbHVyZTMxJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJf
d2luZG93JyBocmVmPScuL2pzMV8yL3JlZ2V4cC9SZWdFeHBfbXVsdGlsaW5lX2FzX2FycmF5Lmpz
Jz5qczFfMi9yZWdleHAvUmVnRXhwX211bHRpbGluZV9hc19hcnJheS5qczwvYT4gZmFpbGVkPC9i
PiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTMwJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxh
IGhyZWY9JyNmYWlsdXJlMzInPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9w
Jz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUyOSc+PC9hPjxkZD48Yj5U
ZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9yZWdleHAvUmVn
RXhwX211bHRpbGluZV9hc19hcnJheS5qcyc+anMxXzIvcmVnZXhwL1JlZ0V4cF9tdWx0aWxpbmVf
YXNfYXJyYXkuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUyOCc+
UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTMwJz5OZXh0IEZhaWx1cmU8
L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+PGJy
PgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiAoWyckKiddID09IHRydWUpICcxMjNc
bjQ1NicubWF0Y2goL140Li4vKSA9IG51bGwgRkFJTEVEISBleHBlY3RlZDogNDU2PGJyPgpAQCAt
NjgwLDYwICszOTYsNjAgQEAgRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiAoWyckKidd
ID09IHRydWUpICdhMTFcbmEyMlxuYTIzXG5hMjQnLm1hdGNoKC9hLi4kL2cpID0gYTI0IEZBSUxF
RCEgZXhwZWN0ZWQ6IGExMSxhMjIsYTIzLGEyNDxicj4KIC0tPiAoWyckKiddID09IHRydWUpICdh
MTFcbmEyMlxuYTIzXG5hMjQnLm1hdGNoKG5ldyBSZWdFeHAoJ2EuLiQnLCdnJykpID0gYTI0IEZB
SUxFRCEgZXhwZWN0ZWQ6IGExMSxhMjIsYTIzLGEyNDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0n
ZmFpbHVyZTMyJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBo
cmVmPScuL2pzMV8yL3JlZ2V4cC9iZWdpbkxpbmUuanMnPmpzMV8yL3JlZ2V4cC9iZWdpbkxpbmUu
anM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUzMSc+UHJldmlvdXMg
RmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTMzJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJl
MzAnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4v
anMxXzIvcmVnZXhwL2JlZ2luTGluZS5qcyc+anMxXzIvcmVnZXhwL2JlZ2luTGluZS5qczwvYT4g
ZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTI5Jz5QcmV2aW91cyBGYWlsdXJl
PC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMzEnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScj
dGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD48YnI+CiBGYWlsdXJlIG1lc3Nh
Z2VzIHdlcmU6PGJyPgogMTIzeHl6Jy5tYXRjaChuZXcgUmVnRXhwKCdeXGQrJykpID0gbnVsbCBG
QUlMRUQhIGV4cGVjdGVkOiAxMjM8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUzMyc+
PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFf
Mi9yZWdleHAvY29tcGlsZS5qcyc+anMxXzIvcmVnZXhwL2NvbXBpbGUuanM8L2E+IGZhaWxlZDwv
Yj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUzMic+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8
YSBocmVmPScjZmFpbHVyZTM0Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3Rv
cCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlMzEnPjwvYT48ZGQ+PGI+
VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvcmVnZXhwL2Nv
bXBpbGUuanMnPmpzMV8yL3JlZ2V4cC9jb21waWxlLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBb
IDxhIGhyZWY9JyNmYWlsdXJlMzAnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2Zh
aWx1cmUzMic+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQ
YWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29kZSAwLCBnb3QgMzxicj4KIFRlc3Rj
YXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1
dCB3YXM6PGJyPgogLS0+IEV4ZWN1dGluZyBzY3JpcHQ6IGNvbXBpbGUuanM8YnI+CiAtLT4gQXMg
ZGVzY3JpYmVkIGluIE5ldHNjYXBlIGRvYyAiV2hhdHMgbmV3IGluIEphdmFTY3JpcHQgMS4yIiBS
ZWdFeHA6IGNvbXBpbGU8YnI+Ci1bMjE1NF0gLi9qczFfMi9yZWdleHAvY29tcGlsZS5qcyBsaW5l
IDQzOiBUeXBlRXJyb3I6IFZhbHVlIHVuZGVmaW5lZCAocmVzdWx0IG9mIGV4cHJlc3Npb24gcmVn
dWxhckV4cHJlc3Npb24uY29tcGlsZSkgaXMgbm90IG9iamVjdC48YnI+CitbNDg1M10gLi9qczFf
Mi9yZWdleHAvY29tcGlsZS5qcyBsaW5lIDQzOiBUeXBlRXJyb3I6IFZhbHVlIHVuZGVmaW5lZCAo
cmVzdWx0IG9mIGV4cHJlc3Npb24gcmVndWxhckV4cHJlc3Npb24uY29tcGlsZSkgaXMgbm90IG9i
amVjdC48YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUzNCc+PC9hPjxkZD48Yj5UZXN0
Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9yZWdleHAvZW5kTGlu
ZS5qcyc+anMxXzIvcmVnZXhwL2VuZExpbmUuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEg
aHJlZj0nI2ZhaWx1cmUzMyc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVy
ZTM1Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8
L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlMzInPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFy
Z2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvcmVnZXhwL2VuZExpbmUuanMnPmpzMV8y
L3JlZ2V4cC9lbmRMaW5lLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWls
dXJlMzEnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUzMyc+TmV4dCBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgog
PHR0Pjxicj4KIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiB4eXonLm1hdGNoKG5ldyBSZWdF
eHAoJ1xkKyQnKSkgPSBudWxsIEZBSUxFRCEgZXhwZWN0ZWQ6IDg5MDxicj4KIDwvdHQ+PGJyPgot
PGEgbmFtZT0nZmFpbHVyZTM1Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJf
d2luZG93JyBocmVmPScuL2pzMV8yL3JlZ2V4cC9yZWdyZXNzLTYzNTkuanMnPmpzMV8yL3JlZ2V4
cC9yZWdyZXNzLTYzNTkuanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxh
Lm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD1odHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcv
c2hvd19idWcuY2dpP2lkPTYzNTknIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIGh0
dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1OTwvYT48YnI+Ci0g
WyA8YSBocmVmPScjZmFpbHVyZTM0Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNm
YWlsdXJlMzYnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2Yg
UGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUzMyc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8
YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9yZWdleHAvcmVncmVzcy02MzU5
LmpzJz5qczFfMi9yZWdleHAvcmVncmVzcy02MzU5LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9
J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9aHR0cDovL2J1Z3pp
bGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU5JyB0YXJnZXQ9J290aGVyX3dpbmRv
dyc+QnVnIE51bWJlciBodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lk
PTYzNTk8L2E+PGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUzMic+UHJldmlvdXMgRmFpbHVyZTwv
YT4gfCA8YSBocmVmPScjZmFpbHVyZTM0Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3Rp
cHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAs
IGdvdCAzPGJyPgogVGVzdGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxl
dGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+CiAtLT4gQlVHTlVNQkVSOiBodHRwOi8vYnVnemls
bGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTk8YnI+Ci1bMjE3MF0gLi9qczFfMi9y
ZWdleHAvcmVncmVzcy02MzU5LmpzIGxpbmUgNTY6IFR5cGVFcnJvcjogT2JqZWN0IC8oYSopYlwx
Ky8gKHJlc3VsdCBvZiBleHByZXNzaW9uIC8oYSopYlwxKy8pIGRvZXMgbm90IGFsbG93IGNhbGxz
Ljxicj4KK1s0ODY5XSAuL2pzMV8yL3JlZ2V4cC9yZWdyZXNzLTYzNTkuanMgbGluZSA1NjogVHlw
ZUVycm9yOiBPYmplY3QgLyhhKiliXDErLyAocmVzdWx0IG9mIGV4cHJlc3Npb24gLyhhKiliXDEr
LykgZG9lcyBub3QgYWxsb3cgY2FsbHMuPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJl
MzYnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4v
anMxXzIvcmVnZXhwL3JlZ3Jlc3MtOTE0MS5qcyc+anMxXzIvcmVnZXhwL3JlZ3Jlc3MtOTE0MS5q
czwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hv
d19idWcuY2dpP2lkPWh0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTE0MScgdGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIgaHR0cDovL2J1Z3ppbGxhLm1v
emlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQxPC9hPjxicj4KLSBbIDxhIGhyZWY9JyNmYWls
dXJlMzUnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUzNyc+TmV4dCBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgor
PGEgbmFtZT0nZmFpbHVyZTM0Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJf
d2luZG93JyBocmVmPScuL2pzMV8yL3JlZ2V4cC9yZWdyZXNzLTkxNDEuanMnPmpzMV8yL3JlZ2V4
cC9yZWdyZXNzLTkxNDEuanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxh
Lm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD1odHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcv
c2hvd19idWcuY2dpP2lkPTkxNDEnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIGh0
dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE0MTwvYT48YnI+Cisg
WyA8YSBocmVmPScjZmFpbHVyZTMzJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNm
YWlsdXJlMzUnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2Yg
UGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CiBUZXN0
Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRw
dXQgd2FzOjxicj4KIC0tPiBCVUdOVU1CRVI6IGh0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9OTE0MTxicj4KLVsyMTcxXSAuL2pzMV8yL3JlZ2V4cC9yZWdyZXNzLTkx
NDEuanMgbGluZSA3MzogVHlwZUVycm9yOiBPYmplY3QgLyg/Onh4fHgpKi8gKHJlc3VsdCBvZiBl
eHByZXNzaW9uIC8oPzp4eHx4KSovKSBkb2VzIG5vdCBhbGxvdyBjYWxscy48YnI+CitbNDg3MF0g
Li9qczFfMi9yZWdleHAvcmVncmVzcy05MTQxLmpzIGxpbmUgNzM6IFR5cGVFcnJvcjogT2JqZWN0
IC8oPzp4eHx4KSovIChyZXN1bHQgb2YgZXhwcmVzc2lvbiAvKD86eHh8eCkqLykgZG9lcyBub3Qg
YWxsb3cgY2FsbHMuPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlMzcnPjwvYT48ZGQ+
PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvcmVnZXhw
L3NpbXBsZV9mb3JtLmpzJz5qczFfMi9yZWdleHAvc2ltcGxlX2Zvcm0uanM8L2E+IGZhaWxlZDwv
Yj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUzNic+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8
YSBocmVmPScjZmFpbHVyZTM4Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3Rv
cCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlMzUnPjwvYT48ZGQ+PGI+
VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvcmVnZXhwL3Np
bXBsZV9mb3JtLmpzJz5qczFfMi9yZWdleHAvc2ltcGxlX2Zvcm0uanM8L2E+IGZhaWxlZDwvYj4g
PGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUzNCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBo
cmVmPScjZmFpbHVyZTM2Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+
VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJy
PgogVGVzdGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNh
c2Ugb3V0cHV0IHdhczo8YnI+CiAtLT4gRXhlY3V0aW5nIHNjcmlwdDogc2ltcGxlX2Zvcm0uanM8
YnI+CiAtLT4gQXMgZGVzY3JpYmVkIGluIE5ldHNjYXBlIGRvYyAiV2hhdHMgbmV3IGluIEphdmFT
Y3JpcHQgMS4yIiBSZWdFeHA6IHNpbXBsZSBmb3JtPGJyPgotWzIxNzJdIC4vanMxXzIvcmVnZXhw
L3NpbXBsZV9mb3JtLmpzIGxpbmUgNDM6IFR5cGVFcnJvcjogT2JqZWN0IC9bMC05XXszfS8gKHJl
c3VsdCBvZiBleHByZXNzaW9uIC9bMC05XXszfS8pIGRvZXMgbm90IGFsbG93IGNhbGxzLjxicj4K
K1s0ODcxXSAuL2pzMV8yL3JlZ2V4cC9zaW1wbGVfZm9ybS5qcyBsaW5lIDQzOiBUeXBlRXJyb3I6
IE9iamVjdCAvWzAtOV17M30vIChyZXN1bHQgb2YgZXhwcmVzc2lvbiAvWzAtOV17M30vKSBkb2Vz
IG5vdCBhbGxvdyBjYWxscy48YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUzOCc+PC9h
PjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9y
ZWdleHAvc3BlY2lhbF9jaGFyYWN0ZXJzLmpzJz5qczFfMi9yZWdleHAvc3BlY2lhbF9jaGFyYWN0
ZXJzLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMzcnPlByZXZp
b3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUzOSc+TmV4dCBGYWlsdXJlPC9hPiB8
IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFp
bHVyZTM2Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVm
PScuL2pzMV8yL3JlZ2V4cC9zcGVjaWFsX2NoYXJhY3RlcnMuanMnPmpzMV8yL3JlZ2V4cC9zcGVj
aWFsX2NoYXJhY3RlcnMuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1
cmUzNSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTM3Jz5OZXh0IEZh
aWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8
dHQ+PGJyPgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiAnYQsLYiBhICBiJy5tYXRj
aCgvYQt7Mn0vKSA9IG51bGwgRkFJTEVEISBleHBlY3RlZDogYQsLPGJyPgogPC90dD48YnI+Ci08
YSBuYW1lPSdmYWlsdXJlMzknPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93
aW5kb3cnIGhyZWY9Jy4vanMxXzIvcmVnZXhwL3N0cmluZ19zcGxpdC5qcyc+anMxXzIvcmVnZXhw
L3N0cmluZ19zcGxpdC5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVy
ZTM4Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNDAnPk5leHQgRmFp
bHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxh
IG5hbWU9J2ZhaWx1cmUzNyc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dp
bmRvdycgaHJlZj0nLi9qczFfMi9yZWdleHAvc3RyaW5nX3NwbGl0LmpzJz5qczFfMi9yZWdleHAv
c3RyaW5nX3NwbGl0LmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJl
MzYnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUzOCc+TmV4dCBGYWls
dXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0
Pjxicj4KIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAtLT4gJ2FiYycuc3BsaXQoL1thLXpd
LykgPSAsLCwgRkFJTEVEISBleHBlY3RlZDogLCw8YnI+CkBAIC03NDEsMjIgKzQ1NywyMiBAQCBG
YWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogLS0+ICdhYmMnLnNwbGl0KG5ldyBSZWdFeHAoJ1th
LXpdJykpID0gLCwsIEZBSUxFRCEgZXhwZWN0ZWQ6ICwsPGJyPgogLS0+ICdhYmMnLnNwbGl0KG5l
dyBSZWdFeHAoJ1thLXpdJykpID0gLCwsIEZBSUxFRCEgZXhwZWN0ZWQ6ICwsPGJyPgogPC90dD48
YnI+Ci08YSBuYW1lPSdmYWlsdXJlNDAnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdv
dGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvdmVyc2lvbjEyMC9ib29sZWFuLTAwMS5qcyc+anMx
XzIvdmVyc2lvbjEyMC9ib29sZWFuLTAwMS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBo
cmVmPScjZmFpbHVyZTM5Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJl
NDEnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwv
YT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUzOCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJn
ZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi92ZXJzaW9uMTIwL2Jvb2xlYW4tMDAxLmpz
Jz5qczFfMi92ZXJzaW9uMTIwL2Jvb2xlYW4tMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBb
IDxhIGhyZWY9JyNmYWlsdXJlMzcnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2Zh
aWx1cmUzOSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQ
YWdlPC9hPiBdPGJyPgogPHR0Pjxicj4KIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAtLT4g
bmV3IEJvb2xlYW4oZmFsc2UpID0gdHJ1ZSBGQUlMRUQhIGV4cGVjdGVkOiBmYWxzZTxicj4KIDwv
dHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTQxJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdl
dD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL3ZlcnNpb24xMjAvcmVncmVzcy05OTY2My5q
cyc+anMxXzIvdmVyc2lvbjEyMC9yZWdyZXNzLTk5NjYzLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4K
LSBbIDxhIGhyZWY9JyNmYWlsdXJlNDAnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0n
I2ZhaWx1cmU0Mic+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBv
ZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTM5Jz48L2E+PGRkPjxiPlRlc3RjYXNl
IDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL3ZlcnNpb24xMjAvcmVncmVz
cy05OTY2My5qcyc+anMxXzIvdmVyc2lvbjEyMC9yZWdyZXNzLTk5NjYzLmpzPC9hPiBmYWlsZWQ8
L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlMzgnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwg
PGEgaHJlZj0nI2ZhaWx1cmU0MCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90
b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0Pi0tPiBTVEFUVVM6IFJlZ3Jlc3Npb24gdGVz
dCBmb3IgQnVnemlsbGEgYnVnIDk5NjYzPGJyPgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4K
IC0tPiBTZWN0aW9uIDEgb2YgdGVzdCAtIGdvdCBFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
aXQgRkFJTEVEISBleHBlY3RlZDogYSAicmVhZC1vbmx5IiBlcnJvcjxicj4KIC0tPiBTZWN0aW9u
IDIgb2YgdGVzdCAtIGdvdCBFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogaXQgRkFJTEVEISBl
eHBlY3RlZDogYSAicmVhZC1vbmx5IiBlcnJvcjxicj4KIC0tPiBTZWN0aW9uIDMgb2YgdGVzdCAt
IGdvdCBFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogaXQgRkFJTEVEISBleHBlY3RlZDogYSAi
cmVhZC1vbmx5IiBlcnJvcjxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTQyJz48L2E+
PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8zL1Nj
cmlwdC9mdW5jdGlvbi0wMDEtbi5qcyc+anMxXzMvU2NyaXB0L2Z1bmN0aW9uLTAwMS1uLmpzPC9h
PiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTAyNzgnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDEwMjc4PC9h
Pjxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNDEnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI2ZhaWx1cmU0Myc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3An
PlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTQwJz48L2E+PGRkPjxiPlRl
c3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8zL1NjcmlwdC9mdW5j
dGlvbi0wMDEtbi5qcyc+anMxXzMvU2NyaXB0L2Z1bmN0aW9uLTAwMS1uLmpzPC9hPiBmYWlsZWQ8
L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAyNzgnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDEwMjc4PC9hPjxicj4KKyBb
IDxhIGhyZWY9JyNmYWlsdXJlMzknPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2Zh
aWx1cmU0MSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQ
YWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29kZSAzLCBnb3QgMDxicj4KIFRlc3Rj
YXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1
dCB3YXM6PGJyPgpAQCAtNzY1LDE2ICs0ODEsMTYgQEAgT0suPGJyPgogLS0+IGZ1bmN0aW9uLTAw
MS5qcyBmdW5jdGlvbnMgbm90IHNlcGFyYXRlZCBieSBzZW1pY29sb25zIGFyZSBlcnJvcnMgaW4g
dmVyc2lvbiAxMjAgYW5kIGhpZ2hlcjxicj4KIC0tPiBldmFsKCJmdW5jdGlvbiBmKCl7fWZ1bmN0
aW9uIGcoKXt9IikgPSB1bmRlZmluZWQgRkFJTEVEISBleHBlY3RlZDogZXJyb3I8YnI+CiA8L3R0
Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmU0Myc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9
J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMy9TY3JpcHQvc2NyaXB0LTAwMS5qcyc+anMxXzMv
U2NyaXB0L3NjcmlwdC0wMDEuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2Zh
aWx1cmU0Mic+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTQ0Jz5OZXh0
IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+
Cis8YSBuYW1lPSdmYWlsdXJlNDEnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhl
cl93aW5kb3cnIGhyZWY9Jy4vanMxXzMvU2NyaXB0L3NjcmlwdC0wMDEuanMnPmpzMV8zL1Njcmlw
dC9zY3JpcHQtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJl
NDAnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU0Mic+TmV4dCBGYWls
dXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0
PkV4cGVjdGVkIGV4aXQgY29kZSAwLCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0
aCBzaWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgogLS0+IHNj
cmlwdC0wMDEgTmF0aXZlU2NyaXB0PGJyPgotWzIxOTldIC4vanMxXzMvU2NyaXB0L3NjcmlwdC0w
MDEuanMgbGluZSAxMzM6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTY3Jp
cHQ8YnI+CitbNDg5N10gLi9qczFfMy9TY3JpcHQvc2NyaXB0LTAwMS5qcyBsaW5lIDEzMzogUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNjcmlwdDxicj4KIDwvdHQ+PGJyPgot
PGEgbmFtZT0nZmFpbHVyZTQ0Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJf
d2luZG93JyBocmVmPScuL2pzMV8zL3JlZ3Jlc3MvZnVuY3Rpb24tMDAxLW4uanMnPmpzMV8zL3Jl
Z3Jlc3MvZnVuY3Rpb24tMDAxLW4uanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1
Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3OCcgdGFyZ2V0PSdvdGhlcl93
aW5kb3cnPkJ1ZyBOdW1iZXIgMTAyNzg8L2E+PGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmU0Myc+
UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTQ1Jz5OZXh0IEZhaWx1cmU8
L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1l
PSdmYWlsdXJlNDInPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cn
IGhyZWY9Jy4vanMxXzMvcmVncmVzcy9mdW5jdGlvbi0wMDEtbi5qcyc+anMxXzMvcmVncmVzcy9m
dW5jdGlvbi0wMDEtbi5qczwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEu
bW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjc4JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+
QnVnIE51bWJlciAxMDI3ODwvYT48YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTQxJz5QcmV2aW91
cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNDMnPk5leHQgRmFpbHVyZTwvYT4gfCA8
YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBl
eGl0IGNvZGUgMywgZ290IDA8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8
YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KQEAgLTc4Myw5NyArNDk5LDk3
IEBAIE9LLjxicj4KIC0tPiBmdW5jdGlvbi0wMDEuanMgZnVuY3Rpb25zIG5vdCBzZXBhcmF0ZWQg
Ynkgc2VtaWNvbG9ucyBhcmUgZXJyb3JzIGluIHZlcnNpb24gMTIwIGFuZCBoaWdoZXI8YnI+CiAt
LT4gZXZhbCgiZnVuY3Rpb24gZigpe31mdW5jdGlvbiBnKCl7fSIpID0gdW5kZWZpbmVkIEZBSUxF
RCEgZXhwZWN0ZWQ6IGVycm9yPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlNDUnPjwv
YT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUv
RXhjZXB0aW9ucy9jYXRjaGd1YXJkLTAwMS5qcyc+anMxXzUvRXhjZXB0aW9ucy9jYXRjaGd1YXJk
LTAwMS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTQ0Jz5QcmV2
aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNDYnPk5leHQgRmFpbHVyZTwvYT4g
fCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2Zh
aWx1cmU0Myc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJl
Zj0nLi9qczFfNS9FeGNlcHRpb25zL2NhdGNoZ3VhcmQtMDAxLmpzJz5qczFfNS9FeGNlcHRpb25z
L2NhdGNoZ3VhcmQtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWls
dXJlNDInPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU0NCc+TmV4dCBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgog
PHR0PkV4cGVjdGVkIGV4aXQgY29kZSAwLCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQg
d2l0aCBzaWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgogVGVz
dGNhc2UgcHJvZHVjZWQgbm8gb3V0cHV0ITwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTQ2Jz48
L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81
L0V4Y2VwdGlvbnMvY2F0Y2hndWFyZC0wMDIuanMnPmpzMV81L0V4Y2VwdGlvbnMvY2F0Y2hndWFy
ZC0wMDIuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmU0NSc+UHJl
dmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTQ3Jz5OZXh0IEZhaWx1cmU8L2E+
IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdm
YWlsdXJlNDQnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhy
ZWY9Jy4vanMxXzUvRXhjZXB0aW9ucy9jYXRjaGd1YXJkLTAwMi5qcyc+anMxXzUvRXhjZXB0aW9u
cy9jYXRjaGd1YXJkLTAwMi5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFp
bHVyZTQzJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNDUnPk5leHQg
RmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4K
IDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVk
IHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KIFRl
c3RjYXNlIHByb2R1Y2VkIG5vIG91dHB1dCE8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmU0Nyc+
PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFf
NS9FeGNlcHRpb25zL2NhdGNoZ3VhcmQtMDAzLmpzJz5qczFfNS9FeGNlcHRpb25zL2NhdGNoZ3Vh
cmQtMDAzLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNDYnPlBy
ZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU0OCc+TmV4dCBGYWlsdXJlPC9h
PiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0n
ZmFpbHVyZTQ1Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBo
cmVmPScuL2pzMV81L0V4Y2VwdGlvbnMvY2F0Y2hndWFyZC0wMDMuanMnPmpzMV81L0V4Y2VwdGlv
bnMvY2F0Y2hndWFyZC0wMDMuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2Zh
aWx1cmU0NCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTQ2Jz5OZXh0
IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+
CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVybWluYXRl
ZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+CiBU
ZXN0Y2FzZSBwcm9kdWNlZCBubyBvdXRwdXQhPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlNDgn
PjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMx
XzUvRXhjZXB0aW9ucy9lcnJzdGFjay0wMDEuanMnPmpzMV81L0V4Y2VwdGlvbnMvZXJyc3RhY2st
MDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNDcnPlByZXZp
b3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU0OSc+TmV4dCBGYWlsdXJlPC9hPiB8
IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFp
bHVyZTQ2Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVm
PScuL2pzMV81L0V4Y2VwdGlvbnMvZXJyc3RhY2stMDAxLmpzJz5qczFfNS9FeGNlcHRpb25zL2Vy
cnN0YWNrLTAwMS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTQ1
Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNDcnPk5leHQgRmFpbHVy
ZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5F
eHBlY3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGgg
c2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KLVsyMjQ0XSAu
L2pzMV81L0V4Y2VwdGlvbnMvZXJyc3RhY2stMDAxLmpzIGxpbmUgMjQ3OiBUeXBlRXJyb3I6IFVu
ZGVmaW5lZCB2YWx1ZTxicj4KK1s0OTQyXSAuL2pzMV81L0V4Y2VwdGlvbnMvZXJyc3RhY2stMDAx
LmpzIGxpbmUgMjQ3OiBUeXBlRXJyb3I6IFVuZGVmaW5lZCB2YWx1ZTxicj4KIDwvdHQ+PGJyPgot
PGEgbmFtZT0nZmFpbHVyZTQ5Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJf
d2luZG93JyBocmVmPScuL2pzMV81L0V4Y2VwdGlvbnMvcmVncmVzcy01MDQ0Ny5qcyc+anMxXzUv
RXhjZXB0aW9ucy9yZWdyZXNzLTUwNDQ3LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6
Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA0NDcnIHRhcmdldD0nb3Ro
ZXJfd2luZG93Jz5CdWcgTnVtYmVyIDUwNDQ3PC9hPjxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJl
NDgnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU1MCc+TmV4dCBGYWls
dXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEg
bmFtZT0nZmFpbHVyZTQ3Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2lu
ZG93JyBocmVmPScuL2pzMV81L0V4Y2VwdGlvbnMvcmVncmVzcy01MDQ0Ny5qcyc+anMxXzUvRXhj
ZXB0aW9ucy9yZWdyZXNzLTUwNDQ3LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9i
dWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA0NDcnIHRhcmdldD0nb3RoZXJf
d2luZG93Jz5CdWcgTnVtYmVyIDUwNDQ3PC9hPjxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlNDYn
PlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU0OCc+TmV4dCBGYWlsdXJl
PC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4
cGVjdGVkIGV4aXQgY29kZSAwLCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBz
aWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgogLS0+IEJVR05V
TUJFUjogNTA0NDc8YnI+CiAtLT4gU1RBVFVTOiBUZXN0IChub24tRUNNQSkgRXJyb3Igb2JqZWN0
IHByb3BlcnRpZXMgZmlsZU5hbWUsIGxpbmVOdW1iZXI8YnI+Ci1bMjI0NV0gLi9qczFfNS9FeGNl
cHRpb25zL3JlZ3Jlc3MtNTA0NDcuanMgbGluZSA2NTogVHlwZUVycm9yOiBVbmRlZmluZWQgdmFs
dWU8YnI+CitbNDk0M10gLi9qczFfNS9FeGNlcHRpb25zL3JlZ3Jlc3MtNTA0NDcuanMgbGluZSA2
NTogVHlwZUVycm9yOiBVbmRlZmluZWQgdmFsdWU8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2Zh
aWx1cmU1MCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJl
Zj0nLi9qczFfNS9HZXRTZXQvZ2V0c2V0LTAwMS5qcyc+anMxXzUvR2V0U2V0L2dldHNldC0wMDEu
anM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmU0OSc+UHJldmlvdXMg
RmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTUxJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJl
NDgnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4v
anMxXzUvR2V0U2V0L2dldHNldC0wMDEuanMnPmpzMV81L0dldFNldC9nZXRzZXQtMDAxLmpzPC9h
PiBmYWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlNDcnPlByZXZpb3VzIEZhaWx1
cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU0OSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9
JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29k
ZSAwLCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENv
bXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgogVGVzdGNhc2UgcHJvZHVjZWQgbm8gb3V0
cHV0ITwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTUxJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxh
IHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L0dldFNldC9nZXRzZXQtMDAyLmpz
Jz5qczFfNS9HZXRTZXQvZ2V0c2V0LTAwMi5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBo
cmVmPScjZmFpbHVyZTUwJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJl
NTInPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwv
YT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmU0OSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJn
ZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9HZXRTZXQvZ2V0c2V0LTAwMi5qcyc+anMx
XzUvR2V0U2V0L2dldHNldC0wMDIuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0n
I2ZhaWx1cmU0OCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTUwJz5O
ZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08
YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVybWlu
YXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+
CiBUZXN0Y2FzZSBwcm9kdWNlZCBubyBvdXRwdXQhPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJl
NTInPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4v
anMxXzUvR2V0U2V0L2dldHNldC0wMDMuanMnPmpzMV81L0dldFNldC9nZXRzZXQtMDAzLmpzPC9h
PiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNTEnPlByZXZpb3VzIEZhaWx1
cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU1Myc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9
JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTUwJz48
L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81
L0dldFNldC9nZXRzZXQtMDAzLmpzJz5qczFfNS9HZXRTZXQvZ2V0c2V0LTAwMy5qczwvYT4gZmFp
bGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTQ5Jz5QcmV2aW91cyBGYWlsdXJlPC9h
PiB8IDxhIGhyZWY9JyNmYWlsdXJlNTEnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlw
cHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwg
Z290IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0
ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KIFRlc3RjYXNlIHByb2R1Y2VkIG5vIG91dHB1dCE8
L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmU1Myc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJn
ZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9PYmplY3QvcmVncmVzcy05MDU5Ni0wMDEu
anMnPmpzMV81L09iamVjdC9yZWdyZXNzLTkwNTk2LTAwMS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+
Ci0gWyA8YSBocmVmPScjZmFpbHVyZTUyJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9
JyNmYWlsdXJlNTQnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Ag
b2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmU1MSc+PC9hPjxkZD48Yj5UZXN0Y2Fz
ZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9PYmplY3QvcmVncmVzcy05
MDU5Ni0wMDEuanMnPmpzMV81L09iamVjdC9yZWdyZXNzLTkwNTk2LTAwMS5qczwvYT4gZmFpbGVk
PC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTUwJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8
IDxhIGhyZWY9JyNmYWlsdXJlNTInPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlf
dG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwgZ290
IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0
ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KLVsyMjYwXSAuL2pzMV81L09iamVjdC9yZWdyZXNzLTkw
NTk2LTAwMS5qcyBsaW5lIDQ4OiBUeXBlRXJyb3I6IFZhbHVlIHVuZGVmaW5lZCAocmVzdWx0IG9m
IGV4cHJlc3Npb24gb2JqLnRvU291cmNlKSBpcyBub3Qgb2JqZWN0Ljxicj4KK1s0OTU4XSAuL2pz
MV81L09iamVjdC9yZWdyZXNzLTkwNTk2LTAwMS5qcyBsaW5lIDQ4OiBUeXBlRXJyb3I6IFZhbHVl
IHVuZGVmaW5lZCAocmVzdWx0IG9mIGV4cHJlc3Npb24gb2JqLnRvU291cmNlKSBpcyBub3Qgb2Jq
ZWN0Ljxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTU0Jz48L2E+PGRkPjxiPlRlc3Rj
YXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L09iamVjdC9yZWdyZXNz
LTkwNTk2LTAwMi5qcyc+anMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTA1OTYtMDAyLmpzPC9hPiBmYWls
ZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNTMnPlByZXZpb3VzIEZhaWx1cmU8L2E+
IHwgPGEgaHJlZj0nI2ZhaWx1cmU1NSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBw
eV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTUyJz48L2E+PGRk
PjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L09iamVj
dC9yZWdyZXNzLTkwNTk2LTAwMi5qcyc+anMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTA1OTYtMDAyLmpz
PC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlNTEnPlByZXZpb3VzIEZh
aWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU1Myc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhy
ZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQg
Y29kZSAwLCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4K
IENvbXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgotWzIyNjFdIC4vanMxXzUvT2JqZWN0
L3JlZ3Jlc3MtOTA1OTYtMDAyLmpzIGxpbmUgNDg6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiB1bmV2YWw8YnI+CitbNDk1OV0gLi9qczFfNS9PYmplY3QvcmVncmVzcy05MDU5
Ni0wMDIuanMgbGluZSA0ODogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHVu
ZXZhbDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTU1Jz48L2E+PGRkPjxiPlRlc3Rj
YXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L09iamVjdC9yZWdyZXNz
LTk2Mjg0LTAwMS5qcyc+anMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTYyODQtMDAxLmpzPC9hPiBmYWls
ZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNTQnPlByZXZpb3VzIEZhaWx1cmU8L2E+
IHwgPGEgaHJlZj0nI2ZhaWx1cmU1Nic+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBw
eV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTUzJz48L2E+PGRk
PjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L09iamVj
dC9yZWdyZXNzLTk2Mjg0LTAwMS5qcyc+anMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTYyODQtMDAxLmpz
PC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlNTInPlByZXZpb3VzIEZh
aWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU1NCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhy
ZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQg
Y29kZSAwLCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4K
IENvbXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgotWzIyNjNdIC4vanMxXzUvT2JqZWN0
L3JlZ3Jlc3MtOTYyODQtMDAxLmpzIGxpbmUgNDk6IFR5cGVFcnJvcjogVmFsdWUgdW5kZWZpbmVk
IChyZXN1bHQgb2YgZXhwcmVzc2lvbiBvYmoxLnRvU291cmNlKSBpcyBub3Qgb2JqZWN0Ljxicj4K
K1s0OTYxXSAuL2pzMV81L09iamVjdC9yZWdyZXNzLTk2Mjg0LTAwMS5qcyBsaW5lIDQ5OiBUeXBl
RXJyb3I6IFZhbHVlIHVuZGVmaW5lZCAocmVzdWx0IG9mIGV4cHJlc3Npb24gb2JqMS50b1NvdXJj
ZSkgaXMgbm90IG9iamVjdC48YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmU1Nic+PC9h
PjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9P
YmplY3QvcmVncmVzcy05NjI4NC0wMDIuanMnPmpzMV81L09iamVjdC9yZWdyZXNzLTk2Mjg0LTAw
Mi5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTU1Jz5QcmV2aW91
cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNTcnPk5leHQgRmFpbHVyZTwvYT4gfCA8
YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1
cmU1NCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0n
Li9qczFfNS9PYmplY3QvcmVncmVzcy05NjI4NC0wMDIuanMnPmpzMV81L09iamVjdC9yZWdyZXNz
LTk2Mjg0LTAwMi5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTUz
Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNTUnPk5leHQgRmFpbHVy
ZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5F
eHBlY3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGgg
c2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KLVsyMjY0XSAu
L2pzMV81L09iamVjdC9yZWdyZXNzLTk2Mjg0LTAwMi5qcyBsaW5lIDQ5OiBSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogdW5ldmFsPGJyPgorWzQ5NjJdIC4vanMxXzUvT2JqZWN0
L3JlZ3Jlc3MtOTYyODQtMDAyLmpzIGxpbmUgNDk6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiB1bmV2YWw8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmU1Nyc+PC9h
PjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9S
ZWdyZXNzL3JlZ3Jlc3MtNDQwMDkuanMnPmpzMV81L1JlZ3Jlc3MvcmVncmVzcy00NDAwOS5qczwv
YT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19i
dWcuY2dpP2lkPTQ0MDA5JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciA0NDAwOTwv
YT48YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTU2Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxh
IGhyZWY9JyNmYWlsdXJlNTgnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9w
Jz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmU1NSc+PC9hPjxkZD48Yj5U
ZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9SZWdyZXNzL3Jl
Z3Jlc3MtNDQwMDkuanMnPmpzMV81L1JlZ3Jlc3MvcmVncmVzcy00NDAwOS5qczwvYT4gZmFpbGVk
PC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lk
PTQ0MDA5JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciA0NDAwOTwvYT48YnI+Cisg
WyA8YSBocmVmPScjZmFpbHVyZTU0Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNm
YWlsdXJlNTYnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2Yg
UGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CiBUZXN0
Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRw
dXQgd2FzOjxicj4KIC0tPiBCVUdOVU1CRVI6IDQ0MDA5PGJyPgogLS0+IFNUQVRVUzogVGVzdGlu
ZyB0aGF0IHdlIGRvbid0IGNyYXNoIG9uIG9iai50b1NvdXJjZSgpPGJyPgotWzIyNjldIC4vanMx
XzUvUmVncmVzcy9yZWdyZXNzLTQ0MDA5LmpzIGxpbmUgNjA6IFR5cGVFcnJvcjogVmFsdWUgdW5k
ZWZpbmVkIChyZXN1bHQgb2YgZXhwcmVzc2lvbiBvYmoudG9Tb3VyY2UpIGlzIG5vdCBvYmplY3Qu
PGJyPgorWzQ5NjddIC4vanMxXzUvUmVncmVzcy9yZWdyZXNzLTQ0MDA5LmpzIGxpbmUgNjA6IFR5
cGVFcnJvcjogVmFsdWUgdW5kZWZpbmVkIChyZXN1bHQgb2YgZXhwcmVzc2lvbiBvYmoudG9Tb3Vy
Y2UpIGlzIG5vdCBvYmplY3QuPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlNTgnPjwv
YT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUv
UmVncmVzcy9yZWdyZXNzLTY4NDk4LTAwMy5qcyc+anMxXzUvUmVncmVzcy9yZWdyZXNzLTY4NDk4
LTAwMy5qczwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5v
cmcvc2hvd19idWcuY2dpP2lkPTY4NDk4JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJl
ciA2ODQ5ODwvYT48YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTU3Jz5QcmV2aW91cyBGYWlsdXJl
PC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNTknPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScj
dGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmU1Nic+PC9h
PjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9S
ZWdyZXNzL3JlZ3Jlc3MtNjg0OTgtMDAzLmpzJz5qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtNjg0OTgt
MDAzLmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTgnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVy
IDY4NDk4PC9hPjxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlNTUnPlByZXZpb3VzIEZhaWx1cmU8
L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU1Nyc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0
aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0Pi0tPiBTVEFUVVM6IFRlc3Rpbmcg
Y2FsbGluZyBvYmouZXZhbChzdHIpPGJyPgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0t
PiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFRlc3RpbmcgY2FsbGluZyBvYmouZXZh
bChzdHIpOyBjdXJyZW50bHkgYXQgZXhwZWN0WzFdIHdpdGhpbiB0ZXN0IC08YnI+CkBAIC04ODEs
OCArNTk3LDggQEAgRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiBGQUlMRUQhOiBbcmVw
b3J0ZWQgZnJvbSB0ZXN0KCldIEV4cGVjdGVkIHZhbHVlICc0MycsIEFjdHVhbCB2YWx1ZSAnZmFs
c2UnPGJyPgogLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgogPC90dD48
YnI+Ci08YSBuYW1lPSdmYWlsdXJlNTknPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdv
dGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvUmVncmVzcy9yZWdyZXNzLTEwMzYwMi5qcyc+anMx
XzUvUmVncmVzcy9yZWdyZXNzLTEwMzYwMi5qczwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRw
Oi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzYwMicgdGFyZ2V0PSdv
dGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIgMTAzNjAyPC9hPjxicj4KLSBbIDxhIGhyZWY9JyNmYWls
dXJlNTgnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU2MCc+TmV4dCBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgor
PGEgbmFtZT0nZmFpbHVyZTU3Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJf
d2luZG93JyBocmVmPScuL2pzMV81L1JlZ3Jlc3MvcmVncmVzcy0xMDM2MDIuanMnPmpzMV81L1Jl
Z3Jlc3MvcmVncmVzcy0xMDM2MDIuanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1
Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM2MDInIHRhcmdldD0nb3RoZXJf
d2luZG93Jz5CdWcgTnVtYmVyIDEwMzYwMjwvYT48YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTU2
Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNTgnPk5leHQgRmFpbHVy
ZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD4t
LT4gU1RBVFVTOiBSZWFzc2lnbm1lbnQgdG8gYSBjb25zdCBpcyBOT1QgYW4gZXJyb3IgcGVyIEVD
TUE8YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogLS0+IEZBSUxFRCE6IFtyZXBvcnRl
ZCBmcm9tIHRlc3QoKV0gU2VjdGlvbiAxIG9mIHRlc3QgLTxicj4KQEAgLTg5MiwyOCArNjA4LDI4
IEBAIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZy
b20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnMScsIEFjdHVhbCB2YWx1ZSAnMic8YnI+CiAtLT4g
RkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9
J2ZhaWx1cmU2MCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycg
aHJlZj0nLi9qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtMTA0MDc3LmpzJz5qczFfNS9SZWdyZXNzL3Jl
Z3Jlc3MtMTA0MDc3LmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJl
NTknPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU2MSc+TmV4dCBGYWls
dXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEg
bmFtZT0nZmFpbHVyZTU4Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2lu
ZG93JyBocmVmPScuL2pzMV81L1JlZ3Jlc3MvcmVncmVzcy0xMDQwNzcuanMnPmpzMV81L1JlZ3Jl
c3MvcmVncmVzcy0xMDQwNzcuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2Zh
aWx1cmU1Nyc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTU5Jz5OZXh0
IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+
CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVybWluYXRl
ZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+CiBU
ZXN0Y2FzZSBwcm9kdWNlZCBubyBvdXRwdXQhPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlNjEn
PjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMx
XzUvUmVncmVzcy9yZWdyZXNzLTEyNzU1Ny5qcyc+anMxXzUvUmVncmVzcy9yZWdyZXNzLTEyNzU1
Ny5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTYwJz5QcmV2aW91
cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNjInPk5leHQgRmFpbHVyZTwvYT4gfCA8
YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1
cmU1OSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0n
Li9qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtMTI3NTU3LmpzJz5qczFfNS9SZWdyZXNzL3JlZ3Jlc3Mt
MTI3NTU3LmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlNTgnPlBy
ZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU2MCc+TmV4dCBGYWlsdXJlPC9h
PiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVj
dGVkIGV4aXQgY29kZSAwLCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWdu
YWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgotWzIyOTVdIC4vanMx
XzUvUmVncmVzcy9yZWdyZXNzLTEyNzU1Ny5qcyBsaW5lIDc1OiBSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogY2xvbmU8YnI+CitbNDk5M10gLi9qczFfNS9SZWdyZXNzL3JlZ3Jl
c3MtMTI3NTU3LmpzIGxpbmUgNzU6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxl
OiBjbG9uZTxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTYyJz48L2E+PGRkPjxiPlRl
c3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L1JlZ3Jlc3MvcmVn
cmVzcy0xNzI2OTkuanMnPmpzMV81L1JlZ3Jlc3MvcmVncmVzcy0xNzI2OTkuanM8L2E+IGZhaWxl
ZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmU2MSc+UHJldmlvdXMgRmFpbHVyZTwvYT4g
fCA8YSBocmVmPScjZmFpbHVyZTYzJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5
X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlNjAnPjwvYT48ZGQ+
PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvUmVncmVz
cy9yZWdyZXNzLTE3MjY5OS5qcyc+anMxXzUvUmVncmVzcy9yZWdyZXNzLTE3MjY5OS5qczwvYT4g
ZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTU5Jz5QcmV2aW91cyBGYWlsdXJl
PC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNjEnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScj
dGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUg
MCwgZ290IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21w
bGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KLVsyMzA0XSAuL2pzMV81L1JlZ3Jlc3MvcmVn
cmVzcy0xNzI2OTkuanMgbGluZSA2MTogVVJJRXJyb3I6IFVSSSBlcnJvcjxicj4KK1s1MDAyXSAu
L2pzMV81L1JlZ3Jlc3MvcmVncmVzcy0xNzI2OTkuanMgbGluZSA2MTogVVJJRXJyb3I6IFVSSSBl
cnJvcjxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTYzJz48L2E+PGRkPjxiPlRlc3Rj
YXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L1JlZ3Jlc3MvcmVncmVz
cy0xNzk1MjQuanMnPmpzMV81L1JlZ3Jlc3MvcmVncmVzcy0xNzk1MjQuanM8L2E+IGZhaWxlZDwv
Yj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Nzk1MjQnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDE3OTUyNDwvYT48YnI+Ci0g
WyA8YSBocmVmPScjZmFpbHVyZTYyJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNm
YWlsdXJlNjQnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2Yg
UGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmU2MSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8
YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtMTc5
NTI0LmpzJz5qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtMTc5NTI0LmpzPC9hPiBmYWlsZWQ8L2I+IDxh
IGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5NTI0
JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciAxNzk1MjQ8L2E+PGJyPgorIFsgPGEg
aHJlZj0nI2ZhaWx1cmU2MCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVy
ZTYyJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8
L2E+IF08YnI+CiA8dHQ+LS0+IFNUQVRVUzogRG9uJ3QgY3Jhc2ggb24gZXh0cmFuZW91cyBhcmd1
bWVudHMgdG8gc3RyLm1hdGNoKCksIGV0Yy48YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJy
PgogLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gU2VjdGlvbiAxNCBvZiB0ZXN0
IC08YnI+CkBAIC05NjMsOCArNjc5LDggQEAgRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0t
PiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEV4cGVjdGVkIHZhbHVlICdTSE9VTEQg
SEFWRSBGQUxMRU4gSU5UTyBDQVRDSC1CTE9DSyEnLCBBY3R1YWwgdmFsdWUgJ0FCQyBaYmMnPGJy
PgogLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgogPC90dD48YnI+Ci08
YSBuYW1lPSdmYWlsdXJlNjQnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93
aW5kb3cnIGhyZWY9Jy4vanMxXzUvU2NvcGUvcmVncmVzcy0xODU0ODUuanMnPmpzMV81L1Njb3Bl
L3JlZ3Jlc3MtMTg1NDg1LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxs
YS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1NDg1JyB0YXJnZXQ9J290aGVyX3dpbmRv
dyc+QnVnIE51bWJlciAxODU0ODU8L2E+PGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmU2Myc+UHJl
dmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTY1Jz5OZXh0IEZhaWx1cmU8L2E+
IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdm
YWlsdXJlNjInPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhy
ZWY9Jy4vanMxXzUvU2NvcGUvcmVncmVzcy0xODU0ODUuanMnPmpzMV81L1Njb3BlL3JlZ3Jlc3Mt
MTg1NDg1LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxh
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1NDg1JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51
bWJlciAxODU0ODU8L2E+PGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmU2MSc+UHJldmlvdXMgRmFp
bHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTYzJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJl
Zj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+LS0+IFNUQVRVUzogVGVz
dGluZyB8d2l0aCAoeCkge2Z1bmN0aW9uIGYoKSB7fX18IHdoZW4gfHguZnwgYWxyZWFkeSBleGlz
dHM8YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogLS0+IEZBSUxFRCE6IFtyZXBvcnRl
ZCBmcm9tIHRlc3QoKV0gU2VjdGlvbiAyIG9mIHRlc3QgLTxicj4KQEAgLTk3OSwxNSArNjk1LDE1
IEBAIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZy
b20gdGVzdCgpXSB9JywgQWN0dWFsIHZhbHVlICcwJzxicj4KIC0tPiBGQUlMRUQhOiBbcmVwb3J0
ZWQgZnJvbSB0ZXN0KCldIDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTY1Jz48L2E+
PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L1Nj
b3BlL3JlZ3Jlc3MtMjIwNTg0LmpzJz5qczFfNS9TY29wZS9yZWdyZXNzLTIyMDU4NC5qczwvYT4g
ZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTY0Jz5QcmV2aW91cyBGYWlsdXJl
PC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNjYnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScj
dGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmU2Myc+PC9h
PjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9T
Y29wZS9yZWdyZXNzLTIyMDU4NC5qcyc+anMxXzUvU2NvcGUvcmVncmVzcy0yMjA1ODQuanM8L2E+
IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmU2Mic+UHJldmlvdXMgRmFpbHVy
ZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTY0Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0n
I3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2Rl
IDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29t
cGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+Ci1bMjMyOV0gLi9qczFfNS9TY29wZS9yZWdy
ZXNzLTIyMDU4NC5qcyBsaW5lIDU2OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogU2NyaXB0PGJyPgorWzUwMjddIC4vanMxXzUvU2NvcGUvcmVncmVzcy0yMjA1ODQuanMgbGlu
ZSA1NjogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNjcmlwdDxicj4KIDwv
dHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTY2Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdl
dD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L1Njb3BlL3Njb3BlLTAwMS5qcyc+anMxXzUv
U2NvcGUvc2NvcGUtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxs
YS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMyNjgnIHRhcmdldD0nb3RoZXJfd2luZG93
Jz5CdWcgTnVtYmVyIDUzMjY4PC9hPjxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNjUnPlByZXZp
b3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU2Nyc+TmV4dCBGYWlsdXJlPC9hPiB8
IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFp
bHVyZTY0Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVm
PScuL2pzMV81L1Njb3BlL3Njb3BlLTAwMS5qcyc+anMxXzUvU2NvcGUvc2NvcGUtMDAxLmpzPC9h
PiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NTMyNjgnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDUzMjY4PC9h
Pjxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlNjMnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI2ZhaWx1cmU2NSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3An
PlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0Pi0tPiBTVEFUVVM6IFRlc3Rpbmcgc2NvcGUgYWZ0
ZXIgY2hhbmdpbmcgb2JqLl9fcHJvdG9fXzxicj4KIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+
CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTdGVwIDE6ICBzZXR0aW5nIG9i
ai5fX3Byb3RvX18gPSBnbG9iYWwgb2JqZWN0PGJyPgpAQCAtOTk4LDggKzcxNCw4IEBAIEZhaWx1
cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgp
XSBFeHBlY3RlZCB2YWx1ZSAndW5kZWZpbmVkJywgQWN0dWFsIHZhbHVlICcxJzxicj4KIC0tPiBG
QUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0n
ZmFpbHVyZTY3Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBo
cmVmPScuL2pzMV82L1JlZ3Jlc3MvcmVncmVzcy0zMDE1NzQuanMnPmpzMV82L1JlZ3Jlc3MvcmVn
cmVzcy0zMDE1NzQuanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1v
emlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0zMDE1NzQnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5C
dWcgTnVtYmVyIDMwMTU3NDwvYT48YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTY2Jz5QcmV2aW91
cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNjgnPk5leHQgRmFpbHVyZTwvYT4gfCA8
YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1
cmU2NSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0n
Li9qczFfNi9SZWdyZXNzL3JlZ3Jlc3MtMzAxNTc0LmpzJz5qczFfNi9SZWdyZXNzL3JlZ3Jlc3Mt
MzAxNTc0LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxh
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAxNTc0JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51
bWJlciAzMDE1NzQ8L2E+PGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmU2NCc+UHJldmlvdXMgRmFp
bHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTY2Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJl
Zj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+LS0+IFNUQVRVUzogRTRY
IHNob3VsZCBiZSBlbmFibGVkIGV2ZW4gd2hlbiBlNHg9MSBub3Qgc3BlY2lmaWVkPGJyPgogRmFp
bHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiBGQUlMRUQhOiBFNFggc2hvdWxkIGJlIGVuYWJs
ZWQgZXZlbiB3aGVuIGU0eD0xIG5vdCBzcGVjaWZpZWQ6IFhNTCgpPGJyPgpAQCAtMTAwOSwyNyAr
NzI1LDI3IEBAIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAtLT4gRkFJTEVEITogRXhwZWN0
ZWQgdmFsdWUgJ05vIGVycm9yJywgQWN0dWFsIHZhbHVlICdlcnJvcjogUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IFhNTCc8YnI+CiAtLT4gRkFJTEVEITogPGJyPgogPC90dD48
YnI+Ci08YSBuYW1lPSdmYWlsdXJlNjgnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdv
dGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzYvUmVncmVzcy9yZWdyZXNzLTMwOTI0Mi5qcyc+anMx
XzYvUmVncmVzcy9yZWdyZXNzLTMwOTI0Mi5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBo
cmVmPScjZmFpbHVyZTY3Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJl
NjknPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwv
YT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmU2Nic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJn
ZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNi9SZWdyZXNzL3JlZ3Jlc3MtMzA5MjQyLmpz
Jz5qczFfNi9SZWdyZXNzL3JlZ3Jlc3MtMzA5MjQyLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBb
IDxhIGhyZWY9JyNmYWlsdXJlNjUnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2Zh
aWx1cmU2Nyc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQ
YWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29kZSAwLCBnb3QgMzxicj4KIFRlc3Rj
YXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1
dCB3YXM6PGJyPgogVGVzdGNhc2UgcHJvZHVjZWQgbm8gb3V0cHV0ITwvdHQ+PGJyPgotPGEgbmFt
ZT0nZmFpbHVyZTY5Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93
JyBocmVmPScuL2pzMV82L1JlZ3Jlc3MvcmVncmVzcy0zMTQ4ODcuanMnPmpzMV82L1JlZ3Jlc3Mv
cmVncmVzcy0zMTQ4ODcuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1
cmU2OCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTcwJz5OZXh0IEZh
aWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8
YSBuYW1lPSdmYWlsdXJlNjcnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93
aW5kb3cnIGhyZWY9Jy4vanMxXzYvUmVncmVzcy9yZWdyZXNzLTMxNDg4Ny5qcyc+anMxXzYvUmVn
cmVzcy9yZWdyZXNzLTMxNDg4Ny5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScj
ZmFpbHVyZTY2Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNjgnPk5l
eHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxi
cj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5h
dGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4K
IFRlc3RjYXNlIHByb2R1Y2VkIG5vIG91dHB1dCE8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmU3
MCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9q
czFfNi9TdHJpbmcvcmVncmVzcy0zMDY1OTEuanMnPmpzMV82L1N0cmluZy9yZWdyZXNzLTMwNjU5
MS5qczwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcv
c2hvd19idWcuY2dpP2lkPTMwNjU5MScgdGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIg
MzA2NTkxPC9hPjxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNjknPlByZXZpb3VzIEZhaWx1cmU8
L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU3MSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0
aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTY4Jz48L2E+
PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV82L1N0
cmluZy9yZWdyZXNzLTMwNjU5MS5qcyc+anMxXzYvU3RyaW5nL3JlZ3Jlc3MtMzA2NTkxLmpzPC9h
PiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzA2NTkxJyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciAzMDY1OTE8
L2E+PGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmU2Nyc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8
YSBocmVmPScjZmFpbHVyZTY5Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3Rv
cCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAz
PGJyPgogVGVzdGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVz
dGNhc2Ugb3V0cHV0IHdhczo8YnI+CiAtLT4gQlVHTlVNQkVSOiAzMDY1OTE8YnI+CiAtLT4gU1RB
VFVTOiBTdHJpbmcgc3RhdGljIG1ldGhvZHM8YnI+CiAtLT4gU1RBVFVTOiBTZWUgaHR0cHM6Ly9i
dWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzA0ODI4PGJyPgotWzIzNTFdIC4v
anMxXzYvU3RyaW5nL3JlZ3Jlc3MtMzA2NTkxLmpzIGxpbmUgNDg6IFR5cGVFcnJvcjogVmFsdWUg
dW5kZWZpbmVkIChyZXN1bHQgb2YgZXhwcmVzc2lvbiBTdHJpbmcuc3BsaXQpIGlzIG5vdCBvYmpl
Y3QuPGJyPgorWzUwNDldIC4vanMxXzYvU3RyaW5nL3JlZ3Jlc3MtMzA2NTkxLmpzIGxpbmUgNDg6
IFR5cGVFcnJvcjogVmFsdWUgdW5kZWZpbmVkIChyZXN1bHQgb2YgZXhwcmVzc2lvbiBTdHJpbmcu
c3BsaXQpIGlzIG5vdCBvYmplY3QuPGJyPgogPC90dD48YnI+CiA8L2RsPgogWyA8YSBocmVmPScj
dGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gfCA8YSBocmVmPScjZmFpbF9kZXRhaWwnPlRvcCBv
ZiBGYWlsdXJlczwvYT4gXTxicj4KQEAgLTEwMzcsOSArNzUzLDkgQEAgQ29tcGxldGUgdGVzdGNh
c2Ugb3V0cHV0IHdhczo8YnI+CiA8cHJlPgogPGEgbmFtZT0ncmV0ZXN0X2xpc3QnPjwvYT4KIDxo
Mj5SZXRlc3QgTGlzdDwvaDI+PGJyPgotIyBSZXRlc3QgTGlzdCwga2pzLCBnZW5lcmF0ZWQgVGh1
IERlYyAgNyAxOTowNjozMCAyMDA2LgorIyBSZXRlc3QgTGlzdCwga2pzLCBnZW5lcmF0ZWQgRnJp
IERlYyAyOSAwODowMToxMSAyMDA2LgogIyBPcmlnaW5hbCB0ZXN0IGJhc2Ugd2FzOiBBbGwgdGVz
dHMuCi0jIDExMjcgb2YgMTEzNSB0ZXN0KHMpIHdlcmUgY29tcGxldGVkLCA3MCBmYWlsdXJlcyBy
ZXBvcnRlZC4KKyMgMTEyNyBvZiAxMTM1IHRlc3Qocykgd2VyZSBjb21wbGV0ZWQsIDY4IGZhaWx1
cmVzIHJlcG9ydGVkLgogZWNtYS9HbG9iYWxPYmplY3QvMTUuMS4yLjItMi5qcwogZWNtYS9MZXhp
Y2FsQ29udmVudGlvbnMvNy43LjMtMS5qcwogZWNtYS9UeXBlQ29udmVyc2lvbi85LjMuMS0zLmpz
CkBAIC0xMDQ5LDEyICs3NjUsMTAgQEAgZWNtYV8yL1JlZ0V4cC91bmljb2RlLTAwMS5qcwogZWNt
YV8zL0RhdGUvMTUuOS41LjcuanMKIGVjbWFfMy9GdW5FeHByL2ZlLTAwMS5qcwogZWNtYV8zL1Jl
Z0V4cC8xNS4xMC4yLTEuanMKLWVjbWFfMy9SZWdFeHAvb2N0YWwtMDAyLmpzCiBlY21hXzMvUmVn
RXhwL3BlcmxzdHJlc3MtMDAxLmpzCiBlY21hXzMvUmVnRXhwL3BlcmxzdHJlc3MtMDAyLmpzCiBl
Y21hXzMvUmVnRXhwL3JlZ3Jlc3MtNzI5NjQuanMKIGVjbWFfMy9SZWdFeHAvcmVncmVzcy03ODE1
Ni5qcwotZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTg1NzIxLmpzCiBlY21hXzMvUmVnRXhwL3JlZ3Jl
c3MtMTAwMTk5LmpzCiBlY21hXzMvUmVnRXhwL3JlZ3Jlc3MtMTg4MjA2LmpzCiBlY21hXzMvUmVn
RXhwL3JlZ3Jlc3MtMjA5OTE5LmpzCkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg0NTcpCisrKyBXZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDA2LTEyLTI5ICBNaXR6IFBl
dHRlbCAgPG1pdHpAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAtIFdlYkNvcmUgY2hhbmdlcyBmb3IgaHR0cDovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NDkKKyAgICAgICAgICBSRUdSRVNTSU9OIChyMTgxODIp
OiBHb29nbGUgQ2FsZW5kYXIgaXMgYnJva2VuIChhIHJlZ3VsYXIgZXhwcmVzc2lvbiBjb250YWlu
aW5nIGEgbnVsbCBjaGFyYWN0ZXIgaXMgbm90IHBhcnNlZCBjb3JyZWN0bHkpCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9SZWd1bGFyRXhwcmVzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWd1
bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZTo6Y29tcGlsZSk6IENoYW5nZWQgdG8gbm90IG51bGwtdGVy
bWluYXRlCisgICAgICAgIHRoZSBwYXR0ZXJuIHN0cmluZyBhbmQgaW5zdGVhZCBwYXNzIGl0cyBs
ZW5ndGggdG8gcGNyZV9jb21waWxlLgorCiAyMDA2LTEyLTI4ICBNaXR6IFBldHRlbCAgPG1pdHpA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbi4KSW5kZXg6IFdlYkNvcmUv
cGxhdGZvcm0vUmVndWxhckV4cHJlc3Npb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxh
dGZvcm0vUmVndWxhckV4cHJlc3Npb24uY3BwCShyZXZpc2lvbiAxODQ1NykKKysrIFdlYkNvcmUv
cGxhdGZvcm0vUmVndWxhckV4cHJlc3Npb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMsOSAr
MTAzLDcgQEAgdm9pZCBSZWd1bGFyRXhwcmVzc2lvbjo6UHJpdmF0ZTo6Y29tcGlsZQogICAgIAog
ICAgIGNvbnN0IGNoYXIgKmVycm9yTWVzc2FnZTsKICAgICBpbnQgZXJyb3JPZmZzZXQ7Ci0gICAg
Y2hhciBudWxsID0gMDsKLSAgICBwLmFwcGVuZChudWxsKTsKLSAgICByZWdleCA9IHBjcmVfY29t
cGlsZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQxNl90ICo+KHAudW5pY29kZSgpKSwgY2Fz
ZVNlbnNpdGl2ZSA/IDAgOiBQQ1JFX0NBU0VMRVNTLCAmZXJyb3JNZXNzYWdlLCAmZXJyb3JPZmZz
ZXQsIE5VTEwpOworICAgIHJlZ2V4ID0gcGNyZV9jb21waWxlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgdWludDE2X3QgKj4ocC51bmljb2RlKCkpLCBwLmxlbmd0aCgpLCBjYXNlU2Vuc2l0aXZlID8g
MCA6IFBDUkVfQ0FTRUxFU1MsICZlcnJvck1lc3NhZ2UsICZlcnJvck9mZnNldCwgTlVMTCk7CiAg
ICAgaWYgKHJlZ2V4ID09IE5VTEwpIHsKICAgICAgICAgTE9HX0VSUk9SKCJSZWd1bGFyRXhwcmVz
c2lvbjogcGNyZV9jb21waWxlIGZhaWxlZCB3aXRoICclcyciLCBlcnJvck1lc3NhZ2UpOwogICAg
IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>12112</attachid>
            <date>2006-12-29 13:55:52 -0800</date>
            <delta_ts>2006-12-29 13:55:52 -0800</delta_ts>
            <desc>regexp-parsing-performance.js</desc>
            <filename>regexp-parsing-performance.js</filename>
            <type>text/plain</type>
            <size>230</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">dmFyIHN0YXJ0ID0gbmV3IERhdGUoKTsKCmZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDA7IGkrKykg
ewogICAgdmFyIHIgPSAvW2Etel0qW0EtWl0qKGFiYykqW2Etel0qW0EtWl0qKGFiYykqW2Etel0q
W0EtWl0qKGFiYykqW2Etel0qW0EtWl0qKGFiYykqW2Etel0qW0EtWl0qKGFiYykqLzsKfQoKdmFy
IGVuZCA9IG5ldyBEYXRlKCk7CnByaW50KGVuZC52YWx1ZU9mKCkgLSBzdGFydC52YWx1ZU9mKCkp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12144</attachid>
            <date>2007-01-01 08:55:07 -0800</date>
            <delta_ts>2007-01-01 19:42:40 -0800</delta_ts>
            <desc>Change pcre_compile to take the pattern&apos;s length and work with patterns containing null characters</desc>
            <filename>11849_pcre_r7.patch</filename>
            <type>text/plain</type>
            <size>117629</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NTAyKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzQgQEAKKzIwMDctMDEtMDEgIE1pdHogUGV0
dGVsICA8bWl0ekB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIC0gZml4IGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExODQ5CisgICAgICAgICAgUkVHUkVTU0lPTiAocjE4MTgyKTogR29vZ2xlIENhbGVuZGFy
IGlzIGJyb2tlbiAoYSByZWd1bGFyIGV4cHJlc3Npb24gY29udGFpbmluZyBhIG51bGwgY2hhcmFj
dGVyIGlzIG5vdCBwYXJzZWQgY29ycmVjdGx5KQorCisgICAgICAgIE1vZGlmaWVkIHBjcmVfY29t
cGlsZSgpIChhbmQgdGhlIGZ1bmN0aW9ucyB0aGF0IGl0IGNhbGxzKSB0byB3b3JrIHdpdGggcGF0
dGVybnMKKyAgICAgICAgY29udGFpbmluZyBudWxsIGNoYXJhY3RlcnMuCisKKyAgICAgICAgQ292
ZXJlZCBieSBKYXZhU2NyaXB0Q29yZSB0ZXN0cyBlY21hXzMvUmVnRXhwL29jdGFsLTAwMi5qcyBh
bmQgZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTg1NzIxLmpzCisKKyAgICAgICAgKiBranMvcmVnZXhw
LmNwcDoKKyAgICAgICAgKEtKUzo6UmVnRXhwOjpSZWdFeHApOiBDaGFuZ2VkIHRvIG5vdCBudWxs
LXRlcm1pbmF0ZSB0aGUgcGF0dGVybiBzdHJpbmcgYW5kIGluc3RlYWQKKyAgICAgICAgcGFzcyBp
dHMgbGVuZ3RoIHRvIHBjcmVfY29tcGlsZS4KKyAgICAgICAgKiBwY3JlL3BjcmUuaDoKKyAgICAg
ICAgKiBwY3JlL3BjcmVfY29tcGlsZS5jOgorICAgICAgICAoY2hlY2tfZXNjYXBlKToKKyAgICAg
ICAgKGdldF91Y3ApOgorICAgICAgICAoaXNfY291bnRlZF9yZXBlYXQpOgorICAgICAgICAoY2hl
Y2tfcG9zaXhfc3ludGF4KToKKyAgICAgICAgKGNvbXBpbGVfYnJhbmNoKToKKyAgICAgICAgKGNv
bXBpbGVfcmVnZXgpOgorICAgICAgICAocGNyZV9jb21waWxlKTogQWRkZWQgYSBwYXJhbWV0ZXIg
c3BlY2lmeWluZyB0aGUgbGVuZ3RoIG9mIHRoZSBwYXR0ZXJuLCB3aGljaAorICAgICAgICBpcyBu
byBsb25nZXIgcmVxdWlyZWQgdG8gYmUgbnVsbC10ZXJtaW5hdGVkIGFuZCBtYXkgY29udGFpbiBu
dWxsIGNoYXJhY3RlcnMuIAorICAgICAgICAocGNyZV9jb21waWxlMik6CisgICAgICAgICogcGNy
ZS9wY3JlX2ludGVybmFsLmg6CisgICAgICAgICogdGVzdHMvbW96aWxsYS9leHBlY3RlZC5odG1s
OiBVcGRhdGVkIGZvciB0aGUgdHdvIHRlc3RzIHRoYXQgdGhpcyBwYXRjaAorICAgICAgICBmaXhl
cy4gQWxzbyB1cGRhdGVkIGZhaWxpbmcgcmVzdWx0cyBmb3IgZWNtYV8zL1JlZ0V4cC9yZWdyZXNz
LTEwMDE5OS5qcworICAgICAgICB3aGljaCB3ZXJlIG5vdCB1cGRhdGVkIGFmdGVyIGJ1ZyA2MjU3
IHdhcyBmaXhlZC4KKwogMjAwNi0xMi0zMSAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAd2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBHZW9mZi4KSW5kZXg6IEphdmFTY3JpcHRDb3Jl
L2tqcy9yZWdleHAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy9yZWdleHAu
Y3BwCShyZXZpc2lvbiAxODUwMikKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9yZWdleHAuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00NywxNSArNDcsMTIgQEAgUmVnRXhwOjpSZWdFeHAoY29uc3QgVVN0
cmluZyAmcCwgaW50IGZsYQogICBjb25zdCBjaGFyICplcnJvck1lc3NhZ2U7CiAgIGludCBlcnJv
ck9mZnNldDsKICAgCi0gIFVTdHJpbmcgcGF0dGVybihwKTsKLSAgCi0gIHBhdHRlcm4uYXBwZW5k
KCdcMCcpOwotICBtX3JlZ2V4ID0gcGNyZV9jb21waWxlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qg
dWludDE2X3QqPihwYXR0ZXJuLmRhdGEoKSksCisgIG1fcmVnZXggPSBwY3JlX2NvbXBpbGUocmVp
bnRlcnByZXRfY2FzdDxjb25zdCB1aW50MTZfdCo+KHAuZGF0YSgpKSwgcC5zaXplKCksCiAgICAg
ICAgICAgICAgICAgICAgICAgICBvcHRpb25zLCAmZXJyb3JNZXNzYWdlLCAmZXJyb3JPZmZzZXQs
IE5VTEwpOwogICBpZiAoIW1fcmVnZXgpIHsKICAgICAvLyBUcnkgYWdhaW4sIHRoaXMgdGltZSBo
YW5kbGUgYW55IFx1IHdlIG1pZ2h0IGZpbmQuCi0gICAgVVN0cmluZyB1UGF0dGVybiA9IHNhbml0
aXplUGF0dGVybihwYXR0ZXJuKTsKLSAgICBtX3JlZ2V4ID0gcGNyZV9jb21waWxlKHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgdWludDE2X3QqPih1UGF0dGVybi5kYXRhKCkpLAorICAgIFVTdHJpbmcg
dVBhdHRlcm4gPSBzYW5pdGl6ZVBhdHRlcm4ocCk7CisgICAgbV9yZWdleCA9IHBjcmVfY29tcGls
ZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQxNl90Kj4odVBhdHRlcm4uZGF0YSgpKSwgdVBh
dHRlcm4uc2l6ZSgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zLCAmZXJyb3JN
ZXNzYWdlLCAmZXJyb3JPZmZzZXQsIE5VTEwpOwogICAgIGlmICghbV9yZWdleCkgewogICAgICAg
bV9jb25zdHJ1Y3Rpb25FcnJvciA9IHN0cmR1cChlcnJvck1lc3NhZ2UpOwpJbmRleDogSmF2YVNj
cmlwdENvcmUvcGNyZS9wY3JlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvcGNyZS9w
Y3JlLmgJKHJldmlzaW9uIDE4NTAyKQorKysgSmF2YVNjcmlwdENvcmUvcGNyZS9wY3JlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTIzNyw5ICsyMzcsOSBAQCBQQ1JFX0RBVEFfU0NPUEUgaW50ICAgcGNy
ZV9jYWxsb3V0KHBjcmVfCiAKIC8qIEV4cG9ydGVkIFBDUkUgZnVuY3Rpb25zICovCiAKLVBDUkVf
REFUQV9TQ09QRSBwY3JlICpwY3JlX2NvbXBpbGUoY29uc3QgcGNyZV9jaGFyICosIGludCwgY29u
c3QgY2hhciAqKiwgaW50ICosCitQQ1JFX0RBVEFfU0NPUEUgcGNyZSAqcGNyZV9jb21waWxlKGNv
bnN0IHBjcmVfY2hhciAqLCBpbnQsIGludCwgY29uc3QgY2hhciAqKiwgaW50ICosCiAgICAgICAg
ICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICopOwotUENSRV9EQVRBX1NDT1BFIHBjcmUg
KnBjcmVfY29tcGlsZTIoY29uc3QgcGNyZV9jaGFyICosIGludCwgaW50ICosIGNvbnN0IGNoYXIg
KiosCitQQ1JFX0RBVEFfU0NPUEUgcGNyZSAqcGNyZV9jb21waWxlMihjb25zdCBwY3JlX2NoYXIg
KiwgaW50LCBpbnQsIGludCAqLCBjb25zdCBjaGFyICoqLAogICAgICAgICAgICAgICAgICAgaW50
ICosIGNvbnN0IHVuc2lnbmVkIGNoYXIgKik7CiBQQ1JFX0RBVEFfU0NPUEUgaW50ICBwY3JlX2Nv
bmZpZyhpbnQsIHZvaWQgKik7CiBQQ1JFX0RBVEFfU0NPUEUgaW50ICBwY3JlX2NvcHlfbmFtZWRf
c3Vic3RyaW5nKGNvbnN0IHBjcmUgKiwgY29uc3QgcGNyZV9jaGFyICosCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS9wY3JlL3BjcmVfY29tcGlsZS5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3Jl
L3BjcmUvcGNyZV9jb21waWxlLmMJKHJldmlzaW9uIDE4NTAyKQorKysgSmF2YVNjcmlwdENvcmUv
cGNyZS9wY3JlX2NvbXBpbGUuYwkod29ya2luZyBjb3B5KQpAQCAtMzU1LDcgKzM1NSw3IEBAIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGViY2RpY19jaGFydGEKIC8qIERlZmluaXRpb24gdG8g
YWxsb3cgbXV0dWFsIHJlY3Vyc2lvbiAqLwogCiBzdGF0aWMgQk9PTAotICBjb21waWxlX3JlZ2V4
KGludCwgaW50LCBpbnQgKiwgdXNjaGFyICoqLCBjb25zdCBwY3JlX3VjaGFyICoqLCBpbnQgKiwg
Qk9PTCwgaW50LAorICBjb21waWxlX3JlZ2V4KGludCwgaW50LCBpbnQgKiwgdXNjaGFyICoqLCBj
b25zdCBwY3JlX3VjaGFyICoqLCBjb25zdCBwY3JlX3VjaGFyIGNvbnN0KiwgaW50ICosIEJPT0ws
IGludCwKICAgICBpbnQgKiwgaW50ICosIGJyYW5jaF9jaGFpbiAqLCBjb21waWxlX2RhdGEgKik7
CiAKIApAQCAtMzgzLDcgKzM4Myw3IEBAIFJldHVybnM6ICAgICAgICAgemVybyBvciBwb3NpdGl2
ZSA9PiBhIGQKICovCiAKIHN0YXRpYyBpbnQKLWNoZWNrX2VzY2FwZShjb25zdCBwY3JlX3VjaGFy
ICoqcHRycHRyLCBpbnQgKmVycm9yY29kZXB0ciwgaW50IGJyYWNvdW50LAorY2hlY2tfZXNjYXBl
KGNvbnN0IHBjcmVfdWNoYXIgKipwdHJwdHIsIGNvbnN0IHBjcmVfdWNoYXIgY29uc3QqIHBhdHRl
cm5FbmQsIGludCAqZXJyb3Jjb2RlcHRyLCBpbnQgYnJhY291bnQsCiAgIGludCBvcHRpb25zLCBC
T09MIGlzY2xhc3MpCiB7CiBjb25zdCBwY3JlX3VjaGFyICpwdHIgPSAqcHRycHRyOwpAQCAtMzkx
LDE5ICszOTEsMjQgQEAgaW50IGMsIGk7CiAKIC8qIElmIGJhY2tzbGFzaCBpcyBhdCB0aGUgZW5k
IG9mIHRoZSBwYXR0ZXJuLCBpdCdzIGFuIGVycm9yLiAqLwogCi1jID0gKigrK3B0cik7Ci1pZiAo
YyA9PSAwKSAqZXJyb3Jjb2RlcHRyID0gRVJSMTsKK2lmICgrK3B0ciA9PSBwYXR0ZXJuRW5kKSB7
CisgICAgKmVycm9yY29kZXB0ciA9IEVSUjE7CisgICAgKnB0cnB0ciA9IHB0cjsKKyAgICByZXR1
cm4gMDsKK30KKworYyA9ICpwdHI7CiAKIC8qIE5vbi1hbHBoYW1lcmljcyBhcmUgbGl0ZXJhbHMu
IEZvciBkaWdpdHMgb3IgbGV0dGVycywgZG8gYW4gaW5pdGlhbCBsb29rdXAgaW4KIGEgdGFibGUu
IEEgbm9uLXplcm8gcmVzdWx0IGlzIHNvbWV0aGluZyB0aGF0IGNhbiBiZSByZXR1cm5lZCBpbW1l
ZGlhdGVseS4KIE90aGVyd2lzZSBmdXJ0aGVyIHByb2Nlc3NpbmcgbWF5IGJlIHJlcXVpcmVkLiAq
LwogCiAjaWYgIUVCQ0RJQyAgICAvKiBBU0NJSSBjb2RpbmcgKi8KLWVsc2UgaWYgKGMgPCAnMCcg
fHwgYyA+ICd6Jykge30gICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBOb3QgYWxwaGFtZXJp
YyAqLworaWYgKGMgPCAnMCcgfHwgYyA+ICd6Jykge30gICAgICAgICAgICAgICAgICAgICAgICAg
ICAvKiBOb3QgYWxwaGFtZXJpYyAqLwogZWxzZSBpZiAoKGkgPSBlc2NhcGVzW2MgLSAnMCddKSAh
PSAwKSBjID0gaTsKIAogI2Vsc2UgICAgICAgICAgLyogRUJDRElDIGNvZGluZyAqLwotZWxzZSBp
ZiAoYyA8ICdhJyB8fCAoZWJjZGljX2NoYXJ0YWJbY10gJiAweDBFKSA9PSAwKSB7fSAgIC8qIE5v
dCBhbHBoYW1lcmljICovCitpZiAoYyA8ICdhJyB8fCAoZWJjZGljX2NoYXJ0YWJbY10gJiAweDBF
KSA9PSAwKSB7fSAgIC8qIE5vdCBhbHBoYW1lcmljICovCiBlbHNlIGlmICgoaSA9IGVzY2FwZXNb
YyAtIDB4NDhdKSAhPSAwKSAgYyA9IGk7CiAjZW5kaWYKIApAQCAtNDQ0LDcgKzQ0OSw3IEBAIGVs
c2UKICAgICAgIHsKICAgICAgIG9sZHB0ciA9IHB0cjsKICAgICAgIGMgLT0gJzAnOwotICAgICAg
d2hpbGUgKChESUdJVEFCKHB0clsxXSkgJiBjdHlwZV9kaWdpdCkgIT0gMCkKKyAgICAgIHdoaWxl
IChwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiAoRElHSVRBQihwdHJbMV0pICYgY3R5cGVfZGlnaXQp
ICE9IDApCiAgICAgICAgIGMgPSBjICogMTAgKyAqKCsrcHRyKSAtICcwJzsKICAgICAgIGlmIChj
IDwgMTAgfHwgYyA8PSBicmFjb3VudCkKICAgICAgICAgewpAQCAtNDcwLDcgKzQ3NSw3IEBAIGVs
c2UKIAogICAgIGNhc2UgJzAnOgogICAgIGMgLT0gJzAnOwotICAgIHdoaWxlKGkrKyA8IDIgJiYg
cHRyWzFdID49ICcwJyAmJiBwdHJbMV0gPD0gJzcnKQorICAgIHdoaWxlIChpKysgPCAyICYmIHB0
ciArIDEgPCBwYXR0ZXJuRW5kICYmIHB0clsxXSA+PSAnMCcgJiYgcHRyWzFdIDw9ICc3JykKICAg
ICAgICAgYyA9IGMgKiA4ICsgKigrK3B0cikgLSAnMCc7CiAgICAgYyAmPSAyNTU7ICAgICAvKiBU
YWtlIGxlYXN0IHNpZ25pZmljYW50IDggYml0cyAqLwogICAgIGJyZWFrOwpAQCAtNDgwLDEyICs0
ODUsMTIgQEAgZWxzZQogCiAgICAgY2FzZSAneCc6CiAjaWZkZWYgU1VQUE9SVF9VVEY4Ci0gICAg
aWYgKHB0clsxXSA9PSAneycgJiYgKG9wdGlvbnMgJiBQQ1JFX1VURjgpICE9IDApCisgICAgaWYg
KHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIHB0clsxXSA9PSAneycgJiYgKG9wdGlvbnMgJiBQQ1JF
X1VURjgpICE9IDApCiAgICAgICB7CiAgICAgICBjb25zdCBwY3JlX3VjaGFyICpwdCA9IHB0ciAr
IDI7CiAgICAgICByZWdpc3RlciBpbnQgY291bnQgPSAwOwogICAgICAgYyA9IDA7Ci0gICAgICB3
aGlsZSAoKERJR0lUQUIoKnB0KSAmIGN0eXBlX3hkaWdpdCkgIT0gMCkKKyAgICAgIHdoaWxlIChw
dCA8IHBhdHRlcm5FbmQgJiYgKERJR0lUQUIoKnB0KSAmIGN0eXBlX3hkaWdpdCkgIT0gMCkKICAg
ICAgICAgewogICAgICAgICBpbnQgY2MgPSAqcHQrKzsKICAgICAgICAgY291bnQrKzsKQEAgLTQ5
Nyw3ICs1MDIsNyBAQCBlbHNlCiAgICAgICAgIGMgPSBjICogMTYgKyBjYyAtICgoY2MgPj0gJzAn
KT8gJzAnIDogKCdBJyAtIDEwKSk7CiAjZW5kaWYKICAgICAgICAgfQotICAgICAgaWYgKCpwdCA9
PSAnfScpCisgICAgICBpZiAocHQgPCBwYXR0ZXJuRW5kICYmICpwdCA9PSAnfScpCiAgICAgICAg
IHsKICAgICAgICAgaWYgKGMgPCAwIHx8IGNvdW50ID4gOCB8fCAoYyA+PSAweGQ4MDAgJiYgYyA8
PSAweGRiZmYpIHx8IChjID49IDB4ZmRkMCAmJiBjIDw9IDB4ZmRlZikgfHwgYyA9PSAweGZmZmUg
fHwgYyA9PSAweGZmZmYgfHwgYyA+IDB4MTBGRkZGKSAqZXJyb3Jjb2RlcHRyID0gRVJSMzQ7CiAg
ICAgICAgIHB0ciA9IHB0OwpAQCAtNTExLDcgKzUxNiw3IEBAIGVsc2UKICAgICAvKiBSZWFkIGp1
c3QgYSBzaW5nbGUgaGV4IGNoYXIgKi8KIAogICAgIGMgPSAwOwotICAgIHdoaWxlIChpKysgPCAy
ICYmIChESUdJVEFCKHB0clsxXSkgJiBjdHlwZV94ZGlnaXQpICE9IDApCisgICAgd2hpbGUgKGkr
KyA8IDIgJiYgcHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgKERJR0lUQUIocHRyWzFdKSAmIGN0eXBl
X3hkaWdpdCkgIT0gMCkKICAgICAgIHsKICAgICAgIGludCBjYzsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLyogU29tZSBjb21waWxlcnMgZG9uJ3QgbGlrZSArKyAqLwogICAgICAgY2Mg
PSAqKCsrcHRyKTsgICAgICAgICAgICAgICAgICAgICAgICAvKiBpbiBpbml0aWFsaXplcnMgKi8K
QEAgLTUyOCwxMiArNTMzLDEyIEBAIGVsc2UKICAgICAvKiBPdGhlciBzcGVjaWFsIGVzY2FwZXMg
bm90IHN0YXJ0aW5nIHdpdGggYSBkaWdpdCBhcmUgc3RyYWlnaHRmb3J3YXJkICovCiAKICAgICBj
YXNlICdjJzoKLSAgICBjID0gKigrK3B0cik7Ci0gICAgaWYgKGMgPT0gMCkKKyAgICBpZiAoKytw
dHIgPT0gcGF0dGVybkVuZCkKICAgICAgIHsKICAgICAgICplcnJvcmNvZGVwdHIgPSBFUlIyOwog
ICAgICAgcmV0dXJuIDA7CiAgICAgICB9CisgICAgYyA9ICpwdHI7CiAKICAgICAvKiBBIGxldHRl
ciBpcyB1cHBlci1jYXNlZDsgdGhlbiB0aGUgMHg0MCBiaXQgaXMgZmxpcHBlZC4gVGhpcyBjb2Rp
bmcKICAgICBpcyBBU0NJSS1zcGVjaWZpYywgYnV0IHRoZW4gdGhlIHdob2xlIGNvbmNlcHQgb2Yg
XGN4IGlzIEFTQ0lJLXNwZWNpZmljLgpAQCAtNTkwLDE0ICs1OTUsMTQgQEAgUmV0dXJuczogICAg
IHZhbHVlIGZyb20gdWNwX3R5cGVfdGFibGUsIAogKi8KIAogc3RhdGljIGludAotZ2V0X3VjcChj
b25zdCBwY3JlX3VjaGFyICoqcHRycHRyLCBCT09MICpuZWdwdHIsIGludCAqZXJyb3Jjb2RlcHRy
KQorZ2V0X3VjcChjb25zdCBwY3JlX3VjaGFyICoqcHRycHRyLCBjb25zdCBwY3JlX3VjaGFyIGNv
bnN0KiBwYXR0ZXJuRW5kLCBCT09MICpuZWdwdHIsIGludCAqZXJyb3Jjb2RlcHRyKQogewogaW50
IGMsIGksIGJvdCwgdG9wOwogY29uc3QgcGNyZV91Y2hhciAqcHRyID0gKnB0cnB0cjsKIGNoYXIg
bmFtZVs0XTsKIAotYyA9ICooKytwdHIpOwotaWYgKGMgPT0gMCkgZ290byBFUlJPUl9SRVRVUk47
CitpZiAoKytwdHIgPT0gcGF0dGVybkVuZCkgZ290byBFUlJPUl9SRVRVUk47CitjID0gKnB0cjsK
IAogKm5lZ3B0ciA9IEZBTFNFOwogCkBAIC02MDYsMjIgKzYxMSwyMyBAQCBwcmVjZWRlZCBieSBe
IGZvciBuZWdhdGlvbi4gKi8KIAogaWYgKGMgPT0gJ3snKQogICB7Ci0gIGlmIChwdHJbMV0gPT0g
J14nKQorICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICdeJykKICAgICB7
CiAgICAgKm5lZ3B0ciA9IFRSVUU7CiAgICAgcHRyKys7CiAgICAgfQogICBmb3IgKGkgPSAwOyBp
IDw9IDI7IGkrKykKICAgICB7Ci0gICAgYyA9ICooKytwdHIpOwotICAgIGlmIChjID09IDApIGdv
dG8gRVJST1JfUkVUVVJOOworICAgIGlmICgrK3B0ciA9PSBwYXR0ZXJuRW5kKSBnb3RvIEVSUk9S
X1JFVFVSTjsKKyAgICBjID0gKnB0cjsKICAgICBpZiAoYyA9PSAnfScpIGJyZWFrOwogICAgIGlm
IChjID4gMTI3KSBnb3RvIEVSUk9SX1JFVFVSTjsKICAgICBuYW1lW2ldID0gYzsKICAgICB9CiAg
IGlmIChjICE9J30nKSAgIC8qIFRyeSB0byBkaXN0aW5ndWlzaCBlcnJvciBjYXNlcyAqLwogICAg
IHsKLSAgICB3aGlsZSAoKigrK3B0cikgIT0gMCAmJiAqcHRyICE9ICd9Jyk7CisgICAgd2hpbGUg
KCsrcHRyIDwgcGF0dGVybkVuZCAmJiAqcHRyICE9ICd9JykKKyAgICAgICAgOwogICAgIGlmICgq
cHRyID09ICd9JykgZ290byBVTktOT1dOX1JFVFVSTjsgZWxzZSBnb3RvIEVSUk9SX1JFVFVSTjsK
ICAgICB9CiAgIG5hbWVbaV0gPSAwOwpAQCAtNjgyLDIxICs2ODgsMjggQEAgUmV0dXJuczogICAg
VFJVRSBvciBGQUxTRQogKi8KIAogc3RhdGljIEJPT0wKLWlzX2NvdW50ZWRfcmVwZWF0KGNvbnN0
IHBjcmVfdWNoYXIgKnApCitpc19jb3VudGVkX3JlcGVhdChjb25zdCBwY3JlX3VjaGFyICpwLCBj
b25zdCBwY3JlX3VjaGFyIGNvbnN0KiBwYXR0ZXJuRW5kKQogewotaWYgKChESUdJVEFCKCpwKSAm
IGN0eXBlX2RpZ2l0KSA9PSAwKSByZXR1cm4gRkFMU0U7CitpZiAocCA+PSBwYXR0ZXJuRW5kIHx8
IChESUdJVEFCKCpwKSAmIGN0eXBlX2RpZ2l0KSA9PSAwKQorICAgIHJldHVybiBGQUxTRTsKIHAr
KzsKLXdoaWxlICgoRElHSVRBQigqcCkgJiBjdHlwZV9kaWdpdCkgIT0gMCkgcCsrOwotaWYgKCpw
ID09ICd9JykgcmV0dXJuIFRSVUU7Cit3aGlsZSAocCA8IHBhdHRlcm5FbmQgJiYgKERJR0lUQUIo
KnApICYgY3R5cGVfZGlnaXQpICE9IDApCisgICAgcCsrOworaWYgKHAgPCBwYXR0ZXJuRW5kICYm
ICpwID09ICd9JykKKyAgICByZXR1cm4gVFJVRTsKIAotaWYgKCpwKysgIT0gJywnKSByZXR1cm4g
RkFMU0U7Ci1pZiAoKnAgPT0gJ30nKSByZXR1cm4gVFJVRTsKK2lmIChwID49IHBhdHRlcm5FbmQg
fHwgKnArKyAhPSAnLCcpCisgICAgcmV0dXJuIEZBTFNFOworaWYgKHAgPCBwYXR0ZXJuRW5kICYm
ICpwID09ICd9JykKKyAgICByZXR1cm4gVFJVRTsKIAotaWYgKChESUdJVEFCKCpwKSAmIGN0eXBl
X2RpZ2l0KSA9PSAwKSByZXR1cm4gRkFMU0U7CitpZiAocCA+PSBwYXR0ZXJuRW5kIHx8IChESUdJ
VEFCKCpwKSAmIGN0eXBlX2RpZ2l0KSA9PSAwKQorICAgIHJldHVybiBGQUxTRTsKIHArKzsKLXdo
aWxlICgoRElHSVRBQigqcCkgJiBjdHlwZV9kaWdpdCkgIT0gMCkgcCsrOword2hpbGUgKHAgPCBw
YXR0ZXJuRW5kICYmIChESUdJVEFCKCpwKSAmIGN0eXBlX2RpZ2l0KSAhPSAwKQorICAgIHArKzsK
IAotcmV0dXJuICgqcCA9PSAnfScpOworcmV0dXJuIChwIDwgcGF0dGVybkVuZCAmJiAqcCA9PSAn
fScpOwogfQogCiAKQEAgLTEzNTksMTMgKzEzNzIsMTQgQEAgUmV0dXJuczogICBUUlVFIG9yIEZB
TFNFCiAqLwogCiBzdGF0aWMgQk9PTAotY2hlY2tfcG9zaXhfc3ludGF4KGNvbnN0IHBjcmVfdWNo
YXIgKnB0ciwgY29uc3QgcGNyZV91Y2hhciAqKmVuZHB0ciwgY29tcGlsZV9kYXRhICpjZCkKK2No
ZWNrX3Bvc2l4X3N5bnRheChjb25zdCBwY3JlX3VjaGFyICpwdHIsIGNvbnN0IHBjcmVfdWNoYXIg
Y29uc3QgKnBhdHRlcm5FbmQsIGNvbnN0IHBjcmVfdWNoYXIgKiplbmRwdHIsIGNvbXBpbGVfZGF0
YSAqY2QpCiB7CiBpbnQgdGVybWluYXRvcjsgICAgICAgICAgLyogRG9uJ3QgY29tYmluZSB0aGVz
ZSBsaW5lczsgdGhlIFNvbGFyaXMgY2MgKi8KIHRlcm1pbmF0b3IgPSAqKCsrcHRyKTsgICAvKiBj
b21waWxlciB3YXJucyBhYm91dCAibm9uLWNvbnN0YW50IiBpbml0aWFsaXplci4gKi8KIGlmICgq
KCsrcHRyKSA9PSAnXicpIHB0cisrOwotd2hpbGUgKChDVFlQRVMoY2QsICpwdHIpICYgY3R5cGVf
bGV0dGVyKSAhPSAwKSBwdHIrKzsKLWlmICgqcHRyID09IHRlcm1pbmF0b3IgJiYgcHRyWzFdID09
ICddJykKK3doaWxlIChwdHIgPCBwYXR0ZXJuRW5kICYmIChDVFlQRVMoY2QsICpwdHIpICYgY3R5
cGVfbGV0dGVyKSAhPSAwKQorICAgIHB0cisrOworaWYgKHB0ciArIDEgPCBwYXR0ZXJuRW5kICYm
ICpwdHIgPT0gdGVybWluYXRvciAmJiBwdHJbMV0gPT0gJ10nKQogICB7CiAgICplbmRwdHIgPSBw
dHI7CiAgIHJldHVybiBUUlVFOwpAQCAtMTU4NSw3ICsxNTk5LDcgQEAgUmV0dXJuczogICAgICAg
ICBUUlVFIG9uIHN1Y2Nlc3MKIAogc3RhdGljIEJPT0wKIGNvbXBpbGVfYnJhbmNoKGludCAqb3B0
aW9uc3B0ciwgaW50ICpicmFja2V0cywgdXNjaGFyICoqY29kZXB0ciwKLSAgY29uc3QgcGNyZV91
Y2hhciAqKnB0cnB0ciwgaW50ICplcnJvcmNvZGVwdHIsIGludCAqZmlyc3RieXRlcHRyLAorICBj
b25zdCBwY3JlX3VjaGFyICoqcHRycHRyLCBjb25zdCBwY3JlX3VjaGFyIGNvbnN0KiBwYXR0ZXJu
RW5kLCBpbnQgKmVycm9yY29kZXB0ciwgaW50ICpmaXJzdGJ5dGVwdHIsCiAgIGludCAqcmVxYnl0
ZXB0ciwgYnJhbmNoX2NoYWluICpiY3B0ciwgY29tcGlsZV9kYXRhICpjZCkKIHsKIGludCByZXBl
YXRfdHlwZSwgb3BfdHlwZTsKQEAgLTE2NjEsMTMgKzE2NzUsMTMgQEAgZm9yICg7OyBwdHIrKykK
IAogICAvKiBOZXh0IGJ5dGUgaW4gdGhlIHBhdHRlcm4gKi8KIAotICBjID0gKnB0cjsKKyAgYyA9
IHB0ciA8IHBhdHRlcm5FbmQgPyAqcHRyIDogMDsKIAogICAvKiBJZiBpbiBcUS4uLlxFLCBjaGVj
ayBmb3IgdGhlIGVuZDsgaWYgbm90LCB3ZSBoYXZlIGEgbGl0ZXJhbCAqLwogCi0gIGlmIChpbmVz
Y3EgJiYgYyAhPSAwKQorICBpZiAoaW5lc2NxICYmIHB0ciA8IHBhdHRlcm5FbmQpCiAgICAgewot
ICAgIGlmIChjID09ICdcXCcgJiYgcHRyWzFdID09ICdFJykKKyAgICBpZiAoYyA9PSAnXFwnICYm
IHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIHB0clsxXSA9PSAnRScpCiAgICAgICB7CiAgICAgICBp
bmVzY3EgPSBGQUxTRTsKICAgICAgIHB0cisrOwpAQCAtMTY5Myw3ICsxNzA3LDcgQEAgZm9yICg7
OyBwdHIrKykKICAgYSBxdWFudGlmaWVyLiAqLwogCiAgIGlzX3F1YW50aWZpZXIgPSBjID09ICcq
JyB8fCBjID09ICcrJyB8fCBjID09ICc/JyB8fAotICAgIChjID09ICd7JyAmJiBpc19jb3VudGVk
X3JlcGVhdChwdHIrMSkpOworICAgIChjID09ICd7JyAmJiBpc19jb3VudGVkX3JlcGVhdChwdHIr
MSwgcGF0dGVybkVuZCkpOwogCiAgIGlmICghaXNfcXVhbnRpZmllciAmJiBwcmV2aW91c19jYWxs
b3V0ICE9IE5VTEwgJiYKICAgICAgICBhZnRlcl9tYW51YWxfY2FsbG91dC0tIDw9IDApCkBAIC0x
NzExLDggKzE3MjUsMTEgQEAgZm9yICg7OyBwdHIrKykKICAgICAgIHsKICAgICAgIC8qIFRoZSBz
cGFjZSBiZWZvcmUgdGhlIDsgaXMgdG8gYXZvaWQgYSB3YXJuaW5nIG9uIGEgc2lsbHkgY29tcGls
ZXIKICAgICAgIG9uIHRoZSBNYWNpbnRvc2guICovCi0gICAgICB3aGlsZSAoKGMgPSAqKCsrcHRy
KSkgIT0gMCAmJiBjICE9IE5FV0xJTkUpIDsKLSAgICAgIGlmIChjICE9IDApIGNvbnRpbnVlOyAg
IC8qIEVsc2UgZmFsbCB0aHJvdWdoIHRvIGhhbmRsZSBlbmQgb2Ygc3RyaW5nICovCisgICAgICB3
aGlsZSAoKytwdHIgPCBwYXR0ZXJuRW5kICYmIChjID0gKnB0cikgIT0gTkVXTElORSkKKyAgICAg
ICAgICA7CisgICAgICBpZiAocHRyIDwgcGF0dGVybkVuZCkKKyAgICAgICAgICBjb250aW51ZTsg
ICAvKiBFbHNlIGZhbGwgdGhyb3VnaCB0byBoYW5kbGUgZW5kIG9mIHN0cmluZyAqLworICAgICAg
YyA9IDA7CiAgICAgICB9CiAgICAgfQogCkBAIC0xNzI5LDYgKzE3NDYsOSBAQCBmb3IgKDs7IHB0
cisrKQogICAgIC8qIFRoZSBicmFuY2ggdGVybWluYXRlcyBhdCBlbmQgb2Ygc3RyaW5nLCB8LCBv
ciApLiAqLwogCiAgICAgY2FzZSAwOgorICAgICAgICBpZiAocHRyIDwgcGF0dGVybkVuZCkKKyAg
ICAgICAgICAgIGdvdG8gTk9STUFMX0NIQVI7CisgICAgICAgIC8vIEVuZCBvZiBzdHJpbmc7IGZh
bGwgdGhyb3VnaAogICAgIGNhc2UgJ3wnOgogICAgIGNhc2UgJyknOgogICAgICpmaXJzdGJ5dGVw
dHIgPSBmaXJzdGJ5dGU7CkBAIC0xNzg0LDcgKzE4MDQsNyBAQCBmb3IgKDs7IHB0cisrKQogICAg
IHRoZXkgYXJlIGVuY291bnRlcmVkIGF0IHRoZSB0b3AgbGV2ZWwsIHNvIHdlJ2xsIGRvIHRoYXQg
dG9vLiAqLwogCiAgICAgaWYgKChwdHJbMV0gPT0gJzonIHx8IHB0clsxXSA9PSAnLicgfHwgcHRy
WzFdID09ICc9JykgJiYKLSAgICAgICAgY2hlY2tfcG9zaXhfc3ludGF4KHB0ciwgJnRlbXBwdHIs
IGNkKSkKKyAgICAgICAgY2hlY2tfcG9zaXhfc3ludGF4KHB0ciwgcGF0dGVybkVuZCwgJnRlbXBw
dHIsIGNkKSkKICAgICAgIHsKICAgICAgICplcnJvcmNvZGVwdHIgPSAocHRyWzFdID09ICc6Jyk/
IEVSUjEzIDogRVJSMzE7CiAgICAgICBnb3RvIEZBSUxFRDsKQEAgLTE4NTcsNyArMTg3Nyw3IEBA
IGZvciAoOzsgcHRyKyspCiAKICAgICAgIGlmIChjID09ICdbJyAmJgogICAgICAgICAgIChwdHJb
MV0gPT0gJzonIHx8IHB0clsxXSA9PSAnLicgfHwgcHRyWzFdID09ICc9JykgJiYKLSAgICAgICAg
ICBjaGVja19wb3NpeF9zeW50YXgocHRyLCAmdGVtcHB0ciwgY2QpKQorICAgICAgICAgIGNoZWNr
X3Bvc2l4X3N5bnRheChwdHIsIHBhdHRlcm5FbmQsICZ0ZW1wcHRyLCBjZCkpCiAgICAgICAgIHsK
ICAgICAgICAgQk9PTCBsb2NhbF9uZWdhdGUgPSBGQUxTRTsKICAgICAgICAgaW50IHBvc2l4X2Ns
YXNzLCBpLCBuYW1lbGVuOwpAQCAtMTg5OSw3ICsxOTE5LDcgQEAgZm9yICg7OyBwdHIrKykKICAg
ICAgICAgcG9zaXhfY2xhc3MgKj0gMzsKICAgICAgICAgZm9yIChpID0gMDsgaSA8IDM7IGkrKykK
ICAgICAgICAgICB7Ci0gICAgICAgICAgQk9PTCBibGFua2NsYXNzID0gU1RSRVFVQUwocHRyLCA1
LCAiYmxhbmsiKTsKKyAgICAgICAgICBCT09MIGJsYW5rY2xhc3MgPSBwdHIgKyA1IDw9IHBhdHRl
cm5FbmQgJiYgU1RSRVFVQUwocHRyLCA1LCAiYmxhbmsiKTsKICAgICAgICAgICBpbnQgdGFib2Zm
c2V0ID0gcG9zaXhfY2xhc3NfbWFwc1twb3NpeF9jbGFzcyArIGldOwogICAgICAgICAgIGlmICh0
YWJvZmZzZXQgPCAwKSBicmVhazsKICAgICAgICAgICBpZiAobG9jYWxfbmVnYXRlKQpAQCAtMTkz
MiwxMyArMTk1MiwxMyBAQCBmb3IgKDs7IHB0cisrKQogCiAgICAgICBpZiAoYyA9PSAnXFwnKQog
ICAgICAgICB7Ci0gICAgICAgIGMgPSBjaGVja19lc2NhcGUoJnB0ciwgZXJyb3Jjb2RlcHRyLCAq
YnJhY2tldHMsIG9wdGlvbnMsIFRSVUUpOworICAgICAgICBjID0gY2hlY2tfZXNjYXBlKCZwdHIs
IHBhdHRlcm5FbmQsIGVycm9yY29kZXB0ciwgKmJyYWNrZXRzLCBvcHRpb25zLCBUUlVFKTsKIAog
ICAgICAgICBpZiAoLWMgPT0gRVNDX2IpIGMgPSAnXGInOyAgICAgICAvKiBcYiBpcyBiYWNrc2xh
c2ggaW4gYSBjbGFzcyAqLwogICAgICAgICBlbHNlIGlmICgtYyA9PSBFU0NfWCkgYyA9ICdYJzsg
ICAvKiBcWCBpcyBsaXRlcmFsIFggaW4gYSBjbGFzcyAqLwogICAgICAgICBlbHNlIGlmICgtYyA9
PSBFU0NfUSkgICAgICAgICAgICAvKiBIYW5kbGUgc3RhcnQgb2YgcXVvdGVkIHN0cmluZyAqLwog
ICAgICAgICAgIHsKLSAgICAgICAgICBpZiAocHRyWzFdID09ICdcXCcgJiYgcHRyWzJdID09ICdF
JykKKyAgICAgICAgICBpZiAocHRyICsgMiA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICdcXCcg
JiYgcHRyWzJdID09ICdFJykKICAgICAgICAgICAgIHsKICAgICAgICAgICAgIHB0ciArPSAyOyAv
KiBhdm9pZCBlbXB0eSBzdHJpbmcgKi8KICAgICAgICAgICAgIH0KQEAgLTE5ODUsNyArMjAwNSw3
IEBAIGZvciAoOzsgcHRyKyspCiAgICAgICAgICAgICBjYXNlIEVTQ19QOgogICAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgIEJPT0wgbmVnYXRlZDsKLSAgICAgICAgICAgICAgaW50IHByb3Bl
cnR5ID0gZ2V0X3VjcCgmcHRyLCAmbmVnYXRlZCwgZXJyb3Jjb2RlcHRyKTsKKyAgICAgICAgICAg
ICAgaW50IHByb3BlcnR5ID0gZ2V0X3VjcCgmcHRyLCBwYXR0ZXJuRW5kLCAmbmVnYXRlZCwgZXJy
b3Jjb2RlcHRyKTsKICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5IDwgMCkgZ290byBGQUlMRUQ7
CiAgICAgICAgICAgICAgIGNsYXNzX3V0ZjggPSBUUlVFOwogICAgICAgICAgICAgICAqY2xhc3Nf
dXRmOGRhdGErKyA9ICgoLWMgPT0gRVNDX3ApICE9IG5lZ2F0ZWQpPwpAQCAtMjA0MSw3ICsyMDYx
LDcgQEAgZm9yICg7OyBwdHIrKykKICAgICAgICAgaWYgKGQgPT0gJ1xcJykKICAgICAgICAgICB7
CiAgICAgICAgICAgY29uc3QgcGNyZV91Y2hhciAqb2xkcHRyID0gcHRyOwotICAgICAgICAgIGQg
PSBjaGVja19lc2NhcGUoJnB0ciwgZXJyb3Jjb2RlcHRyLCAqYnJhY2tldHMsIG9wdGlvbnMsIFRS
VUUpOworICAgICAgICAgIGQgPSBjaGVja19lc2NhcGUoJnB0ciwgcGF0dGVybkVuZCwgZXJyb3Jj
b2RlcHRyLCAqYnJhY2tldHMsIG9wdGlvbnMsIFRSVUUpOwogCiAgICAgICAgICAgLyogXGIgaXMg
YmFja3NsYXNoOyBcWCBpcyBsaXRlcmFsIFg7IGFueSBvdGhlciBzcGVjaWFsIG1lYW5zIHRoZSAn
LScKICAgICAgICAgICB3YXMgbGl0ZXJhbCAqLwpAQCAtMjM3NSwxMyArMjM5NSwxMyBAQCBmb3Ig
KDs7IHB0cisrKQogICAgIGJ1dCBpZiBQQ1JFX1VOR1JFRURZIGlzIHNldCwgaXQgd29ya3MgdGhl
IG90aGVyIHdheSByb3VuZC4gV2UgY2hhbmdlIHRoZQogICAgIHJlcGVhdCB0eXBlIHRvIHRoZSBu
b24tZGVmYXVsdC4gKi8KIAotICAgIGlmIChwdHJbMV0gPT0gJysnKQorICAgIGlmIChwdHIgKyAx
IDwgcGF0dGVybkVuZCAmJiBwdHJbMV0gPT0gJysnKQogICAgICAgewogICAgICAgcmVwZWF0X3R5
cGUgPSAwOyAgICAgICAgICAgICAgICAgIC8qIEZvcmNlIGdyZWVkeSAqLwogICAgICAgcG9zc2Vz
c2l2ZV9xdWFudGlmaWVyID0gVFJVRTsKICAgICAgIHB0cisrOwogICAgICAgfQotICAgIGVsc2Ug
aWYgKHB0clsxXSA9PSAnPycpCisgICAgZWxzZSBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYg
cHRyWzFdID09ICc/JykKICAgICAgIHsKICAgICAgIHJlcGVhdF90eXBlID0gZ3JlZWR5X25vbl9k
ZWZhdWx0OwogICAgICAgcHRyKys7CkBAIC0zMTc2LDYgKzMxOTYsNyBAQCBmb3IgKDs7IHB0cisr
KQogICAgICAgICAgYnJhY2tldHMsICAgICAgICAgICAgICAgICAgICAgLyogRXh0cmFjdGluZyBi
cmFja2V0IGNvdW50ICovCiAgICAgICAgICAmdGVtcGNvZGUsICAgICAgICAgICAgICAgICAgICAv
KiBXaGVyZSB0byBwdXQgY29kZSAodXBkYXRlZCkgKi8KICAgICAgICAgICZwdHIsICAgICAgICAg
ICAgICAgICAgICAgICAgIC8qIElucHV0IHBvaW50ZXIgKHVwZGF0ZWQpICovCisgICAgICAgICBw
YXR0ZXJuRW5kLAogICAgICAgICAgZXJyb3Jjb2RlcHRyLCAgICAgICAgICAgICAgICAgLyogV2hl
cmUgdG8gcHV0IGFuIGVycm9yIG1lc3NhZ2UgKi8KICAgICAgICAgIChicmF2YWx1ZSA9PSBPUF9B
U1NFUlRCQUNLIHx8CiAgICAgICAgICAgYnJhdmFsdWUgPT0gT1BfQVNTRVJUQkFDS19OT1QpLCAv
KiBUUlVFIGlmIGJhY2sgYXNzZXJ0ICovCkBAIC0zMjc1LDcgKzMyOTYsNyBAQCBmb3IgKDs7IHB0
cisrKQogCiAgICAgLyogRXJyb3IgaWYgaGl0IGVuZCBvZiBwYXR0ZXJuICovCiAKLSAgICBpZiAo
KnB0ciAhPSAnKScpCisgICAgaWYgKHB0ciA+IHBhdHRlcm5FbmQgfHwgKnB0ciAhPSAnKScpCiAg
ICAgICB7CiAgICAgICAqZXJyb3Jjb2RlcHRyID0gRVJSMTQ7CiAgICAgICBnb3RvIEZBSUxFRDsK
QEAgLTMyODgsNyArMzMwOSw3IEBAIGZvciAoOzsgcHRyKyspCiAKICAgICBjYXNlICdcXCc6CiAg
ICAgdGVtcHB0ciA9IHB0cjsKLSAgICBjID0gY2hlY2tfZXNjYXBlKCZwdHIsIGVycm9yY29kZXB0
ciwgKmJyYWNrZXRzLCBvcHRpb25zLCBGQUxTRSk7CisgICAgYyA9IGNoZWNrX2VzY2FwZSgmcHRy
LCBwYXR0ZXJuRW5kLCBlcnJvcmNvZGVwdHIsICpicmFja2V0cywgb3B0aW9ucywgRkFMU0UpOwog
CiAgICAgLyogSGFuZGxlIG1ldGFjaGFyYWN0ZXJzIGludHJvZHVjZWQgYnkgXC4gRm9yIG9uZXMg
bGlrZSBcZCwgdGhlIEVTQ18gdmFsdWVzCiAgICAgYXJlIGFycmFuZ2VkIHRvIGJlIHRoZSBuZWdh
dGlvbiBvZiB0aGUgY29ycmVzcG9uZGluZyBPUF92YWx1ZXMuIEZvciB0aGUKQEAgLTMzMDEsNyAr
MzMyMiw3IEBAIGZvciAoOzsgcHRyKyspCiAgICAgICB7CiAgICAgICBpZiAoLWMgPT0gRVNDX1Ep
ICAgICAgICAgICAgLyogSGFuZGxlIHN0YXJ0IG9mIHF1b3RlZCBzdHJpbmcgKi8KICAgICAgICAg
ewotICAgICAgICBpZiAocHRyWzFdID09ICdcXCcgJiYgcHRyWzJdID09ICdFJykgcHRyICs9IDI7
IC8qIGF2b2lkIGVtcHR5IHN0cmluZyAqLworICAgICAgICBpZiAocHRyICsgMiA8IHBhdHRlcm5F
bmQgJiYgcHRyWzFdID09ICdcXCcgJiYgcHRyWzJdID09ICdFJykgcHRyICs9IDI7IC8qIGF2b2lk
IGVtcHR5IHN0cmluZyAqLwogICAgICAgICAgIGVsc2UgaW5lc2NxID0gVFJVRTsKICAgICAgICAg
Y29udGludWU7CiAgICAgICAgIH0KQEAgLTMzMzQsNyArMzM1NSw3IEBAIGZvciAoOzsgcHRyKysp
CiAgICAgICBlbHNlIGlmICgtYyA9PSBFU0NfUCB8fCAtYyA9PSBFU0NfcCkKICAgICAgICAgewog
ICAgICAgICBCT09MIG5lZ2F0ZWQ7Ci0gICAgICAgIGludCB2YWx1ZSA9IGdldF91Y3AoJnB0ciwg
Jm5lZ2F0ZWQsIGVycm9yY29kZXB0cik7CisgICAgICAgIGludCB2YWx1ZSA9IGdldF91Y3AoJnB0
ciwgcGF0dGVybkVuZCwgJm5lZ2F0ZWQsIGVycm9yY29kZXB0cik7CiAgICAgICAgIHByZXZpb3Vz
ID0gY29kZTsKICAgICAgICAgKmNvZGUrKyA9ICgoLWMgPT0gRVNDX3ApICE9IG5lZ2F0ZWQpPyBP
UF9QUk9QIDogT1BfTk9UUFJPUDsKICAgICAgICAgKmNvZGUrKyA9IHZhbHVlOwpAQCAtMzM5MCw3
ICszNDExLDcgQEAgZm9yICg7OyBwdHIrKykKICNpZmRlZiBTVVBQT1JUX1VURjgKICAgICBpZiAo
dXRmOCAmJiAoYyAmIDB4YzApID09IDB4YzApCiAgICAgICB7Ci0gICAgICB3aGlsZSAoKHB0clsx
XSAmIDB4YzApID09IDB4ODApCisgICAgICB3aGlsZSAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYg
KHB0clsxXSAmIDB4YzApID09IDB4ODApCiAgICAgICAgIG1jYnVmZmVyW21jbGVuZ3RoKytdID0g
KigrK3B0cik7CiAgICAgICB9CiAjZW5kaWYKQEAgLTM0ODMsNyArMzUwNCw3IEBAIFJldHVybnM6
ICAgICAgVFJVRSBvbiBzdWNjZXNzCiAKIHN0YXRpYyBCT09MCiBjb21waWxlX3JlZ2V4KGludCBv
cHRpb25zLCBpbnQgb2xkaW1zLCBpbnQgKmJyYWNrZXRzLCB1c2NoYXIgKipjb2RlcHRyLAotICBj
b25zdCBwY3JlX3VjaGFyICoqcHRycHRyLCBpbnQgKmVycm9yY29kZXB0ciwgQk9PTCBsb29rYmVo
aW5kLCBpbnQgc2tpcGJ5dGVzLAorICBjb25zdCBwY3JlX3VjaGFyICoqcHRycHRyLCBjb25zdCBw
Y3JlX3VjaGFyIGNvbnN0KiBwYXR0ZXJuRW5kLCBpbnQgKmVycm9yY29kZXB0ciwgQk9PTCBsb29r
YmVoaW5kLCBpbnQgc2tpcGJ5dGVzLAogICBpbnQgKmZpcnN0Ynl0ZXB0ciwgaW50ICpyZXFieXRl
cHRyLCBicmFuY2hfY2hhaW4gKmJjcHRyLCBjb21waWxlX2RhdGEgKmNkKQogewogY29uc3QgcGNy
ZV91Y2hhciAqcHRyID0gKnB0cnB0cjsKQEAgLTM1MjgsNyArMzU0OSw3IEBAIGZvciAoOzspCiAK
ICAgLyogTm93IGNvbXBpbGUgdGhlIGJyYW5jaCAqLwogCi0gIGlmICghY29tcGlsZV9icmFuY2go
Jm9wdGlvbnMsIGJyYWNrZXRzLCAmY29kZSwgJnB0ciwgZXJyb3Jjb2RlcHRyLAorICBpZiAoIWNv
bXBpbGVfYnJhbmNoKCZvcHRpb25zLCBicmFja2V0cywgJmNvZGUsICZwdHIsIHBhdHRlcm5FbmQs
IGVycm9yY29kZXB0ciwKICAgICAgICAgJmJyYW5jaGZpcnN0Ynl0ZSwgJmJyYW5jaHJlcWJ5dGUs
ICZiYywgY2QpKQogICAgIHsKICAgICAqcHRycHRyID0gcHRyOwpAQCAtMzYwMiw3ICszNjIzLDcg
QEAgZm9yICg7OykKICAgZm9sbG93aW5nLCBleGNlcHQgYXQgdGhlIHZlcnkgZW5kIG9mIHRoZSBw
YXR0ZXJuLiBSZXR1cm4gbGVhdmluZyB0aGUgcG9pbnRlcgogICBhdCB0aGUgdGVybWluYXRpbmcg
Y2hhci4gKi8KIAotICBpZiAoKnB0ciAhPSAnfCcpCisgIGlmIChwdHIgPj0gcGF0dGVybkVuZCB8
fCAqcHRyICE9ICd8JykKICAgICB7CiAgICAgaW50IGxlbmd0aCA9IElOVF9DQVNUKGNvZGUgLSBs
YXN0X2JyYW5jaCk7CiAgICAgZG8KQEAgLTM2MjIsNyArMzY0Myw3IEBAIGZvciAoOzspCiAKICAg
ICAvKiBSZXNldHRpbmcgb3B0aW9uIGlmIG5lZWRlZCAqLwogCi0gICAgaWYgKChvcHRpb25zICYg
UENSRV9JTVMpICE9IG9sZGltcyAmJiAqcHRyID09ICcpJykKKyAgICBpZiAoKG9wdGlvbnMgJiBQ
Q1JFX0lNUykgIT0gb2xkaW1zICYmIHB0ciA8IHBhdHRlcm5FbmQgJiYgKnB0ciA9PSAnKScpCiAg
ICAgICB7CiAgICAgICAqY29kZSsrID0gT1BfT1BUOwogICAgICAgKmNvZGUrKyA9IG9sZGltczsK
QEAgLTM5MDMsMTUgKzM5MjQsMTUgQEAgUmV0dXJuczogICAgICAgIHBvaW50ZXIgdG8gY29tcGls
ZWQgZGF0YQogKi8KIAogUENSRV9FWFBPUlQgcGNyZSAqCi1wY3JlX2NvbXBpbGUoY29uc3QgcGNy
ZV9jaGFyICpwYXR0ZXJuLCBpbnQgb3B0aW9ucywgY29uc3QgY2hhciAqKmVycm9ycHRyLAorcGNy
ZV9jb21waWxlKGNvbnN0IHBjcmVfY2hhciAqcGF0dGVybiwgaW50IHBhdHRlcm5MZW5ndGgsIGlu
dCBvcHRpb25zLCBjb25zdCBjaGFyICoqZXJyb3JwdHIsCiAgIGludCAqZXJyb3JvZmZzZXQsIGNv
bnN0IHVuc2lnbmVkIGNoYXIgKnRhYmxlcykKIHsKLXJldHVybiBwY3JlX2NvbXBpbGUyKHBhdHRl
cm4sIG9wdGlvbnMsIE5VTEwsIGVycm9ycHRyLCBlcnJvcm9mZnNldCwgdGFibGVzKTsKK3JldHVy
biBwY3JlX2NvbXBpbGUyKHBhdHRlcm4sIHBhdHRlcm5MZW5ndGgsIG9wdGlvbnMsIE5VTEwsIGVy
cm9ycHRyLCBlcnJvcm9mZnNldCwgdGFibGVzKTsKIH0KIAogCiBQQ1JFX0VYUE9SVCBwY3JlICoK
LXBjcmVfY29tcGlsZTIoY29uc3QgcGNyZV9jaGFyICpwYXR0ZXJuLCBpbnQgb3B0aW9ucywgaW50
ICplcnJvcmNvZGVwdHIsCitwY3JlX2NvbXBpbGUyKGNvbnN0IHBjcmVfY2hhciAqcGF0dGVybiwg
aW50IHBhdHRlcm5MZW5ndGgsIGludCBvcHRpb25zLCBpbnQgKmVycm9yY29kZXB0ciwKICAgY29u
c3QgY2hhciAqKmVycm9ycHRyLCBpbnQgKmVycm9yb2Zmc2V0LCBjb25zdCB1bnNpZ25lZCBjaGFy
ICp0YWJsZXMpCiB7CiByZWFsX3BjcmUgKnJlOwpAQCAtNDAyNiw4ICs0MDQ3LDEyIEBAIGZvciBh
bnkgY291bnRlZCB3aGl0ZSBzcGFjZSBpZiBhbiAiZXh0ZW4KIHBhdHRlcm4uIFdlIGNhbid0IGJl
IHNvIGNsZXZlciBmb3IgIy1jb21tZW50cy4gKi8KIAogcHRyID0gKGNvbnN0IHBjcmVfdWNoYXIg
KikocGF0dGVybiAtIDEpOwotd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCitjb25zdCBwY3Jl
X3VjaGFyIGNvbnN0KiBwYXR0ZXJuRW5kID0gKGNvbnN0IHBjcmVfdWNoYXIgKikocGF0dGVybiAr
IHBhdHRlcm5MZW5ndGgpOworCit3aGlsZSAoKytwdHIgPCBwYXR0ZXJuRW5kKQogICB7CisgIGMg
PSAqcHRyOworICAKICAgaW50IG1pbiwgbWF4OwogICBpbnQgY2xhc3Nfb3B0Y291bnQ7CiAgIGlu
dCBicmFja2V0X2xlbmd0aDsKQEAgLTQwNTAsOCArNDA3NSwxMCBAQCB3aGlsZSAoKGMgPSAqKCsr
cHRyKSkgIT0gMCkKICAgICAgIHsKICAgICAgIC8qIFRoZSBzcGFjZSBiZWZvcmUgdGhlIDsgaXMg
dG8gYXZvaWQgYSB3YXJuaW5nIG9uIGEgc2lsbHkgY29tcGlsZXIKICAgICAgIG9uIHRoZSBNYWNp
bnRvc2guICovCi0gICAgICB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCAmJiBjICE9IE5FV0xJ
TkUpIDsKLSAgICAgIGlmIChjID09IDApIGJyZWFrOworICAgICAgd2hpbGUgKCsrcHRyIDwgcGF0
dGVybkVuZCAmJiAoYyA9ICpwdHIpICE9IE5FV0xJTkUpCisgICAgICAgIDsKKyAgICAgIGlmIChw
dHIgPT0gcGF0dGVybkVuZCkKKyAgICAgICAgYnJlYWs7CiAgICAgICBjb250aW51ZTsKICAgICAg
IH0KICAgICB9CkBAIC00MDYyLDcgKzQwODksNyBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0g
MCkKIAogICBpZiAoKG9wdGlvbnMgJiBQQ1JFX0FVVE9fQ0FMTE9VVCkgIT0gMCAmJgogICAgICAg
IGMgIT0gJyonICYmIGMgIT0gJysnICYmIGMgIT0gJz8nICYmCi0gICAgICAgKGMgIT0gJ3snIHx8
ICFpc19jb3VudGVkX3JlcGVhdChwdHIgKyAxKSkpCisgICAgICAgKGMgIT0gJ3snIHx8ICFpc19j
b3VudGVkX3JlcGVhdChwdHIgKyAxLCBwYXR0ZXJuRW5kKSkpCiAgICAgbGVuZ3RoICs9IDIgKyAy
KkxJTktfU0laRTsKIAogICBzd2l0Y2goYykKQEAgLTQwNzEsNyArNDA5OCw3IEBAIHdoaWxlICgo
YyA9ICooKytwdHIpKSAhPSAwKQogICAgIGNoYXJhY3RlciB0eXBlLiAqLwogCiAgICAgY2FzZSAn
XFwnOgotICAgIGMgPSBjaGVja19lc2NhcGUoJnB0ciwgJmVycm9yY29kZSwgYnJhY291bnQsIG9w
dGlvbnMsIEZBTFNFKTsKKyAgICBjID0gY2hlY2tfZXNjYXBlKCZwdHIsIHBhdHRlcm5FbmQsICZl
cnJvcmNvZGUsIGJyYWNvdW50LCBvcHRpb25zLCBGQUxTRSk7CiAgICAgaWYgKGVycm9yY29kZSAh
PSAwKSBnb3RvIFBDUkVfRVJST1JfUkVUVVJOOwogCiAgICAgbGFzdGl0ZW1sZW5ndGggPSAxOyAg
ICAgLyogRGVmYXVsdCBsZW5ndGggb2YgbGFzdCBpdGVtIGZvciByZXBlYXRzICovCkBAIC00MTIx
LDcgKzQxNDgsNyBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKICAgICAgIEJPT0wgbmVn
YXRlZDsKICAgICAgIGxlbmd0aCArPSAyOwogICAgICAgbGFzdGl0ZW1sZW5ndGggPSAyOwotICAg
ICAgaWYgKGdldF91Y3AoJnB0ciwgJm5lZ2F0ZWQsICZlcnJvcmNvZGUpIDwgMCkgZ290byBQQ1JF
X0VSUk9SX1JFVFVSTjsKKyAgICAgIGlmIChnZXRfdWNwKCZwdHIsIHBhdHRlcm5FbmQsICZuZWdh
dGVkLCAmZXJyb3Jjb2RlKSA8IDApIGdvdG8gUENSRV9FUlJPUl9SRVRVUk47CiAgICAgICBjb250
aW51ZTsKICNlbHNlCiAgICAgICBlcnJvcmNvZGUgPSBFUlI0NTsKQEAgLTQxNDQsNyArNDE3MSw3
IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgICAgaWYgKHJlZm51bSA+IGNvbXBp
bGVfYmxvY2sudG9wX2JhY2tyZWYpCiAgICAgICAgIGNvbXBpbGVfYmxvY2sudG9wX2JhY2tyZWYg
PSByZWZudW07CiAgICAgICBsZW5ndGggKz0gMjsgICAvKiBGb3Igc2luZ2xlIGJhY2sgcmVmZXJl
bmNlICovCi0gICAgICBpZiAocHRyWzFdID09ICd7JyAmJiBpc19jb3VudGVkX3JlcGVhdChwdHIr
MikpCisgICAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICd7JyAmJiBp
c19jb3VudGVkX3JlcGVhdChwdHIrMiwgcGF0dGVybkVuZCkpCiAgICAgICAgIHsKICAgICAgICAg
cHRyID0gcmVhZF9yZXBlYXRfY291bnRzKHB0cisyLCAmbWluLCAmbWF4LCAmZXJyb3Jjb2RlKTsK
ICAgICAgICAgaWYgKGVycm9yY29kZSAhPSAwKSBnb3RvIFBDUkVfRVJST1JfUkVUVVJOOwpAQCAt
NDE1Miw3ICs0MTc5LDggQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgICAgICAg
KG1pbiA9PSAxICYmIG1heCA9PSAtMSkpCiAgICAgICAgICAgICBsZW5ndGgrKzsKICAgICAgICAg
ZWxzZSBsZW5ndGggKz0gNTsKLSAgICAgICAgaWYgKHB0clsxXSA9PSAnPycpIHB0cisrOworICAg
ICAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICc/JykKKyAgICAgICAg
ICAgIHB0cisrOwogICAgICAgICB9CiAgICAgICB9CiAgICAgY29udGludWU7CkBAIC00MTc0LDcg
KzQyMDIsOCBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKICAgICBjbGFzcywgb3IgYmFj
ayByZWZlcmVuY2UuICovCiAKICAgICBjYXNlICd7JzoKLSAgICBpZiAoIWlzX2NvdW50ZWRfcmVw
ZWF0KHB0cisxKSkgZ290byBOT1JNQUxfQ0hBUjsKKyAgICBpZiAoIWlzX2NvdW50ZWRfcmVwZWF0
KHB0cisxLCBwYXR0ZXJuRW5kKSkKKyAgICAgICAgZ290byBOT1JNQUxfQ0hBUjsKICAgICBwdHIg
PSByZWFkX3JlcGVhdF9jb3VudHMocHRyKzEsICZtaW4sICZtYXgsICZlcnJvcmNvZGUpOwogICAg
IGlmIChlcnJvcmNvZGUgIT0gMCkgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKIApAQCAtNDE5Niwx
MCArNDIyNSwxMSBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKICAgICAgIGxlbmd0aCAr
PSBsYXN0aXRlbWxlbmd0aCArICgobWF4ID4gMCk/IDMgOiAxKTsKICAgICAgIH0KIAotICAgIGlm
IChwdHJbMV0gPT0gJz8nKSBwdHIrKzsgICAgICAvKiBOZWVkcyBubyBleHRyYSBsZW5ndGggKi8K
KyAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICc/JykKKyAgICAgICAg
cHRyKys7ICAgICAgICAgICAgICAgICAgICAgLyogTmVlZHMgbm8gZXh0cmEgbGVuZ3RoICovCiAK
ICAgICBQT1NFU1NJVkU6ICAgICAgICAgICAgICAgICAgICAgLyogVGVzdCBmb3IgcG9zc2Vzc2l2
ZSBxdWFudGlmaWVyICovCi0gICAgaWYgKHB0clsxXSA9PSAnKycpCisgICAgaWYgKHB0ciArIDEg
PCBwYXR0ZXJuRW5kICYmIHB0clsxXSA9PSAnKycpCiAgICAgICB7CiAgICAgICBwdHIrKzsKICAg
ICAgIGxlbmd0aCArPSAyICsgMipMSU5LX1NJWkU7ICAgLyogQWxsb3cgZm9yIGF0b21pYyBicmFj
a2V0cyAqLwpAQCAtNDIyNCw3ICs0MjU0LDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDAp
CiAgICAgd2hlcmUgd2UgY2FuLiAoSW4gVVRGLTggbW9kZSB3ZSBjYW4gZG8gdGhpcyBvbmx5IGZv
ciBjaGFycyA8IDEyOC4pICovCiAKICAgICBjYXNlICdbJzoKLSAgICBpZiAoKigrK3B0cikgPT0g
J14nKQorICAgIGlmICgrK3B0ciA8IHBhdHRlcm5FbmQgJiYgKnB0ciA9PSAnXicpCiAgICAgICB7
CiAgICAgICBjbGFzc19vcHRjb3VudCA9IDEwOyAgLyogR3JlYXRlciB0aGFuIG9uZSAqLwogICAg
ICAgcHRyKys7CkBAIC00MjM3LDEzICs0MjY3LDE0IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAh
PSAwKQogCiAgICAgLyogV3JpdHRlbiBhcyBhICJkbyIgc28gdGhhdCBhbiBpbml0aWFsICddJyBp
cyB0YWtlbiBhcyBkYXRhICovCiAKLSAgICBpZiAoKnB0ciAhPSAwKSBkbworICAgIGlmIChwdHIg
PCBwYXR0ZXJuRW5kKSBkbwogICAgICAgewogICAgICAgLyogSW5zaWRlIFxRLi4uXEUgZXZlcnl0
aGluZyBpcyBsaXRlcmFsIGV4Y2VwdCBcRSAqLwogCiAgICAgICBpZiAoaW5lc2NxKQogICAgICAg
ICB7Ci0gICAgICAgIGlmICgqcHRyICE9ICdcXCcgfHwgcHRyWzFdICE9ICdFJykgZ290byBHRVRf
T05FX0NIQVJBQ1RFUjsKKyAgICAgICAgaWYgKCpwdHIgIT0gJ1xcJyB8fCBwdHIgKyAxID49IHBh
dHRlcm5FbmQgfHwgcHRyWzFdICE9ICdFJykKKyAgICAgICAgICAgIGdvdG8gR0VUX09ORV9DSEFS
QUNURVI7CiAgICAgICAgIGluZXNjcSA9IEZBTFNFOwogICAgICAgICBwdHIgKz0gMTsKICAgICAg
ICAgY29udGludWU7CkBAIC00MjUzLDcgKzQyODQsNyBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkg
IT0gMCkKIAogICAgICAgaWYgKCpwdHIgPT0gJ1xcJykKICAgICAgICAgewotICAgICAgICBjID0g
Y2hlY2tfZXNjYXBlKCZwdHIsICZlcnJvcmNvZGUsIGJyYWNvdW50LCBvcHRpb25zLCBUUlVFKTsK
KyAgICAgICAgYyA9IGNoZWNrX2VzY2FwZSgmcHRyLCBwYXR0ZXJuRW5kLCAmZXJyb3Jjb2RlLCBi
cmFjb3VudCwgb3B0aW9ucywgVFJVRSk7CiAgICAgICAgIGlmIChlcnJvcmNvZGUgIT0gMCkgZ290
byBQQ1JFX0VSUk9SX1JFVFVSTjsKIAogICAgICAgICAvKiBcYiBpcyBiYWNrc3BhY2UgaW5zaWRl
IGEgY2xhc3M7IFxYIGlzIGxpdGVyYWwgKi8KQEAgLTQyOTYsNyArNDMyNyw3IEBAIHdoaWxlICgo
YyA9ICooKytwdHIpKSAhPSAwKQogICAgICAgLyogQ2hlY2sgdGhlIHN5bnRheCBmb3IgUE9TSVgg
c3R1ZmYuIFRoZSBiaXRzIHdlIGFjdHVhbGx5IGhhbmRsZSBhcmUKICAgICAgIGNoZWNrZWQgZHVy
aW5nIHRoZSByZWFsIGNvbXBpbGUgcGhhc2UuICovCiAKLSAgICAgIGVsc2UgaWYgKCpwdHIgPT0g
J1snICYmIGNoZWNrX3Bvc2l4X3N5bnRheChwdHIsICZwdHIsICZjb21waWxlX2Jsb2NrKSkKKyAg
ICAgIGVsc2UgaWYgKCpwdHIgPT0gJ1snICYmIHB0ciArIDIgPCBwYXR0ZXJuRW5kICYmIGNoZWNr
X3Bvc2l4X3N5bnRheChwdHIsIHBhdHRlcm5FbmQsICZwdHIsICZjb21waWxlX2Jsb2NrKSkKICAg
ICAgICAgewogICAgICAgICBwdHIrKzsKICAgICAgICAgY2xhc3Nfb3B0Y291bnQgPSAxMDsgICAg
LyogTWFrZSBzdXJlID4gMSAqLwpAQCAtNDMxOCw3ICs0MzQ5LDcgQEAgd2hpbGUgKChjID0gKigr
K3B0cikpICE9IDApCiAgICAgICAgIGlmICh1dGY4KQogICAgICAgICAgIHsKICAgICAgICAgICBp
bnQgZXh0cmEgPSAwOwotICAgICAgICAgIEdFVENIQVJMRU4oYywgcHRyLCBleHRyYSk7CisgICAg
ICAgICAgR0VUQ0hBUkxFTkVORChjLCBwdHIsIHBhdHRlcm5FbmQsIGV4dHJhKTsKICAgICAgICAg
ICBwdHIgKz0gZXh0cmE7CiAgICAgICAgICAgfQogICAgICAgICBlbHNlIGMgPSAqcHRyOwpAQCAt
NDMzMiwzMSArNDM2MywzMyBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkKICAgICAgICAg
Y2xhc3Nfb3B0Y291bnQrKzsKIAogICAgICAgICBkID0gLTE7Ci0gICAgICAgIGlmIChwdHJbMV0g
PT0gJy0nKQorICAgICAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYgcHRyWzFdID09ICct
JykKICAgICAgICAgICB7CiAgICAgICAgICAgcGNyZV91Y2hhciBjb25zdCAqaHlwdHIgPSBwdHIr
KzsKLSAgICAgICAgICBpZiAocHRyWzFdID09ICdcXCcpCi0gICAgICAgICAgICB7Ci0gICAgICAg
ICAgICBwdHIrKzsKLSAgICAgICAgICAgIGQgPSBjaGVja19lc2NhcGUoJnB0ciwgJmVycm9yY29k
ZSwgYnJhY291bnQsIG9wdGlvbnMsIFRSVUUpOwotICAgICAgICAgICAgaWYgKGVycm9yY29kZSAh
PSAwKSBnb3RvIFBDUkVfRVJST1JfUkVUVVJOOwotICAgICAgICAgICAgaWYgKC1kID09IEVTQ19i
KSBkID0gJ1xiJzsgICAgICAgIC8qIGJhY2tzcGFjZSAqLwotICAgICAgICAgICAgZWxzZSBpZiAo
LWQgPT0gRVNDX1gpIGQgPSAnWCc7ICAgIC8qIGxpdGVyYWwgWCBpbiBhIGNsYXNzICovCi0gICAg
ICAgICAgICB9Ci0gICAgICAgICAgZWxzZSBpZiAocHRyWzFdICE9IDAgJiYgcHRyWzFdICE9ICdd
JykKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgIHB0cisrOwotI2lmZGVmIFNVUFBPUlRfVVRG
OAotICAgICAgICAgICAgaWYgKHV0ZjgpCi0gICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
aW50IGV4dHJhID0gMDsKLSAgICAgICAgICAgICAgR0VUQ0hBUkxFTihkLCBwdHIsIGV4dHJhKTsK
LSAgICAgICAgICAgICAgcHRyICs9IGV4dHJhOwotICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBlbHNlCi0jZW5kaWYKLSAgICAgICAgICAgIGQgPSAqcHRyOwotICAgICAgICAgICAgfQorICAg
ICAgICAgIGlmIChwdHIgKyAxIDwgcGF0dGVybkVuZCkgeworICAgICAgICAgICAgICBpZiAocHRy
WzFdID09ICdcXCcpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHB0cisrOwor
ICAgICAgICAgICAgICAgIGQgPSBjaGVja19lc2NhcGUoJnB0ciwgcGF0dGVybkVuZCwgJmVycm9y
Y29kZSwgYnJhY291bnQsIG9wdGlvbnMsIFRSVUUpOworICAgICAgICAgICAgICAgIGlmIChlcnJv
cmNvZGUgIT0gMCkgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKKyAgICAgICAgICAgICAgICBpZiAo
LWQgPT0gRVNDX2IpIGQgPSAnXGInOyAgICAgICAgLyogYmFja3NwYWNlICovCisgICAgICAgICAg
ICAgICAgZWxzZSBpZiAoLWQgPT0gRVNDX1gpIGQgPSAnWCc7ICAgIC8qIGxpdGVyYWwgWCBpbiBh
IGNsYXNzICovCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBlbHNlIGlmIChwdHJb
MV0gIT0gJ10nKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwdHIrKzsKKyAg
ICAjaWZkZWYgU1VQUE9SVF9VVEY4CisgICAgICAgICAgICAgICAgaWYgKHV0ZjgpCisgICAgICAg
ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICBpbnQgZXh0cmEgPSAwOworICAgICAgICAg
ICAgICAgICAgR0VUQ0hBUkxFTkVORChkLCBwdHIsIHBhdHRlcm5FbmQsIGV4dHJhKTsKKyAgICAg
ICAgICAgICAgICAgIHB0ciArPSBleHRyYTsKKyAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICBlbHNlCisgICAgI2VuZGlmCisgICAgICAgICAgICAgICAgZCA9ICpwdHI7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgIH0KICAgICAgICAgICBpZiAoZCA8IDApIHB0ciA9IGh5
cHRyOyAgICAgIC8qIGdvIGJhY2sgdG8gaHlwaGVuIGFzIGRhdGEgKi8KICAgICAgICAgICB9CiAK
QEAgLTQ0NTMsOSArNDQ4Niw5IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgICAg
ICAgIH0KICAgICAgICAgfQogICAgICAgfQotICAgIHdoaWxlICgqKCsrcHRyKSAhPSAwICYmIChp
bmVzY3EgfHwgKnB0ciAhPSAnXScpKTsgLyogQ29uY2x1ZGVzICJkbyIgYWJvdmUgKi8KKyAgICB3
aGlsZSAoKytwdHIgPCBwYXR0ZXJuRW5kICYmIChpbmVzY3EgfHwgKnB0ciAhPSAnXScpKTsgLyog
Q29uY2x1ZGVzICJkbyIgYWJvdmUgKi8KIAotICAgIGlmICgqcHRyID09IDApICAgICAgICAgICAg
ICAgICAgICAgICAgICAvKiBNaXNzaW5nIHRlcm1pbmF0aW5nICddJyAqLworICAgIGlmIChwdHIg
Pj0gcGF0dGVybkVuZCkgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE1pc3NpbmcgdGVybWlu
YXRpbmcgJ10nICovCiAgICAgICB7CiAgICAgICBlcnJvcmNvZGUgPSBFUlI2OwogICAgICAgZ290
byBQQ1JFX0VSUk9SX1JFVFVSTjsKQEAgLTQ0NzIsNyArNDUwNSw3IEBAIHdoaWxlICgoYyA9ICoo
KytwdHIpKSAhPSAwKQogICAgICAgLyogQSByZXBlYXQgbmVlZHMgZWl0aGVyIDEgb3IgNSBieXRl
cy4gSWYgaXQgaXMgYSBwb3NzZXNzaXZlIHF1YW50aWZpZXIsCiAgICAgICB3ZSBhbHNvIG5lZWQg
ZXh0cmEgZm9yIHdyYXBwaW5nIHRoZSB3aG9sZSB0aGluZyBpbiBhIHN1Yi1wYXR0ZXJuLiAqLwog
Ci0gICAgICBpZiAoKnB0ciAhPSAwICYmIHB0clsxXSA9PSAneycgJiYgaXNfY291bnRlZF9yZXBl
YXQocHRyKzIpKQorICAgICAgaWYgKHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIHB0clsxXSA9PSAn
eycgJiYgaXNfY291bnRlZF9yZXBlYXQocHRyKzIsIHBhdHRlcm5FbmQpKQogICAgICAgICB7CiAg
ICAgICAgIHB0ciA9IHJlYWRfcmVwZWF0X2NvdW50cyhwdHIrMiwgJm1pbiwgJm1heCwgJmVycm9y
Y29kZSk7CiAgICAgICAgIGlmIChlcnJvcmNvZGUgIT0gMCkgZ290byBQQ1JFX0VSUk9SX1JFVFVS
TjsKQEAgLTQ0ODAsMTIgKzQ1MTMsMTUgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAg
ICAgICAgICAgKG1pbiA9PSAxICYmIG1heCA9PSAtMSkpCiAgICAgICAgICAgICBsZW5ndGgrKzsK
ICAgICAgICAgZWxzZSBsZW5ndGggKz0gNTsKLSAgICAgICAgaWYgKHB0clsxXSA9PSAnKycpCi0g
ICAgICAgICAgewotICAgICAgICAgIHB0cisrOwotICAgICAgICAgIGxlbmd0aCArPSAyICsgMipM
SU5LX1NJWkU7Ci0gICAgICAgICAgfQotICAgICAgICBlbHNlIGlmIChwdHJbMV0gPT0gJz8nKSBw
dHIrKzsKKyAgICAgICAgaWYgKHB0ciArIDEgPCBwYXR0ZXJuRW5kKSB7CisgICAgICAgICAgICBp
ZiAocHRyWzFdID09ICcrJykKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICBwdHIrKzsK
KyAgICAgICAgICAgICAgbGVuZ3RoICs9IDIgKyAyKkxJTktfU0laRTsKKyAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgZWxzZSBpZiAocHRyWzFdID09ICc/JykKKyAgICAgICAgICAgICAgICBw
dHIrKzsKKyAgICAgICAgfQogICAgICAgICB9CiAgICAgICB9CiAgICAgY29udGludWU7CkBAIC00
NDk5LDE4ICs0NTM1LDE5IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogCiAgICAgLyog
SGFuZGxlIHNwZWNpYWwgZm9ybXMgb2YgYnJhY2tldCwgd2hpY2ggYWxsIHN0YXJ0ICg/ICovCiAK
LSAgICBpZiAocHRyWzFdID09ICc/JykKKyAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5FbmQgJiYg
cHRyWzFdID09ICc/JykKICAgICAgIHsKICAgICAgIGludCBzZXQsIHVuc2V0OwogICAgICAgaW50
ICpvcHRzZXQ7CiAKLSAgICAgIHN3aXRjaCAoYyA9IHB0clsyXSkKKyAgICAgIHN3aXRjaCAoYyA9
IChwdHIgKyAyIDwgcGF0dGVybkVuZCA/IHB0clsyXSA6IDApKQogICAgICAgICB7CiAgICAgICAg
IC8qIFNraXAgb3ZlciBjb21tZW50cyBlbnRpcmVseSAqLwogICAgICAgICBjYXNlICcjJzoKICAg
ICAgICAgcHRyICs9IDM7Ci0gICAgICAgIHdoaWxlICgqcHRyICE9IDAgJiYgKnB0ciAhPSAnKScp
IHB0cisrOwotICAgICAgICBpZiAoKnB0ciA9PSAwKQorICAgICAgICB3aGlsZSAocHRyIDwgcGF0
dGVybkVuZCAmJiAqcHRyICE9ICcpJykKKyAgICAgICAgICAgIHB0cisrOworICAgICAgICBpZiAo
cHRyID09IHBhdHRlcm5FbmQpCiAgICAgICAgICAgewogICAgICAgICAgIGVycm9yY29kZSA9IEVS
UjE4OwogICAgICAgICAgIGdvdG8gUENSRV9FUlJPUl9SRVRVUk47CkBAIC00NTQ2LDEwICs0NTgz
LDEwIEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogICAgICAgICBpZiAoYyAhPSAnUicp
CiAgICAgICAgICAgewogICAgICAgICAgICsrcHRyOwotICAgICAgICAgIHdoaWxlICgoRElHSVRB
QigqcHRyKSAmIGN0eXBlX2RpZ2l0KSAhPSAwKQorICAgICAgICAgIHdoaWxlIChwdHIgPCBwYXR0
ZXJuRW5kICYmIChESUdJVEFCKCpwdHIpICYgY3R5cGVfZGlnaXQpICE9IDApCiAgICAgICAgICAg
ICArK3B0cjsKICAgICAgICAgICB9Ci0gICAgICAgIGlmICgqcHRyICE9ICcpJykKKyAgICAgICAg
aWYgKHB0ciA+PSBwYXR0ZXJuRW5kIHx8ICpwdHIgIT0gJyknKQogICAgICAgICAgIHsKICAgICAg
ICAgICBlcnJvcmNvZGUgPSBFUlIyOTsKICAgICAgICAgICBnb3RvIFBDUkVfRVJST1JfUkVUVVJO
OwpAQCAtNDU2MCw3ICs0NTk3LDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAg
ICAgIGFzIHRvIHVzZSB0aGUgY29kZSBmb3IgcXVhbnRpZmllZCBicmFja2V0cy4gV2UganVtcCBk
b3duIGFuZCB1c2UgdGhlCiAgICAgICAgIGNvZGUgdGhhdCBoYW5kbGVzIHRoaXMgZm9yIHJlYWwg
YnJhY2tldHMuICovCiAKLSAgICAgICAgaWYgKHB0clsxXSA9PSAnKycgfHwgcHRyWzFdID09ICcq
JyB8fCBwdHJbMV0gPT0gJz8nIHx8IHB0clsxXSA9PSAneycpCisgICAgICAgIGlmIChwdHIgKyAx
IDwgcGF0dGVybkVuZCAmJiAocHRyWzFdID09ICcrJyB8fCBwdHJbMV0gPT0gJyonIHx8IHB0clsx
XSA9PSAnPycgfHwgcHRyWzFdID09ICd7JykpCiAgICAgICAgICAgewogICAgICAgICAgIGxlbmd0
aCArPSAyICsgMiAqIExJTktfU0laRTsgICAgICAgLyogdG8gbWFrZSBicmFja2V0ZWQgKi8KICAg
ICAgICAgICBkdXBsZW5ndGggPSA1ICsgMyAqIExJTktfU0laRTsKQEAgLTQ1NzQsOSArNDYxMSw5
IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogCiAgICAgICAgIGNhc2UgJ0MnOgogICAg
ICAgICBwdHIgKz0gMzsKLSAgICAgICAgd2hpbGUgKChESUdJVEFCKCpwdHIpICYgY3R5cGVfZGln
aXQpICE9IDApCisgICAgICAgIHdoaWxlIChwdHIgPCBwYXR0ZXJuRW5kICYmIChESUdJVEFCKCpw
dHIpICYgY3R5cGVfZGlnaXQpICE9IDApCiAgICAgICAgICAgKytwdHI7Ci0gICAgICAgIGlmICgq
cHRyICE9ICcpJykKKyAgICAgICAgaWYgKHB0ciA+PSBwYXR0ZXJuRW5kIHx8ICpwdHIgIT0gJykn
KQogICAgICAgICAgIHsKICAgICAgICAgICBlcnJvcmNvZGUgPSBFUlIzOTsKICAgICAgICAgICBn
b3RvIFBDUkVfRVJST1JfUkVUVVJOOwpAQCAtNDU5MSwzNiArNDYyOCwzOSBAQCB3aGlsZSAoKGMg
PSAqKCsrcHRyKSkgIT0gMCkKIAogICAgICAgICAvKiBIYW5kbGUgdGhlIGRlZmluaXRpb24gb2Yg
YSBuYW1lZCBzdWJwYXR0ZXJuICovCiAKLSAgICAgICAgaWYgKCpwdHIgPT0gJzwnKQotICAgICAg
ICAgIHsKLSAgICAgICAgICBjb25zdCBwY3JlX3VjaGFyICpwOyAgICAvKiBEb24ndCBhbWFsZ2Ft
YXRlOyBzb21lIGNvbXBpbGVycyAqLwotICAgICAgICAgIHAgPSArK3B0cjsgICAgICAgICAgLyog
Z3J1bWJsZSBhdCBhdXRvaW5jcmVtZW50IGluIGRlY2xhcmF0aW9uICovCi0gICAgICAgICAgd2hp
bGUgKChDVFlQRVMoJmNvbXBpbGVfYmxvY2ssICpwdHIpICYgY3R5cGVfd29yZCkgIT0gMCkgcHRy
Kys7Ci0gICAgICAgICAgaWYgKCpwdHIgIT0gJz4nKQotICAgICAgICAgICAgewotICAgICAgICAg
ICAgZXJyb3Jjb2RlID0gRVJSNDI7Ci0gICAgICAgICAgICBnb3RvIFBDUkVfRVJST1JfUkVUVVJO
OwotICAgICAgICAgICAgfQotICAgICAgICAgIG5hbWVfY291bnQrKzsKLSAgICAgICAgICBpZiAo
cHRyIC0gcCA+IG1heF9uYW1lX3NpemUpIG1heF9uYW1lX3NpemUgPSBJTlRfQ0FTVChwdHIgLSBw
KTsKLSAgICAgICAgICBjYXB0dXJpbmcgPSBUUlVFOyAgIC8qIE5hbWVkIHBhcmVudGhlc2VzIGFy
ZSBhbHdheXMgY2FwdHVyaW5nICovCi0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgfQorICAg
ICAgICBpZiAocHRyIDwgcGF0dGVybkVuZCkgeworICAgICAgICAgICAgaWYgKCpwdHIgPT0gJzwn
KQorICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgIGNvbnN0IHBjcmVfdWNoYXIgKnA7ICAg
IC8qIERvbid0IGFtYWxnYW1hdGU7IHNvbWUgY29tcGlsZXJzICovCisgICAgICAgICAgICAgIHAg
PSArK3B0cjsgICAgICAgICAgLyogZ3J1bWJsZSBhdCBhdXRvaW5jcmVtZW50IGluIGRlY2xhcmF0
aW9uICovCisgICAgICAgICAgICAgIHdoaWxlIChwdHIgPCBwYXR0ZXJuRW5kICYmIChDVFlQRVMo
JmNvbXBpbGVfYmxvY2ssICpwdHIpICYgY3R5cGVfd29yZCkgIT0gMCkKKyAgICAgICAgICAgICAg
ICAgIHB0cisrOworICAgICAgICAgICAgICBpZiAocHRyID49IHBhdHRlcm5FbmQgfHwgKnB0ciAh
PSAnPicpCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGVycm9yY29kZSA9IEVS
UjQyOworICAgICAgICAgICAgICAgIGdvdG8gUENSRV9FUlJPUl9SRVRVUk47CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICBuYW1lX2NvdW50Kys7CisgICAgICAgICAgICAgIGlmIChw
dHIgLSBwID4gbWF4X25hbWVfc2l6ZSkgbWF4X25hbWVfc2l6ZSA9IElOVF9DQVNUKHB0ciAtIHAp
OworICAgICAgICAgICAgICBjYXB0dXJpbmcgPSBUUlVFOyAgIC8qIE5hbWVkIHBhcmVudGhlc2Vz
IGFyZSBhbHdheXMgY2FwdHVyaW5nICovCisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgICB9CiAKLSAgICAgICAgLyogSGFuZGxlIGJhY2sgcmVmZXJlbmNlcyBhbmQgcmVjdXJzaXZl
IGNhbGxzIHRvIG5hbWVkIHN1YnBhdHRlcm5zICovCisgICAgICAgICAgICAvKiBIYW5kbGUgYmFj
ayByZWZlcmVuY2VzIGFuZCByZWN1cnNpdmUgY2FsbHMgdG8gbmFtZWQgc3VicGF0dGVybnMgKi8K
IAotICAgICAgICBpZiAoKnB0ciA9PSAnPScgfHwgKnB0ciA9PSAnPicpCi0gICAgICAgICAgewot
ICAgICAgICAgICsrcHRyOwotICAgICAgICAgIHdoaWxlICgoQ1RZUEVTKCZjb21waWxlX2Jsb2Nr
LCAqcHRyKSAmIGN0eXBlX3dvcmQpICE9IDApCi0gICAgICAgICAgICArK3B0cjsKLSAgICAgICAg
ICBpZiAoKnB0ciAhPSAnKScpCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICBlcnJvcmNvZGUg
PSBFUlI0MjsKLSAgICAgICAgICAgIGdvdG8gUENSRV9FUlJPUl9SRVRVUk47Ci0gICAgICAgICAg
ICB9Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgfQorICAgICAgICAgICAgaWYgKCpwdHIg
PT0gJz0nIHx8ICpwdHIgPT0gJz4nKQorICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICsr
cHRyOworICAgICAgICAgICAgICB3aGlsZSAocHRyIDwgcGF0dGVybkVuZCAmJiAoQ1RZUEVTKCZj
b21waWxlX2Jsb2NrLCAqcHRyKSAmIGN0eXBlX3dvcmQpICE9IDApCisgICAgICAgICAgICAgICAg
KytwdHI7CisgICAgICAgICAgICAgIGlmIChwdHIgPj0gcGF0dGVybkVuZCB8fCAqcHRyICE9ICcp
JykKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZXJyb3Jjb2RlID0gRVJSNDI7
CisgICAgICAgICAgICAgICAgZ290byBQQ1JFX0VSUk9SX1JFVFVSTjsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICB9CisgICAgICAgIH0KIAog
ICAgICAgICAvKiBVbmtub3duIGNoYXJhY3RlciBhZnRlciAoP1AgKi8KIApAQCAtNDYzMSw3ICs0
NjcxLDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAKICAgICAgICAgY2FzZSAnPCc6
CiAgICAgICAgIHB0ciArPSAzOwotICAgICAgICBpZiAoKnB0ciA9PSAnPScgfHwgKnB0ciA9PSAn
IScpCisgICAgICAgIGlmIChwdHIgPCBwYXR0ZXJuRW5kICYmICgqcHRyID09ICc9JyB8fCAqcHRy
ID09ICchJykpCiAgICAgICAgICAgewogICAgICAgICAgIGJyYW5jaF9uZXdleHRyYSA9IDEgKyBM
SU5LX1NJWkU7CiAgICAgICAgICAgbGVuZ3RoICs9IDEgKyBMSU5LX1NJWkU7ICAgICAgICAgLyog
Rm9yIHRoZSBmaXJzdCBicmFuY2ggKi8KQEAgLTQ2NDUsMTcgKzQ2ODUsMTggQEAgd2hpbGUgKChj
ID0gKigrK3B0cikpICE9IDApCiAgICAgICAgIGdyb3VwLCBvciAoYSBQQ1JFIGV4dGVuc2lvbikg
YnkgJ1InIGZvciBhIHJlY3Vyc2lvbiB0ZXN0LiAqLwogCiAgICAgICAgIGNhc2UgJygnOgotICAg
ICAgICBpZiAocHRyWzNdID09ICdSJyAmJiBwdHJbNF0gPT0gJyknKQorICAgICAgICBpZiAocHRy
ICsgNCA8IHBhdHRlcm5FbmQgJiYgcHRyWzNdID09ICdSJyAmJiBwdHJbNF0gPT0gJyknKQogICAg
ICAgICAgIHsKICAgICAgICAgICBwdHIgKz0gNDsKICAgICAgICAgICBsZW5ndGggKz0gMzsKICAg
ICAgICAgICB9Ci0gICAgICAgIGVsc2UgaWYgKChESUdJVEFCKHB0clszXSkgJiBjdHlwZV9kaWdp
dCkgIT0gMCkKKyAgICAgICAgZWxzZSBpZiAocHRyICsgMyA8IHBhdHRlcm5FbmQgJiYgKERJR0lU
QUIocHRyWzNdKSAmIGN0eXBlX2RpZ2l0KSAhPSAwKQogICAgICAgICAgIHsKICAgICAgICAgICBw
dHIgKz0gNDsKICAgICAgICAgICBsZW5ndGggKz0gMzsKLSAgICAgICAgICB3aGlsZSAoKERJR0lU
QUIoKnB0cikgJiBjdHlwZV9kaWdpdCkgIT0gMCkgcHRyKys7Ci0gICAgICAgICAgaWYgKCpwdHIg
IT0gJyknKQorICAgICAgICAgIHdoaWxlIChwdHIgPCBwYXR0ZXJuRW5kICYmIChESUdJVEFCKCpw
dHIpICYgY3R5cGVfZGlnaXQpICE9IDApCisgICAgICAgICAgICAgIHB0cisrOworICAgICAgICAg
IGlmIChwdHIgPj0gcGF0dGVybkVuZCB8fCAqcHRyICE9ICcpJykKICAgICAgICAgICAgIHsKICAg
ICAgICAgICAgIGVycm9yY29kZSA9IEVSUjI2OwogICAgICAgICAgICAgZ290byBQQ1JFX0VSUk9S
X1JFVFVSTjsKQEAgLTQ2NjQsNyArNDcwNSw3IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAw
KQogICAgICAgICBlbHNlICAgLyogQW4gYXNzZXJ0aW9uIG11c3QgZm9sbG93ICovCiAgICAgICAg
ICAgewogICAgICAgICAgIHB0cisrOyAgIC8qIENhbiB0cmVhdCBsaWtlICc6JyBhcyBmYXIgYXMg
c3BhY2luZyBpcyBjb25jZXJuZWQgKi8KLSAgICAgICAgICBpZiAocHRyWzJdICE9ICc/JyB8fAor
ICAgICAgICAgIGlmIChwdHIgKyAzID49IHBhdHRlcm5FbmQgfHwgcHRyWzJdICE9ICc/JyB8fAog
ICAgICAgICAgICAgIChwdHJbM10gIT0gJz0nICYmIHB0clszXSAhPSAnIScgJiYgcHRyWzNdICE9
ICc8JykgKQogICAgICAgICAgICAgewogICAgICAgICAgICAgcHRyICs9IDI7ICAgIC8qIFRvIGdl
dCByaWdodCBvZmZzZXQgaW4gbWVzc2FnZSAqLwpAQCAtNDY4Niw3ICs0NzI3LDcgQEAgd2hpbGUg
KChjID0gKigrK3B0cikpICE9IDApCiAKICAgICAgICAgZm9yICg7OyBwdHIrKykKICAgICAgICAg
ICB7Ci0gICAgICAgICAgYyA9ICpwdHI7CisgICAgICAgICAgYyA9IHB0ciA8IHBhdHRlcm5FbmQg
PyAqcHRyIDogMDsKICAgICAgICAgICBzd2l0Y2ggKGMpCiAgICAgICAgICAgICB7CiAgICAgICAg
ICAgICBjYXNlICdpJzoKQEAgLTQ4NjAsNyArNDkwMSw3IEBAIHdoaWxlICgoYyA9ICooKytwdHIp
KSAhPSAwKQogICAgIC8qIExlYXZlIHB0ciBhdCB0aGUgZmluYWwgY2hhcjsgZm9yIHJlYWRfcmVw
ZWF0X2NvdW50cyB0aGlzIGhhcHBlbnMKICAgICBhdXRvbWF0aWNhbGx5OyBmb3IgdGhlIG90aGVy
cyB3ZSBuZWVkIGFuIGluY3JlbWVudC4gKi8KIAotICAgIGlmICgoYyA9IHB0clsxXSkgPT0gJ3sn
ICYmIGlzX2NvdW50ZWRfcmVwZWF0KHB0cisyKSkKKyAgICBpZiAocHRyICsgMSA8IHBhdHRlcm5F
bmQgJiYgKGMgPSBwdHJbMV0pID09ICd7JyAmJiBpc19jb3VudGVkX3JlcGVhdChwdHIrMiwgcGF0
dGVybkVuZCkpCiAgICAgICB7CiAgICAgICBwdHIgPSByZWFkX3JlcGVhdF9jb3VudHMocHRyKzIs
ICZtaW4sICZtYXgsICZlcnJvcmNvZGUpOwogICAgICAgaWYgKGVycm9yY29kZSAhPSAwKSBnb3Rv
IFBDUkVfRVJST1JfUkVUVVJOOwpAQCAtNDg5Nyw3ICs0OTM4LDcgQEAgd2hpbGUgKChjID0gKigr
K3B0cikpICE9IDApCiAKICAgICAvKiBBbGxvdyBzcGFjZSBmb3Igb25jZSBicmFja2V0cyBmb3Ig
InBvc3Nlc3NpdmUgcXVhbnRpZmllciIgKi8KIAotICAgIGlmIChwdHJbMV0gPT0gJysnKQorICAg
IGlmIChwdHIgKyAxIDwgcGF0dGVybkVuZCAmJiBwdHJbMV0gPT0gJysnKQogICAgICAgewogICAg
ICAgcHRyKys7CiAgICAgICBsZW5ndGggKz0gMiArIDIqTElOS19TSVpFOwpAQCAtNDkxMSw3ICs0
OTUyLDcgQEAgd2hpbGUgKChjID0gKigrK3B0cikpICE9IDApCiAgICAgZGVmYXVsdDoKICAgICBO
T1JNQUxfQ0hBUjoKIAotICAgIGlmIChpbmVzY3EgJiYgYyA9PSAnXFwnICYmIHB0clsxXSA9PSAn
RScpCisgICAgaWYgKGluZXNjcSAmJiBjID09ICdcXCcgJiYgcHRyICsgMSA8IHBhdHRlcm5FbmQg
JiYgcHRyWzFdID09ICdFJykKICAgICAgIHsKICAgICAgIGluZXNjcSA9IEZBTFNFOwogICAgICAg
cHRyKys7CkBAIC00OTI4LDcgKzQ5NjksNyBAQCB3aGlsZSAoKGMgPSAqKCsrcHRyKSkgIT0gMCkK
ICAgICAgIHsKICAgICAgICAgaWYgKElTX0xFQURJTkdfU1VSUk9HQVRFKGMpKQogICAgICAgICAg
IHsKLSAgICAgICAgICBjID0gREVDT0RFX1NVUlJPR0FURV9QQUlSKGMsICpwdHIpOworICAgICAg
ICAgIGMgPSBERUNPREVfU1VSUk9HQVRFX1BBSVIoYywgcHRyIDwgcGF0dGVybkVuZCA/ICpwdHIg
OiAwKTsKICAgICAgICAgICArK3B0cjsKICAgICAgICAgICB9CiAKQEAgLTQ5NDQsNyArNDk4NSw3
IEBAIHdoaWxlICgoYyA9ICooKytwdHIpKSAhPSAwKQogI2lmZGVmIFNVUFBPUlRfVVRGOAogICAg
IGlmICh1dGY4ICYmIChjICYgMHhjMCkgPT0gMHhjMCkKICAgICAgIHsKLSAgICAgIHdoaWxlICgo
cHRyWzFdICYgMHhjMCkgPT0gMHg4MCkgICAgICAgICAvKiBDYW4ndCBmbG93IG92ZXIgdGhlIGVu
ZCAqLworICAgICAgd2hpbGUgKHB0ciArIDEgPCBwYXR0ZXJuRW5kICYmIChwdHJbMV0gJiAweGMw
KSA9PSAweDgwKSAgICAgICAgIC8qIENhbid0IGZsb3cgb3ZlciB0aGUgZW5kICovCiAgICAgICAg
IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYmVjYXVzZSB0aGUgZW5k
IGlzIG1hcmtlZCAqLwogICAgICAgICBsYXN0aXRlbWxlbmd0aCsrOyAgICAgICAgICAgICAgICAg
ICAgIC8qIGJ5IGEgemVybyBieXRlLiAqLwogICAgICAgICBsZW5ndGgrKzsKQEAgLTUwMTcsNyAr
NTA1OCw3IEBAIHB0ciA9IChjb25zdCBwY3JlX3VjaGFyICopcGF0dGVybjsKIGNvZGUgPSAodXNj
aGFyICopY29kZXN0YXJ0OwogKmNvZGUgPSBPUF9CUkE7CiBicmFjb3VudCA9IDA7Ci0odm9pZClj
b21waWxlX3JlZ2V4KG9wdGlvbnMsIG9wdGlvbnMgJiBQQ1JFX0lNUywgJmJyYWNvdW50LCAmY29k
ZSwgJnB0ciwKKyh2b2lkKWNvbXBpbGVfcmVnZXgob3B0aW9ucywgb3B0aW9ucyAmIFBDUkVfSU1T
LCAmYnJhY291bnQsICZjb2RlLCAmcHRyLCBwYXR0ZXJuRW5kLAogICAmZXJyb3Jjb2RlLCBGQUxT
RSwgMCwgJmZpcnN0Ynl0ZSwgJnJlcWJ5dGUsIE5VTEwsICZjb21waWxlX2Jsb2NrKTsKIHJlLT50
b3BfYnJhY2tldCA9IGJyYWNvdW50OwogcmUtPnRvcF9iYWNrcmVmID0gY29tcGlsZV9ibG9jay50
b3BfYmFja3JlZjsKQEAgLTUwMjYsNyArNTA2Nyw3IEBAIGlmIChjb21waWxlX2Jsb2NrLm5vcGFy
dGlhbCkgcmUtPm9wdGlvbnMKIAogLyogSWYgbm90IHJlYWNoZWQgZW5kIG9mIHBhdHRlcm4gb24g
c3VjY2VzcywgdGhlcmUncyBhbiBleGNlc3MgYnJhY2tldC4gKi8KIAotaWYgKGVycm9yY29kZSA9
PSAwICYmICpwdHIgIT0gMCkgZXJyb3Jjb2RlID0gRVJSMjI7CitpZiAoZXJyb3Jjb2RlID09IDAg
JiYgcHRyIDwgcGF0dGVybkVuZCkgZXJyb3Jjb2RlID0gRVJSMjI7CiAKIC8qIEZpbGwgaW4gdGhl
IHRlcm1pbmF0aW5nIHN0YXRlIGFuZCBjaGVjayBmb3IgZGlzYXN0cm91cyBvdmVyZmxvdywgYnV0
CiBpZiBkZWJ1Z2dpbmcsIGxlYXZlIHRoZSB0ZXN0IHRpbGwgYWZ0ZXIgdGhpbmdzIGFyZSBwcmlu
dGVkIG91dC4gKi8KSW5kZXg6IEphdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9pbnRlcm5hbC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9pbnRlcm5hbC5oCShyZXZpc2lv
biAxODUwMikKKysrIEphdmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9pbnRlcm5hbC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNTYsNiArMzU2LDE0IEBAIGlmICgoYyAmIDB4YzApID09IDB4YzApIFwKICAg
ICArK2xlbjsgXAogICAgIH0KIAorI2RlZmluZSBHRVRDSEFSTEVORU5EKGMsIGVwdHIsIGVuZCwg
bGVuKSBcCisgIGMgPSBlcHRyWzBdOyBcCisgIGlmIChJU19MRUFESU5HX1NVUlJPR0FURShjKSkg
XAorICAgIHsgXAorICAgIGMgPSBERUNPREVfU1VSUk9HQVRFX1BBSVIoYywgZXB0ciArIDEgPCBl
bmQgPyBlcHRyWzFdIDogMCk7IFwKKyAgICArK2xlbjsgXAorICAgIH0KKwogI2RlZmluZSBJU01J
RENIQVIoYykgSVNfVFJBSUxJTkdfU1VSUk9HQVRFKGMpCiAKICNlbHNlCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS90ZXN0cy9tb3ppbGxhL2V4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNj
cmlwdENvcmUvdGVzdHMvbW96aWxsYS9leHBlY3RlZC5odG1sCShyZXZpc2lvbiAxODUwMikKKysr
IEphdmFTY3JpcHRDb3JlL3Rlc3RzL21vemlsbGEvZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5
KQpAQCAtNywxMSArNywxMSBAQAogPHAgY2xhc3M9J3Jlc3VsdHNfc3VtbWFyeSc+CiBUZXN0IExp
c3Q6IEFsbCB0ZXN0czxicj4KIFNraXAgTGlzdDogKG5vbmUpPGJyPgotMTEzNSB0ZXN0KHMpIHNl
bGVjdGVkLCAxMTI3IHRlc3QocykgY29tcGxldGVkLCA3MCBmYWlsdXJlcyByZXBvcnRlZCAoNi4y
MSUgZmFpbGVkKTxicj4KLUVuZ2luZSBjb21tYW5kIGxpbmU6IC9Eb3dubG9hZHMvQnVpbGRzL1Jl
bGVhc2UvdGVzdGtqcyA8YnI+Ci1PUyB0eXBlOiBEYXJ3aW4gZGlnZG9nLmxvY2FsIDguOC4wIERh
cndpbiBLZXJuZWwgVmVyc2lvbiA4LjguMDogRnJpIFNlcCAgOCAxNzoxODo1NyBQRFQgMjAwNjsg
cm9vdDp4bnUtNzkyLjEyLjYub2JqfjEvUkVMRUFTRV9QUEMgUG93ZXIgTWFjaW50b3NoIHBvd2Vy
cGM8YnI+Ci1UZXN0Y2FzZSBleGVjdXRpb24gdGltZTogMyBtaW51dGVzLCA1MCBzZWNvbmRzLjxi
cj4KLVRlc3RzIGNvbXBsZXRlZCBvbiBUaHUgRGVjICA3IDE5OjA2OjMwIDIwMDYuPGJyPjxicj4K
KzExMzUgdGVzdChzKSBzZWxlY3RlZCwgMTEyNyB0ZXN0KHMpIGNvbXBsZXRlZCwgNjggZmFpbHVy
ZXMgcmVwb3J0ZWQgKDYuMDMlIGZhaWxlZCk8YnI+CitFbmdpbmUgY29tbWFuZCBsaW5lOiAvV2Vi
S2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvdGVzdGtqcyA8YnI+CitPUyB0eXBlOiBEYXJ3aW4gaW1h
Yy1nNS5sb2NhbCA4LjguMCBEYXJ3aW4gS2VybmVsIFZlcnNpb24gOC44LjA6IEZyaSBTZXAgIDgg
MTc6MTg6NTcgUERUIDIwMDY7IHJvb3Q6eG51LTc5Mi4xMi42Lm9ian4xL1JFTEVBU0VfUFBDIFBv
d2VyIE1hY2ludG9zaCBwb3dlcnBjPGJyPgorVGVzdGNhc2UgZXhlY3V0aW9uIHRpbWU6IDIgbWlu
dXRlcywgMyBzZWNvbmRzLjxicj4KK1Rlc3RzIGNvbXBsZXRlZCBvbiBNb24gSmFuICAxIDA4OjM4
OjU0IDIwMDcuPGJyPjxicj4KIFsgPGEgaHJlZj0nI2ZhaWxfZGV0YWlsJz5GYWlsdXJlIERldGFp
bHM8L2E+IHwgPGEgaHJlZj0nI3JldGVzdF9saXN0Jz5SZXRlc3QgTGlzdDwvYT4gfCA8YSBocmVm
PSdtZW51Lmh0bWwnPlRlc3QgU2VsZWN0aW9uIFBhZ2U8L2E+IF08YnI+CiA8aHI+CiA8YSBuYW1l
PSdmYWlsX2RldGFpbCc+PC9hPgpAQCAtNjgsNyArNjgsNyBAQCBUZXN0Y2FzZSB0ZXJtaW5hdGVk
IHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KIC0t
PiBSZWdFeHAvaGV4LTAwMS5qcyBKUyByZWdleHAgYW5jaG9yaW5nIG9uIGVtcHR5IG1hdGNoIGJ1
Zzxicj4KIC0tPiBCVUdOVU1CRVI6IGh0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE1Nzxicj4KLVsxOTM5XSAuL2VjbWFfMi9SZWdFeHAvcmVncmVzcy0wMDEuanMg
bGluZSAxODogVHlwZUVycm9yOiBPYmplY3QgL2F8fGIvIChyZXN1bHQgb2YgZXhwcmVzc2lvbiAv
YXx8Yi8pIGRvZXMgbm90IGFsbG93IGNhbGxzLjxicj4KK1sxODE3NV0gLi9lY21hXzIvUmVnRXhw
L3JlZ3Jlc3MtMDAxLmpzIGxpbmUgMTg6IFR5cGVFcnJvcjogT2JqZWN0IC9hfHxiLyAocmVzdWx0
IG9mIGV4cHJlc3Npb24gL2F8fGIvKSBkb2VzIG5vdCBhbGxvdyBjYWxscy48YnI+CiA8L3R0Pjxi
cj4KIDxhIG5hbWU9J2ZhaWx1cmU2Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3Ro
ZXJfd2luZG93JyBocmVmPScuL2VjbWFfMi9SZWdFeHAvdW5pY29kZS0wMDEuanMnPmVjbWFfMi9S
ZWdFeHAvdW5pY29kZS0wMDEuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgogIFsgPGEgaHJlZj0nI2Zh
aWx1cmU1Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNyc+TmV4dCBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgpA
QCAtNzYsNyArNzYsNyBAQCBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KIFRlc3Rj
YXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1
dCB3YXM6PGJyPgogLS0+IFJlZ0V4cC91bmljb2RlLTAwMS5qcyBuZXcgUmVnRXhwKCBwYXR0ZXJu
LCBmbGFncyApPGJyPgotWzE5NDBdIC4vZWNtYV8yL1JlZ0V4cC91bmljb2RlLTAwMS5qcyBsaW5l
IDMzOiBUeXBlRXJyb3I6IE51bGwgdmFsdWU8YnI+CitbMTgxNzZdIC4vZWNtYV8yL1JlZ0V4cC91
bmljb2RlLTAwMS5qcyBsaW5lIDIwOiBTeW50YXhFcnJvcjogSW52YWxpZCByZWd1bGFyIGV4cHJl
c3Npb246IFBDUkUgZG9lcyBub3Qgc3VwcG9ydCBcTCwgXGwsIFxOLCBcVSwgb3IgXHU8YnI+CiA8
L3R0Pjxicj4KIDxhIG5hbWU9J2ZhaWx1cmU3Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdl
dD0nb3RoZXJfd2luZG93JyBocmVmPScuL2VjbWFfMy9EYXRlLzE1LjkuNS43LmpzJz5lY21hXzMv
RGF0ZS8xNS45LjUuNy5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CiAgWyA8YSBocmVmPScjZmFpbHVy
ZTYnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU4Jz5OZXh0IEZhaWx1
cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CkBAIC05
MSw4ICs5MSw4IEBAIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAtLT4gKE1vbiBGZWIgMjgg
MjAwMCAxNjowMDowMCBHTVQtMDgwMCAoUFNUKSkudG9Mb2NhbGVUaW1lU3RyaW5nKCkgPSA0OjAw
OjAwIFBNIFBTVCBGQUlMRUQhIGV4cGVjdGVkOiAxNjowMDowMDxicj4KIC0tPiAoTW9uIEZlYiAy
OCAyMDAwIDE1OjU5OjU5IEdNVC0wODAwIChQU1QpKS50b0xvY2FsZVRpbWVTdHJpbmcoKSA9IDM6
NTk6NTkgUE0gUFNUIEZBSUxFRCEgZXhwZWN0ZWQ6IDE1OjU5OjU5PGJyPgogLS0+IChUdWUgRmVi
IDI5IDIwMDAgMDA6MDA6MDAgR01ULTA4MDAgKFBTVCkpLnRvTG9jYWxlVGltZVN0cmluZygpID0g
MTI6MDA6MDAgQU0gUFNUIEZBSUxFRCEgZXhwZWN0ZWQ6IDAwOjAwOjAwPGJyPgotLS0+IChUaHUg
RGVjIDA3IDIwMDYgMTk6MDU6MzEgR01ULTA4MDAgKFBTVCkpLnRvTG9jYWxlVGltZVN0cmluZygp
ID0gNzowNTozMSBQTSBQU1QgRkFJTEVEISBleHBlY3RlZDogMTk6MDU6MzE8YnI+Ci0tLT4gKEZy
aSBEZWMgMDggMjAwNiAwMzowNTozMSBHTVQtMDgwMCAoUFNUKSkudG9Mb2NhbGVUaW1lU3RyaW5n
KCkgPSAzOjA1OjMxIEFNIFBTVCBGQUlMRUQhIGV4cGVjdGVkOiAwMzowNTozMTxicj4KKy0tPiAo
TW9uIEphbiAwMSAyMDA3IDA4OjM4OjE5IEdNVC0wODAwIChQU1QpKS50b0xvY2FsZVRpbWVTdHJp
bmcoKSA9IDg6Mzg6MTkgQU0gUFNUIEZBSUxFRCEgZXhwZWN0ZWQ6IDA4OjM4OjE5PGJyPgorLS0+
IChNb24gSmFuIDAxIDIwMDcgMTY6Mzg6MTkgR01ULTA4MDAgKFBTVCkpLnRvTG9jYWxlVGltZVN0
cmluZygpID0gNDozODoxOSBQTSBQU1QgRkFJTEVEISBleHBlY3RlZDogMTY6Mzg6MTk8YnI+CiAt
LT4gKEZyaSBEZWMgMzEgMjAwNCAxNjowMDowMCBHTVQtMDgwMCAoUFNUKSkudG9Mb2NhbGVUaW1l
U3RyaW5nKCkgPSA0OjAwOjAwIFBNIFBTVCBGQUlMRUQhIGV4cGVjdGVkOiAxNjowMDowMDxicj4K
IC0tPiAoRnJpIERlYyAzMSAyMDA0IDE1OjU5OjU5IEdNVC0wODAwIChQU1QpKS50b0xvY2FsZVRp
bWVTdHJpbmcoKSA9IDM6NTk6NTkgUE0gUFNUIEZBSUxFRCEgZXhwZWN0ZWQ6IDE1OjU5OjU5PGJy
PgogLS0+IChTYXQgSmFuIDAxIDIwMDUgMDA6MDA6MDAgR01ULTA4MDAgKFBTVCkpLnRvTG9jYWxl
VGltZVN0cmluZygpID0gMTI6MDA6MDAgQU0gUFNUIEZBSUxFRCEgZXhwZWN0ZWQ6IDAwOjAwOjAw
PGJyPgpAQCAtMTI5LDIwICsxMjksOCBAQCBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogLS0+
IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gQWN0dWFsOiBudWxsPGJyPgogLS0+IEZB
SUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdm
YWlsdXJlMTAnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhy
ZWY9Jy4vZWNtYV8zL1JlZ0V4cC9vY3RhbC0wMDIuanMnPmVjbWFfMy9SZWdFeHAvb2N0YWwtMDAy
LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTQxMDc4JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciAx
NDEwNzg8L2E+PGJyPgorPGEgbmFtZT0nZmFpbHVyZTEwJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxh
IHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2VjbWFfMy9SZWdFeHAvcGVybHN0cmVzcy0w
MDEuanMnPmVjbWFfMy9SZWdFeHAvcGVybHN0cmVzcy0wMDEuanM8L2E+IGZhaWxlZDwvYj4gPGEg
aHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD04NTcyMScg
dGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIgODU3MjE8L2E+PGJyPgogIFsgPGEgaHJl
Zj0nI2ZhaWx1cmU5Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMTEn
Pk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4g
XTxicj4KLTx0dD4tLT4gU1RBVFVTOiBUZXN0aW5nIHJlZ2V4cHMgY29udGFpbmluZyBvY3RhbCBl
c2NhcGUgc2VxdWVuY2VzPGJyPgotRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KLS0tPiBGQUlM
RUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gOCBvZiB0ZXN0IC08YnI+Ci0tLT4g
RkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSByZWdleHAgPSAvYTxicj4KLS0tPiBGQUlM
RUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIHN0cmluZyA9ICdhPGJyPgotLS0+IEZBSUxFRCE6
IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRVJST1IgISEhIHJlZ2V4cCBmYWlsZWQgdG8gZ2l2ZSBl
eHBlY3RlZCBtYXRjaCBhcnJheTo8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVz
dCgpXSBFeHBlY3Q6IFsiYTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCld
IEFjdHVhbDogWyJhIl08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8
YnI+Ci08L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUxMSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8
YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9lY21hXzMvUmVnRXhwL3BlcmxzdHJlc3Mt
MDAxLmpzJz5lY21hXzMvUmVnRXhwL3BlcmxzdHJlc3MtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxh
IGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU3MjEn
IHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDg1NzIxPC9hPjxicj4KLSBbIDxhIGhy
ZWY9JyNmYWlsdXJlMTAnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUx
Mic+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9h
PiBdPGJyPgogPHR0Pi0tPiBTVEFUVVM6IFRlc3RpbmcgcmVndWxhciBleHByZXNzaW9uIGVkZ2Ug
Y2FzZXM8YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogLS0+IEZBSUxFRCE6IFtyZXBv
cnRlZCBmcm9tIHRlc3QoKV0gU2VjdGlvbiAyMTggb2YgdGVzdCAtPGJyPgpAQCAtMTgxLDggKzE2
OSw4IEBAIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVk
IGZyb20gdGVzdCgpXSBBY3R1YWw6IFsiYWFiYmFhIiwgImFhIiwgImJiIl08YnI+CiAtLT4gRkFJ
TEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2Zh
aWx1cmUxMic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJl
Zj0nLi9lY21hXzMvUmVnRXhwL3BlcmxzdHJlc3MtMDAyLmpzJz5lY21hXzMvUmVnRXhwL3Blcmxz
dHJlc3MtMDAyLmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3pp
bGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU3MjEnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcg
TnVtYmVyIDg1NzIxPC9hPjxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMTEnPlByZXZpb3VzIEZh
aWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUxMyc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhy
ZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTEx
Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2Vj
bWFfMy9SZWdFeHAvcGVybHN0cmVzcy0wMDIuanMnPmVjbWFfMy9SZWdFeHAvcGVybHN0cmVzcy0w
MDIuanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3Jn
L3Nob3dfYnVnLmNnaT9pZD04NTcyMScgdGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIg
ODU3MjE8L2E+PGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUxMCc+UHJldmlvdXMgRmFpbHVyZTwv
YT4gfCA8YSBocmVmPScjZmFpbHVyZTEyJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3Rp
cHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+LS0+IFNUQVRVUzogVGVzdGluZyBy
ZWd1bGFyIGV4cHJlc3Npb24gZWRnZSBjYXNlczxicj4KIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8
YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9uIDQwIG9mIHRl
c3QgLTxicj4KQEAgLTIwMCw4ICsxODgsOCBAQCBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgog
LS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gQWN0dWFsOiBudWxsPGJyPgogLS0+
IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgogPC90dD48YnI+Ci08YSBuYW1l
PSdmYWlsdXJlMTMnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cn
IGhyZWY9Jy4vZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTcyOTY0LmpzJz5lY21hXzMvUmVnRXhwL3Jl
Z3Jlc3MtNzI5NjQuanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1v
emlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk2NCcgdGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1
ZyBOdW1iZXIgNzI5NjQ8L2E+PGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUxMic+UHJldmlvdXMg
RmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTE0Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJl
MTInPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4v
ZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTcyOTY0LmpzJz5lY21hXzMvUmVnRXhwL3JlZ3Jlc3MtNzI5
NjQuanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3Jn
L3Nob3dfYnVnLmNnaT9pZD03Mjk2NCcgdGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIg
NzI5NjQ8L2E+PGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUxMSc+UHJldmlvdXMgRmFpbHVyZTwv
YT4gfCA8YSBocmVmPScjZmFpbHVyZTEzJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3Rp
cHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+LS0+IFNUQVRVUzogVGVzdGluZyBy
ZWd1bGFyIGV4cHJlc3Npb25zIGNvbnRhaW5pbmcgbm9uLUxhdGluMSBjaGFyYWN0ZXJzPGJyPgog
RmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0
ZXN0KCldIFNlY3Rpb24gMyBvZiB0ZXN0IC08YnI+CkBAIC0yMTksOCArMjA3LDggQEAgRmFpbHVy
ZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCld
IEFjdHVhbDogbnVsbDxicj4KIC0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxi
cj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTE0Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxh
IHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2VjbWFfMy9SZWdFeHAvcmVncmVzcy03ODE1
Ni5qcyc+ZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTc4MTU2LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhy
ZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNTYnIHRh
cmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDc4MTU2PC9hPjxicj4KLSBbIDxhIGhyZWY9
JyNmYWlsdXJlMTMnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUxNSc+
TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBd
PGJyPgorPGEgbmFtZT0nZmFpbHVyZTEzJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0n
b3RoZXJfd2luZG93JyBocmVmPScuL2VjbWFfMy9SZWdFeHAvcmVncmVzcy03ODE1Ni5qcyc+ZWNt
YV8zL1JlZ0V4cC9yZWdyZXNzLTc4MTU2LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6
Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzgxNTYnIHRhcmdldD0nb3Ro
ZXJfd2luZG93Jz5CdWcgTnVtYmVyIDc4MTU2PC9hPjxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJl
MTInPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUxNCc+TmV4dCBGYWls
dXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0
Pi0tPiBTVEFUVVM6IFRlc3RpbmcgcmVndWxhciBleHByZXNzaW9ucyB3aXRoICBeLCAkLCBhbmQg
dGhlIG0gZmxhZyAtPGJyPgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiBGQUlMRUQh
OiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMiBvZiB0ZXN0IC08YnI+CkBAIC0yMzgs
Mjk1ICsyMjYsMjMgQEAgRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiBGQUlMRUQhOiBb
cmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEFjdHVhbDogbnVsbDxicj4KIC0tPiBGQUlMRUQhOiBbcmVw
b3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTE1Jz48
L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2VjbWFf
My9SZWdFeHAvcmVncmVzcy04NTcyMS5qcyc+ZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTg1NzIxLmpz
PC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODU3MjEnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDg1NzIx
PC9hPjxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMTQnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwg
PGEgaHJlZj0nI2ZhaWx1cmUxNic+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90
b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgotPHR0Pi0tPiBTVEFUVVM6IFBlcmZvcm1hbmNlOiBl
eGVjdXRpb24gb2YgcmVndWxhciBleHByZXNzaW9uPGJyPgotRmFpbHVyZSBtZXNzYWdlcyB3ZXJl
Ojxicj4KLS0tPiBGQUlMRUQhOiBTZWN0aW9uIDQgb2YgdGVzdCAtPGJyPgotLS0+IEZBSUxFRCE6
IHJlZ2V4cCA9IC9bIAldKig/OlwoW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKD86
KD86XFxbXsKALcO/XXxcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/OlxcW17C
gC3Dv11bXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpKVteXFzCgC3Dvzxicj4K
LS0tPiBGQUlMRUQhOiANKCldKikqXClbIAldKikqKD86KD86W14oIDw+QCw7OiIuXFxcW1xdPGJy
PgotLS0+IEZBSUxFRCE6IA0iXSooPzpcXFtewoAtw79dW15cXMKALcO/PGJyPgotLS0+IEZBSUxF
RCE6IA0iXSopKiIpW14oKTw+QCw7OiIuXFxcW1xdwoAtw788YnI+Ci0tLT4gRkFJTEVEITogLR9d
Kig/Oig/OlwoW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKD86KD86XFxbXsKALcO/
XXxcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/OlxcW17CgC3Dv11bXlxcwoAt
w788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpKVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQh
OiANKCldKikqXCl8IlteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANIl0qKD86XFxbXsKALcO/
XVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANIl0qKSoiKVteKCk8PkAsOzoiLlxcXFtcXcKA
LcO/PGJyPgotLS0+IEZBSUxFRCE6IC0fXSopKjxbIAldKig/OlwoW15cXMKALcO/PGJyPgotLS0+
IEZBSUxFRCE6IA0oKV0qKD86KD86XFxbXsKALcO/XXxcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlM
RUQhOiANKCldKig/OlxcW17CgC3Dv11bXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSop
KlwpKVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKikqXClbIAldKikqKD86QFsgCV0q
KD86XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzooPzpcXFtewoAtw79dfFwo
W15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKD86XFxbXsKALcO/XVteXFzCgC3Dvzxi
cj4KLS0tPiBGQUlMRUQhOiANKCldKikqXCkpW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0o
KV0qKSpcKVsgCV0qKSooPzpbXiggPD5ALDs6Ii5cXFxbXF08YnI+Ci0tLT4gRkFJTEVEITogDVxb
XF1dfFxcW17CgC3Dv10pKlxdKVsgCV0qKD86XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITog
DSgpXSooPzooPzpcXFtewoAtw79dfFwoW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0q
KD86XFxbXsKALcO/XVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKikqXCkpW15cXMKA
LcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKVsgCV0qKSooPzouWyAJXSooPzpcKFteXFzC
gC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/Oig/OlxcW17CgC3Dv118XChbXlxcwoAtw788
YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzpcXFtewoAtw79dW15cXMKALcO/PGJyPgotLS0+IEZB
SUxFRCE6IA0oKV0qKSpcKSlbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpWyAJ
XSopKig/OlteKCA8PkAsOzoiLlxcXFtcXTxicj4KLS0tPiBGQUlMRUQhOiANXFtcXV18XFxbXsKA
LcO/XSkqXF0pWyAJXSooPzpcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/Oig/
OlxcW17CgC3Dv118XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzpcXFtewoAt
w79dW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKSlbXlxcwoAtw788YnI+Ci0t
LT4gRkFJTEVEITogDSgpXSopKlwpWyAJXSopKikqKD86LFsgCV0qKD86XChbXlxcwoAtw788YnI+
Ci0tLT4gRkFJTEVEITogDSgpXSooPzooPzpcXFtewoAtw79dfFwoW15cXMKALcO/PGJyPgotLS0+
IEZBSUxFRCE6IA0oKV0qKD86XFxbXsKALcO/XVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiAN
KCldKikqXCkpW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKVsgCV0qKSpAWyAJ
XSooPzpcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/Oig/OlxcW17CgC3Dv118
XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzpcXFtewoAtw79dW15cXMKALcO/
PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKSlbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITog
DSgpXSopKlwpWyAJXSopKig/OlteKCA8PkAsOzoiLlxcXFtcXTxicj4KLS0tPiBGQUlMRUQhOiAN
XFtcXV18XFxbXsKALcO/XSkqXF0pWyAJXSooPzpcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQh
OiANKCldKig/Oig/OlxcW17CgC3Dv118XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgp
XSooPzpcXFtewoAtw79dW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKSlbXlxc
woAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpWyAJXSopKig/Oi5bIAldKig/OlwoW15c
XMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKD86KD86XFxbXsKALcO/XXxcKFteXFzCgC3D
vzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/OlxcW17CgC3Dv11bXlxcwoAtw788YnI+Ci0tLT4g
RkFJTEVEITogDSgpXSopKlwpKVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKikqXClb
IAldKikqKD86W14oIDw+QCw7OiIuXFxcW1xdPGJyPgotLS0+IEZBSUxFRCE6IA1cW1xdXXxcXFte
woAtw79dKSpcXSlbIAldKig/OlwoW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKD86
KD86XFxbXsKALcO/XXxcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/OlxcW17C
gC3Dv11bXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpKVteXFzCgC3Dvzxicj4K
LS0tPiBGQUlMRUQhOiANKCldKikqXClbIAldKikqKSopKjpbIAldKig/OlwoW15cXMKALcO/PGJy
PgotLS0+IEZBSUxFRCE6IA0oKV0qKD86KD86XFxbXsKALcO/XXxcKFteXFzCgC3Dvzxicj4KLS0t
PiBGQUlMRUQhOiANKCldKig/OlxcW17CgC3Dv11bXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITog
DSgpXSopKlwpKVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKikqXClbIAldKikqKT8o
PzpbXiggPD5ALDs6Ii5cXFxbXF08YnI+Ci0tLT4gRkFJTEVEITogDSJdKig/OlxcW17CgC3Dv11b
XlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSJdKikqIilbIAldKig/OlwoW15cXMKALcO/PGJy
PgotLS0+IEZBSUxFRCE6IA0oKV0qKD86KD86XFxbXsKALcO/XXxcKFteXFzCgC3Dvzxicj4KLS0t
PiBGQUlMRUQhOiANKCldKig/OlxcW17CgC3Dv11bXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITog
DSgpXSopKlwpKVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKikqXClbIAldKikqQFsg
CV0qKD86XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzooPzpcXFtewoAtw79d
fFwoW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKD86XFxbXsKALcO/XVteXFzCgC3D
vzxicj4KLS0tPiBGQUlMRUQhOiANKCldKikqXCkpW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6
IA0oKV0qKSpcKVsgCV0qKSooPzpbXiggPD5ALDs6Ii5cXFxbXF08YnI+Ci0tLT4gRkFJTEVEITog
DVxbXF1dfFxcW17CgC3Dv10pKlxdKVsgCV0qKD86XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVE
ITogDSgpXSooPzooPzpcXFtewoAtw79dfFwoW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0o
KV0qKD86XFxbXsKALcO/XVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKikqXCkpW15c
XMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKVsgCV0qKSooPzouWyAJXSooPzpcKFte
XFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/Oig/OlxcW17CgC3Dv118XChbXlxcwoAt
w788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzpcXFtewoAtw79dW15cXMKALcO/PGJyPgotLS0+
IEZBSUxFRCE6IA0oKV0qKSpcKSlbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwp
WyAJXSopKig/OlteKCA8PkAsOzoiLlxcXFtcXTxicj4KLS0tPiBGQUlMRUQhOiANXFtcXV18XFxb
XsKALcO/XSkqXF0pWyAJXSooPzpcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/
Oig/OlxcW17CgC3Dv118XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzpcXFte
woAtw79dW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKSlbXlxcwoAtw788YnI+
Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpWyAJXSopKikqPnwoPzpbXiggPD5ALDs6Ii5cXFxbXF08
YnI+Ci0tLT4gRkFJTEVEITogDSJdKig/OlxcW17CgC3Dv11bXlxcwoAtw788YnI+Ci0tLT4gRkFJ
TEVEITogDSJdKikqIilbIAldKig/OlwoW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0q
KD86KD86XFxbXsKALcO/XXxcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/Olxc
W17CgC3Dv11bXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpT0suPGJyPgotLS0+IEZBSUxF
RCE6IA0oKV0qKSpcKVsgCV0qKSpAWyAJXSooPzpcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQh
OiANKCldKig/Oig/OlxcW17CgC3Dv118XChbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgp
XSooPzpcXFtewoAtw79dW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKSpcKSlbXlxc
woAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpWyAJXSopKig/OlteKCA8PkAsOzoiLlxc
XFtcXTxicj4KLS0tPiBGQUlMRUQhOiANXFtcXV18XFxbXsKALcO/XSkqXF0pWyAJXSooPzpcKFte
XFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/Oig/OlxcW17CgC3Dv118XChbXlxcwoAt
w788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSooPzpcXFtewoAtw79dW15cXMKALcO/PGJyPgotLS0+
IEZBSUxFRCE6IA0oKV0qKSpcKSlbXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwp
WyAJXSopKig/Oi5bIAldKig/OlwoW15cXMKALcO/PGJyPgotLS0+IEZBSUxFRCE6IA0oKV0qKD86
KD86XFxbXsKALcO/XXxcKFteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKig/OlxcW17C
gC3Dv11bXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITogDSgpXSopKlwpKVteXFzCgC3Dvzxicj4K
LS0tPiBGQUlMRUQhOiANKCldKikqXClbIAldKikqKD86W14oIDw+QCw7OiIuXFxcW1xdPGJyPgot
LS0+IEZBSUxFRCE6IA1cW1xdXXxcXFtewoAtw79dKSpcXSlbIAldKig/OlwoW15cXMKALcO/PGJy
PgotLS0+IEZBSUxFRCE6IA0oKV0qKD86KD86XFxbXsKALcO/XXxcKFteXFzCgC3Dvzxicj4KLS0t
PiBGQUlMRUQhOiANKCldKig/OlxcW17CgC3Dv11bXlxcwoAtw788YnI+Ci0tLT4gRkFJTEVEITog
DSgpXSopKlwpKVteXFzCgC3Dvzxicj4KLS0tPiBGQUlMRUQhOiANKCldKikqXClbIAldKikqKSop
L2c8YnI+Ci0tLT4gRkFJTEVEITogc3RyaW5nID0gJ0plZmZ5PCJUaGF0IFRhbGwgR3V5IkBvcmEu
Y29tICh0aGlzIGFkZHJlc3MgaXMgbm8gbG9uZ2VyIGFjdGlcdmUpPic8YnI+Ci0tLT4gRkFJTEVE
ITogRVJST1IgISEhIHJlZ2V4cCBGQUlMRUQgdG8gbWF0Y2ggYW55dGhpbmcgISEhPGJyPgotLS0+
IEZBSUxFRCE6IEV4cGVjdDogWyJKZWZmeTwiVGhhdCBUYWxsIEd1eSJAb3JhLmNvbSAodGhpcyBh
ZGRyZXNzIGlzIG5vIGxvbmdlciBhY3RpdmUpPiJdPGJyPgotLS0+IEZBSUxFRCE6IEFjdHVhbDog
bnVsbDxicj4KLS0tPiBGQUlMRUQhOiA8YnI+Ci08L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUx
Nic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9l
Y21hXzMvUmVnRXhwL3JlZ3Jlc3MtMTAwMTk5LmpzJz5lY21hXzMvUmVnRXhwL3JlZ3Jlc3MtMTAw
MTk5LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMTk5JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJl
ciAxMDAxOTk8L2E+PGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUxNSc+UHJldmlvdXMgRmFpbHVy
ZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTE3Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0n
I3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Ci08dHQ+LS0+IFNUQVRVUzogW10sIFte
XSBhcmUgdmFsaWQgUmVnRXhwIGNvbmRpdGlvbnMuIFNob3VsZCBub3QgY2F1c2UgZXJyb3JzIC08
YnI+Ci1GYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gU2VjdGlvbiAxOSBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9y
dGVkIGZyb20gdGVzdCgpXSByZWdleHAgPSAvW15dLzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0
ZWQgZnJvbSB0ZXN0KCldIHN0cmluZyA9ICdhYmMnPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRl
ZCBmcm9tIHRlc3QoKV0gRVJST1IgISEhIHJlZ2V4cCBGQUlMRUQgdG8gbWF0Y2ggYW55dGhpbmcg
ISEhPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0OiBbImEi
XTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEFjdHVhbDogbnVsbDxi
cj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQh
OiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMjEgb2YgdGVzdCAtPGJyPgotLS0+IEZB
SUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gcmVnZXhwID0gL1teXS88YnI+Ci0tLT4gRkFJ
TEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBzdHJpbmcgPSAnLyc8YnI+Ci0tLT4gRkFJTEVE
ITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFUlJPUiAhISEgcmVnZXhwIEZBSUxFRCB0byBtYXRj
aCBhbnl0aGluZyAhISE8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBF
eHBlY3Q6IFsiLyJdPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gQWN0
dWFsOiBudWxsPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgot
LS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gU2VjdGlvbiAyMiBvZiB0ZXN0IC08
YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSByZWdleHAgPSAvW15dLzxi
cj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIHN0cmluZyA9ICdbJzxicj4K
LS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEVSUk9SICEhISByZWdleHAgRkFJ
TEVEIHRvIG1hdGNoIGFueXRoaW5nICEhITxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJv
bSB0ZXN0KCldIEV4cGVjdDogWyJbIl08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20g
dGVzdCgpXSBBY3R1YWw6IG51bGw8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVz
dCgpXSA8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9uIDIz
IG9mIHRlc3QgLTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIHJlZ2V4
cCA9IC9bXl0vPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gc3RyaW5n
ID0gJ1snPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRVJST1IgISEh
IHJlZ2V4cCBGQUlMRUQgdG8gbWF0Y2ggYW55dGhpbmcgISEhPGJyPgotLS0+IEZBSUxFRCE6IFty
ZXBvcnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0OiBbIlsiXTxicj4KLS0tPiBGQUlMRUQhOiBbcmVw
b3J0ZWQgZnJvbSB0ZXN0KCldIEFjdHVhbDogbnVsbDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0
ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCld
IFNlY3Rpb24gMjQgb2YgdGVzdCAtPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRl
c3QoKV0gcmVnZXhwID0gL1teXS88YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVz
dCgpXSBzdHJpbmcgPSAnXSc8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgp
XSBFUlJPUiAhISEgcmVnZXhwIEZBSUxFRCB0byBtYXRjaCBhbnl0aGluZyAhISE8YnI+Ci0tLT4g
RkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3Q6IFsiXSJdPGJyPgotLS0+IEZB
SUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gQWN0dWFsOiBudWxsPGJyPgotLS0+IEZBSUxF
RCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gU2VjdGlvbiAyNSBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9y
dGVkIGZyb20gdGVzdCgpXSByZWdleHAgPSAvW15dLzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0
ZWQgZnJvbSB0ZXN0KCldIHN0cmluZyA9ICdbXSc8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVk
IGZyb20gdGVzdCgpXSBFUlJPUiAhISEgcmVnZXhwIEZBSUxFRCB0byBtYXRjaCBhbnl0aGluZyAh
ISE8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3Q6IFsiWyJd
PGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gQWN0dWFsOiBudWxsPGJy
PgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgotLS0+IEZBSUxFRCE6
IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gU2VjdGlvbiAyNiBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJ
TEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSByZWdleHAgPSAvW15dLzxicj4KLS0tPiBGQUlM
RUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIHN0cmluZyA9ICdbIF0nPGJyPgotLS0+IEZBSUxF
RCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRVJST1IgISEhIHJlZ2V4cCBGQUlMRUQgdG8gbWF0
Y2ggYW55dGhpbmcgISEhPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0g
RXhwZWN0OiBbIlsiXTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEFj
dHVhbDogbnVsbDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4K
LS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMjcgb2YgdGVzdCAt
PGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gcmVnZXhwID0gL1teXS88
YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBzdHJpbmcgPSAnXVsnPGJy
PgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRVJST1IgISEhIHJlZ2V4cCBG
QUlMRUQgdG8gbWF0Y2ggYW55dGhpbmcgISEhPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gRXhwZWN0OiBbIl0iXTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJv
bSB0ZXN0KCldIEFjdHVhbDogbnVsbDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0
ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24g
Mjggb2YgdGVzdCAtPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gcmVn
ZXhwID0gL2FbXl0vPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gc3Ry
aW5nID0gJ2FiYyc8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFUlJP
UiAhISEgcmVnZXhwIEZBSUxFRCB0byBtYXRjaCBhbnl0aGluZyAhISE8YnI+Ci0tLT4gRkFJTEVE
ITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3Q6IFsiYWIiXTxicj4KLS0tPiBGQUlMRUQh
OiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEFjdHVhbDogbnVsbDxicj4KLS0tPiBGQUlMRUQhOiBb
cmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0
ZXN0KCldIFNlY3Rpb24gMzAgb2YgdGVzdCAtPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gcmVnZXhwID0gL2FbXl0vPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gc3RyaW5nID0gJ2FbJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJv
bSB0ZXN0KCldIEVSUk9SICEhISByZWdleHAgRkFJTEVEIHRvIG1hdGNoIGFueXRoaW5nICEhITxi
cj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEV4cGVjdDogWyJhWyJdPGJy
PgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gQWN0dWFsOiBudWxsPGJyPgot
LS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgotLS0+IEZBSUxFRCE6IFty
ZXBvcnRlZCBmcm9tIHRlc3QoKV0gU2VjdGlvbiAzMSBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVE
ITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSByZWdleHAgPSAvYVteXS88YnI+Ci0tLT4gRkFJTEVE
ITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBzdHJpbmcgPSAnYV0nPGJyPgotLS0+IEZBSUxFRCE6
IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRVJST1IgISEhIHJlZ2V4cCBGQUlMRUQgdG8gbWF0Y2gg
YW55dGhpbmdPSy48YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBl
Y3Q6IFsiYV0iXTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEFjdHVh
bDogbnVsbDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0t
PiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMzIgb2YgdGVzdCAtPGJy
PgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gcmVnZXhwID0gL2FbXl0vPGJy
PgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gc3RyaW5nID0gJ2FbXSc8YnI+
Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFUlJPUiAhISEgcmVnZXhwIEZB
SUxFRCB0byBtYXRjaCBhbnl0aGluZyAhISE8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZy
b20gdGVzdCgpXSBFeHBlY3Q6IFsiYVsiXTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJv
bSB0ZXN0KCldIEFjdHVhbDogbnVsbDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0
ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24g
MzMgb2YgdGVzdCAtPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gcmVn
ZXhwID0gL2FbXl0vPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gc3Ry
aW5nID0gJ2FbIF0nPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRVJS
T1IgISEhIHJlZ2V4cCBGQUlMRUQgdG8gbWF0Y2ggYW55dGhpbmcgISEhPGJyPgotLS0+IEZBSUxF
RCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0OiBbImFbIl08YnI+Ci0tLT4gRkFJTEVE
ITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBBY3R1YWw6IG51bGw8YnI+Ci0tLT4gRkFJTEVEITog
W3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20g
dGVzdCgpXSBTZWN0aW9uIDM0IG9mIHRlc3QgLTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQg
ZnJvbSB0ZXN0KCldIHJlZ2V4cCA9IC9hW15dLzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQg
ZnJvbSB0ZXN0KCldIHN0cmluZyA9ICdhXVsnPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gRVJST1IgISEhIHJlZ2V4cCBGQUlMRUQgdG8gbWF0Y2ggYW55dGhpbmcgISEh
PGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0OiBbImFdIl08
YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBBY3R1YWw6IG51bGw8YnI+
Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+Cis8YSBuYW1lPSdmYWls
dXJlMTQnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9
Jy4vZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTEwMDE5OS5qcyc+ZWNtYV8zL1JlZ0V4cC9yZWdyZXNz
LTEwMDE5OS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTEzJz5Q
cmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMTUnPk5leHQgRmFpbHVyZTwv
YT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzx0dD5FeHBl
Y3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CitUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2ln
bmFsIDA8YnI+CitDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KK1sxODMwM10gLi9l
Y21hXzMvUmVnRXhwL3JlZ3Jlc3MtMTAwMTk5LmpzIGxpbmUgNDg6IFN5bnRheEVycm9yOiBJbnZh
bGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogbWlzc2luZyB0ZXJtaW5hdGluZyBdIGZvciBjaGFyYWN0
ZXIgY2xhc3M8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUxNyc+PC9hPjxkZD48Yj5U
ZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9lY21hXzMvUmVnRXhwL3Jl
Z3Jlc3MtMTg4MjA2LmpzJz5lY21hXzMvUmVnRXhwL3JlZ3Jlc3MtMTg4MjA2LmpzPC9hPiBmYWls
ZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTg4MjA2JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciAxODgyMDY8L2E+PGJy
PgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUxNic+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVm
PScjZmFpbHVyZTE4Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9w
IG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlMTUnPjwvYT48ZGQ+PGI+VGVzdGNh
c2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vZWNtYV8zL1JlZ0V4cC9yZWdyZXNz
LTE4ODIwNi5qcyc+ZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTE4ODIwNi5qczwvYT4gZmFpbGVkPC9i
PiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE4
ODIwNicgdGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIgMTg4MjA2PC9hPjxicj4KKyBb
IDxhIGhyZWY9JyNmYWlsdXJlMTQnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2Zh
aWx1cmUxNic+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQ
YWdlPC9hPiBdPGJyPgogPHR0Pi0tPiBTVEFUVVM6IEludmFsaWQgdXNlIG9mIHJlZ2V4cCBxdWFu
dGlmaWVycyBzaG91bGQgZ2VuZXJhdGUgU3ludGF4RXJyb3JzPGJyPgogRmFpbHVyZSBtZXNzYWdl
cyB3ZXJlOjxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24g
MSBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBl
Y3RlZCB2YWx1ZSAnU3ludGF4RXJyb3InLCBBY3R1YWwgdmFsdWUgJ0RpZCBub3QgZ2VuZXJhdGUg
QU5ZIGVycm9yISEhJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxi
cj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMiBvZiB0ZXN0
IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1
ZSAnU3ludGF4RXJyb3InLCBBY3R1YWwgdmFsdWUgJ0RpZCBub3QgZ2VuZXJhdGUgQU5ZIGVycm9y
ISEhJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KIC0tPiBG
QUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMyBvZiB0ZXN0IC08YnI+CiAt
LT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnU3ludGF4
RXJyb3InLCBBY3R1YWwgdmFsdWUgJ0RpZCBub3QgZ2VuZXJhdGUgQU5ZIGVycm9yISEhJzxicj4K
IC0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBb
cmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gNCBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVE
ITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnU3ludGF4RXJyb3InLCBB
Y3R1YWwgdmFsdWUgJ0RpZCBub3QgZ2VuZXJhdGUgQU5ZIGVycm9yISEhJzxicj4KLS0tPiBGQUlM
RUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQg
ZnJvbSB0ZXN0KCldIFNlY3Rpb24gNSBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9y
dGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnU3ludGF4RXJyb3InLCBBY3R1YWwgdmFs
dWUgJ0RpZCBub3QgZ2VuZXJhdGUgQU5ZIGVycm9yISEhJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVw
b3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0
KCldIFNlY3Rpb24gNiBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20g
dGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnU3ludGF4RXJyb3InLCBBY3R1YWwgdmFsdWUgJ0RpZCBu
b3QgZ2VuZXJhdGUgQU5ZIGVycm9yISEhJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJv
bSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rp
b24gOSBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBF
eHBlY3RlZCB2YWx1ZSAnU3ludGF4RXJyb3InLCBBY3R1YWwgdmFsdWUgJ0RpZCBub3QgZ2VuZXJh
dGUgQU5ZIGVycm9yISEhJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCld
IDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMTAgb2Yg
dGVzdCAtPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0ZWQg
dmFsdWUgJ1N5bnRheEVycm9yJywgQWN0dWFsIHZhbHVlICdEaWQgbm90IGdlbmVyYXRlIEFOWSBl
cnJvciEhISc8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+Ci0t
LT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9uIDExIG9mIHRlc3QgLTxi
cj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEV4cGVjdGVkIHZhbHVlICdT
eW50YXhFcnJvcicsIEFjdHVhbCB2YWx1ZSAnRGlkIG5vdCBnZW5lcmF0ZSBBTlkgZXJyb3IhISEn
PGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgotLS0+IEZBSUxF
RCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gU2VjdGlvbiAxMiBvZiB0ZXN0IC08YnI+Ci0tLT4g
RkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnU3ludGF4RXJy
b3InLCBBY3R1YWwgdmFsdWUgJ0RpZCBub3QgZ2VuZXJhdGUgQU5ZIGVycm9yISEhJzxicj4KLS0t
PiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVw
b3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMjggb2YgdGVzdCAtPGJyPgotLS0+IEZBSUxFRCE6
IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0ZWQgdmFsdWUgJ1N5bnRheEVycm9yJywgQWN0
dWFsIHZhbHVlICdEaWQgbm90IGdlbmVyYXRlIEFOWSBlcnJvciEhISc8YnI+Ci0tLT4gRkFJTEVE
ITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZy
b20gdGVzdCgpXSBTZWN0aW9uIDI5IG9mIHRlc3QgLTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0
ZWQgZnJvbSB0ZXN0KCldIEV4cGVjdGVkIHZhbHVlICdTeW50YXhFcnJvcicsIEFjdHVhbCB2YWx1
ZSAnRGlkIG5vdCBnZW5lcmF0ZSBBTlkgZXJyb3IhISEnPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBv
cnRlZCBmcm9tIHRlc3QoKV0gPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3Qo
KV0gU2VjdGlvbiAzMCBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20g
dGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnU3ludGF4RXJyb3InLCBBY3R1YWwgdmFsdWUgJ0RpZCBu
b3QgZ2VuZXJhdGUgQU5ZIGVycm9yISEhJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJv
bSB0ZXN0KCldIDxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rp
b24gMzEgb2YgdGVzdCAtPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0g
RXhwZWN0ZWQgdmFsdWUgJ1N5bnRheEVycm9yJywgQWN0dWFsIHZhbHVlICdEaWQgbm90IGdlbmVy
YXRlIEFOWSBlcnJvciEhISc8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgp
XSA8YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9uIDMyIG9m
IHRlc3QgLTxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEV4cGVjdGVk
IHZhbHVlICdTeW50YXhFcnJvcicsIEFjdHVhbCB2YWx1ZSAnRGlkIG5vdCBnZW5lcmF0ZSBBTlkg
ZXJyb3IhISEnPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgot
LS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gU2VjdGlvbiAzMyBvZiB0ZXN0IC08
YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAn
U3ludGF4RXJyb3InLCBBY3R1YWwgdmFsdWUgJ0RpZCBub3QgZ2VuZXJhdGUgQU5ZIGVycm9yISEh
Jzxicj4KLS0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLS0tPiBGQUlM
RUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMzQgb2YgdGVzdCAtPGJyPgotLS0+
IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gRXhwZWN0ZWQgdmFsdWUgJ1N5bnRheEVy
cm9yJywgQWN0dWFsIHZhbHVlICdEaWQgbm90IGdlbmVyYXRlIEFOWSBlcnJvciEhISc8YnI+Ci0t
LT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+Ci0tLT4gRkFJTEVEITogW3Jl
cG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9uIDM1IG9mIHRlc3QgLTxicj4KLS0tPiBGQUlMRUQh
OiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEV4cGVjdGVkIHZhbHVlICdTeW50YXhFcnJvcicsIEFj
dHVhbCB2YWx1ZSAnRGlkIG5vdCBnZW5lcmF0ZSBBTlkgZXJyb3IhISEnPGJyPgotLS0+IEZBSUxF
RCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgotLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gU2VjdGlvbiAzNiBvZiB0ZXN0IC08YnI+Ci0tLT4gRkFJTEVEITogW3JlcG9y
dGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnU3ludGF4RXJyb3InLCBBY3R1YWwgdmFs
dWUgJ0RpZCBub3QgZ2VuZXJhdGUgQU5ZIGVycm9yISEhJzxicj4KLS0tPiBGQUlMRUQhOiBbcmVw
b3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTE4Jz48
L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2VjbWFf
My9SZWdFeHAvcmVncmVzcy0yMDk5MTkuanMnPmVjbWFfMy9SZWdFeHAvcmVncmVzcy0yMDk5MTku
anM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDk5MTknIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDIw
OTkxOTwvYT48YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTE3Jz5QcmV2aW91cyBGYWlsdXJlPC9h
PiB8IDxhIGhyZWY9JyNmYWlsdXJlMTknPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlw
cHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUxNic+PC9hPjxk
ZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9lY21hXzMvUmVn
RXhwL3JlZ3Jlc3MtMjA5OTE5LmpzJz5lY21hXzMvUmVnRXhwL3JlZ3Jlc3MtMjA5OTE5LmpzPC9h
PiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA5OTE5JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciAyMDk5MTk8
L2E+PGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUxNSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8
YSBocmVmPScjZmFpbHVyZTE3Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3Rv
cCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+LS0+IFNUQVRVUzogVGVzdGluZyByZWdleHAg
c3VibWF0Y2hlcyB3aXRoIHF1YW50aWZpZXJzPGJyPgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxi
cj4KIC0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFNlY3Rpb24gMSBvZiB0ZXN0
IC08YnI+CkBAIC01NjUsMzkgKzI4MSwzOSBAQCBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgog
LS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gQWN0dWFsOiBbIjEuMDAwLDAwIiwg
IiIsICIsMDAiXTxicj4KIC0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4K
IDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTE5Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRh
cmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2VjbWFfMy9TdGF0ZW1lbnRzL3JlZ3Jlc3MtMTk0
MzY0LmpzJz5lY21hXzMvU3RhdGVtZW50cy9yZWdyZXNzLTE5NDM2NC5qczwvYT4gZmFpbGVkPC9i
PiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTE4Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxh
IGhyZWY9JyNmYWlsdXJlMjAnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9w
Jz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUxNyc+PC9hPjxkZD48Yj5U
ZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9lY21hXzMvU3RhdGVtZW50
cy9yZWdyZXNzLTE5NDM2NC5qcyc+ZWNtYV8zL1N0YXRlbWVudHMvcmVncmVzcy0xOTQzNjQuanM8
L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUxNic+UHJldmlvdXMgRmFp
bHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTE4Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJl
Zj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBj
b2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgog
Q29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+Ci1bMjA5M10gLi9lY21hXzMvU3RhdGVt
ZW50cy9yZWdyZXNzLTE5NDM2NC5qcyBsaW5lIDE6IFN5bnRheEVycm9yOiBQYXJzZSBlcnJvcjxi
cj4KK1sxODMyOV0gLi9lY21hXzMvU3RhdGVtZW50cy9yZWdyZXNzLTE5NDM2NC5qcyBsaW5lIDE6
IFN5bnRheEVycm9yOiBQYXJzZSBlcnJvcjxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVy
ZTIwJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScu
L2VjbWFfMy9Vbmljb2RlL3VjLTAwMS5qcyc+ZWNtYV8zL1VuaWNvZGUvdWMtMDAxLmpzPC9hPiBm
YWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM2MTAnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDIzNjEwPC9hPjxi
cj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMTknPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJl
Zj0nI2ZhaWx1cmUyMSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRv
cCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTE4Jz48L2E+PGRkPjxiPlRlc3Rj
YXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2VjbWFfMy9Vbmljb2RlL3VjLTAw
MS5qcyc+ZWNtYV8zL1VuaWNvZGUvdWMtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0
dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MTAnIHRhcmdldD0n
b3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDIzNjEwPC9hPjxicj4KKyBbIDxhIGhyZWY9JyNmYWls
dXJlMTcnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUxOSc+TmV4dCBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgog
PHR0Pi0tPiBTVEFUVVM6IFVuaWNvZGUgZm9ybWF0LWNvbnRyb2wgY2hhcmFjdGVyIChDYXRlZ29y
eSBDZikgdGVzdC48YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogLS0+IEZBSUxFRCE6
IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gVW5pY29kZSBmb3JtYXQtY29udHJvbCBjaGFyYWN0ZXIg
dGVzdCAoQ2F0ZWdvcnkgQ2YuKTxicj4KIC0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0
KCldIEV4cGVjdGVkIHZhbHVlICdubyBlcnJvcicsIEFjdHVhbCB2YWx1ZSAnbm/igI4gZXJyb3In
PGJyPgogLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgogPC90dD48YnI+
Ci08YSBuYW1lPSdmYWlsdXJlMjEnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhl
cl93aW5kb3cnIGhyZWY9Jy4vZWNtYV8zL1VuaWNvZGUvdWMtMDAyLmpzJz5lY21hXzMvVW5pY29k
ZS91Yy0wMDIuanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemls
bGEub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzYxMycgdGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBO
dW1iZXIgMjM2MTM8L2E+PGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUyMCc+UHJldmlvdXMgRmFp
bHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTIyJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJl
Zj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlMTkn
PjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vZWNt
YV8zL1VuaWNvZGUvdWMtMDAyLmpzJz5lY21hXzMvVW5pY29kZS91Yy0wMDIuanM8L2E+IGZhaWxl
ZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzYxMycgdGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIgMjM2MTM8L2E+PGJyPgor
IFsgPGEgaHJlZj0nI2ZhaWx1cmUxOCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScj
ZmFpbHVyZTIwJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9m
IFBhZ2U8L2E+IF08YnI+CiA8dHQ+LS0+IFNUQVRVUzogVW5pY29kZSBub24tYnJlYWtpbmcgc3Bh
Y2UgY2hhcmFjdGVyIHRlc3QuPGJyPgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiBG
QUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFVuaWNvZGUgbm9uLWJyZWFraW5nIHNwYWNl
IGNoYXJhY3RlciByZWdleHAgdGVzdC48YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20g
dGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnMCcsIEFjdHVhbCB2YWx1ZSAnLTEnPGJyPgogLS0+IEZB
SUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdm
YWlsdXJlMjInPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhy
ZWY9Jy4vanMxXzIvT2JqZWN0cy90b1N0cmluZy0wMDEuanMnPmpzMV8yL09iamVjdHMvdG9TdHJp
bmctMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMjEnPlBy
ZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUyMyc+TmV4dCBGYWlsdXJlPC9h
PiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0n
ZmFpbHVyZTIwJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBo
cmVmPScuL2pzMV8yL09iamVjdHMvdG9TdHJpbmctMDAxLmpzJz5qczFfMi9PYmplY3RzL3RvU3Ry
aW5nLTAwMS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTE5Jz5Q
cmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMjEnPk5leHQgRmFpbHVyZTwv
YT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBl
Y3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2ln
bmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KIC0tPiBKUzFfMiBP
YmplY3QudG9TdHJpbmcoKTxicj4KLVsyMTE0XSAuL2pzMV8yL09iamVjdHMvdG9TdHJpbmctMDAx
LmpzIGxpbmUgMTAzOiBUeXBlRXJyb3I6IE9iamVjdCAvXlx7KC4qKVx9JC8gKHJlc3VsdCBvZiBl
eHByZXNzaW9uIC9eXHsoLiopXH0kLykgZG9lcyBub3QgYWxsb3cgY2FsbHMuPGJyPgorWzE4MzUw
XSAuL2pzMV8yL09iamVjdHMvdG9TdHJpbmctMDAxLmpzIGxpbmUgMTAzOiBUeXBlRXJyb3I6IE9i
amVjdCAvXlx7KC4qKVx9JC8gKHJlc3VsdCBvZiBleHByZXNzaW9uIC9eXHsoLiopXH0kLykgZG9l
cyBub3QgYWxsb3cgY2FsbHMuPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlMjMnPjwv
YT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIv
ZnVuY3Rpb24vRnVuY3Rpb25fb2JqZWN0LmpzJz5qczFfMi9mdW5jdGlvbi9GdW5jdGlvbl9vYmpl
Y3QuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUyMic+UHJldmlv
dXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTI0Jz5OZXh0IEZhaWx1cmU8L2E+IHwg
PGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWls
dXJlMjEnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9
Jy4vanMxXzIvZnVuY3Rpb24vRnVuY3Rpb25fb2JqZWN0LmpzJz5qczFfMi9mdW5jdGlvbi9GdW5j
dGlvbl9vYmplY3QuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUy
MCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTIyJz5OZXh0IEZhaWx1
cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+
PGJyPgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiBmLm5hbWUgPSB1bmRlZmluZWQg
RkFJTEVEISBleHBlY3RlZDogYV90ZXN0X2Z1bmN0aW9uPGJyPgpAQCAtNjA1LDggKzMyMSw4IEBA
IEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAtLT4gKG5ldyBGdW5jdGlvbigpKS5uYW1lID0g
dW5kZWZpbmVkIEZBSUxFRCEgZXhwZWN0ZWQ6IGFub255bW91czxicj4KIH0gRkFJTEVEISBleHBl
Y3RlZDogPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlMjQnPjwvYT48ZGQ+PGI+VGVz
dGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvZnVuY3Rpb24vZnVu
Y3Rpb24tMDAxLW4uanMnPmpzMV8yL2Z1bmN0aW9uL2Z1bmN0aW9uLTAwMS1uLmpzPC9hPiBmYWls
ZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMjMnPlByZXZpb3VzIEZhaWx1cmU8L2E+
IHwgPGEgaHJlZj0nI2ZhaWx1cmUyNSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBw
eV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTIyJz48L2E+PGRk
PjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL2Z1bmN0
aW9uL2Z1bmN0aW9uLTAwMS1uLmpzJz5qczFfMi9mdW5jdGlvbi9mdW5jdGlvbi0wMDEtbi5qczwv
YT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTIxJz5QcmV2aW91cyBGYWls
dXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMjMnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVm
PScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNv
ZGUgMywgZ290IDA8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBD
b21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KQEAgLTYxNCwxNiArMzMwLDE2IEBAIE9L
Ljxicj4KIC0tPiBmdW5jdGlvbi0wMDEuanMgZnVuY3Rpb25zIG5vdCBzZXBhcmF0ZWQgYnkgc2Vt
aWNvbG9ucyBhcmUgZXJyb3JzIGluIHZlcnNpb24gMTIwIGFuZCBoaWdoZXI8YnI+CiAtLT4gZXZh
bCgiZnVuY3Rpb24gZigpe31mdW5jdGlvbiBnKCl7fSIpID0gdW5kZWZpbmVkIEZBSUxFRCEgZXhw
ZWN0ZWQ6IGVycm9yPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlMjUnPjwvYT48ZGQ+
PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvZnVuY3Rp
b24vcmVnZXhwYXJnLTEuanMnPmpzMV8yL2Z1bmN0aW9uL3JlZ2V4cGFyZy0xLmpzPC9hPiBmYWls
ZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMjQnPlByZXZpb3VzIEZhaWx1cmU8L2E+
IHwgPGEgaHJlZj0nI2ZhaWx1cmUyNic+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBw
eV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTIzJz48L2E+PGRk
PjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL2Z1bmN0
aW9uL3JlZ2V4cGFyZy0xLmpzJz5qczFfMi9mdW5jdGlvbi9yZWdleHBhcmctMS5qczwvYT4gZmFp
bGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTIyJz5QcmV2aW91cyBGYWlsdXJlPC9h
PiB8IDxhIGhyZWY9JyNmYWlsdXJlMjQnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlw
cHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwg
Z290IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0
ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KIC0tPiBKU18xLjIgVGhlIHZhcmlhYmxlIHN0YXRt
ZW50PGJyPgotWzIxMjddIC4vanMxXzIvZnVuY3Rpb24vcmVnZXhwYXJnLTEuanMgbGluZSA4MDog
VHlwZUVycm9yOiBPYmplY3QgL2FiYy8gKHJlc3VsdCBvZiBleHByZXNzaW9uIHgpIGRvZXMgbm90
IGFsbG93IGNhbGxzLjxicj4KK1sxODM2M10gLi9qczFfMi9mdW5jdGlvbi9yZWdleHBhcmctMS5q
cyBsaW5lIDgwOiBUeXBlRXJyb3I6IE9iamVjdCAvYWJjLyAocmVzdWx0IG9mIGV4cHJlc3Npb24g
eCkgZG9lcyBub3QgYWxsb3cgY2FsbHMuPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJl
MjYnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4v
anMxXzIvZnVuY3Rpb24vdG9zdHJpbmctMS5qcyc+anMxXzIvZnVuY3Rpb24vdG9zdHJpbmctMS5q
czwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTI1Jz5QcmV2aW91cyBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMjcnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBo
cmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUy
NCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9q
czFfMi9mdW5jdGlvbi90b3N0cmluZy0xLmpzJz5qczFfMi9mdW5jdGlvbi90b3N0cmluZy0xLmpz
PC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlMjMnPlByZXZpb3VzIEZh
aWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUyNSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhy
ZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0Pjxicj4KIEZhaWx1cmUg
bWVzc2FnZXMgd2VyZTo8YnI+CiB9IEZBSUxFRCEgZXhwZWN0ZWQ6IDxicj4KQEAgLTYzMiw4ICsz
NDgsOCBAQCBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogfSBGQUlMRUQhIGV4cGVjdGVkOiA8
YnI+CiB9IEZBSUxFRCEgZXhwZWN0ZWQ6IDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVy
ZTI3Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScu
L2pzMV8yL2Z1bmN0aW9uL3Rvc3RyaW5nLTIuanMnPmpzMV8yL2Z1bmN0aW9uL3Rvc3RyaW5nLTIu
anM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUyNic+UHJldmlvdXMg
RmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTI4Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJl
MjUnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4v
anMxXzIvZnVuY3Rpb24vdG9zdHJpbmctMi5qcyc+anMxXzIvZnVuY3Rpb24vdG9zdHJpbmctMi5q
czwvYT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTI0Jz5QcmV2aW91cyBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMjYnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBo
cmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD48YnI+CiBGYWlsdXJl
IG1lc3NhZ2VzIHdlcmU6PGJyPgogfSBGQUlMRUQhIGV4cGVjdGVkOiA8YnI+CkBAIC02NDYsMjIg
KzM2MiwyMiBAQCBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogfSBGQUlMRUQhIGV4cGVjdGVk
OiA8YnI+CiB9IEZBSUxFRCEgZXhwZWN0ZWQ6IDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFp
bHVyZTI4Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVm
PScuL2pzMV8yL29wZXJhdG9yL2VxdWFsaXR5LmpzJz5qczFfMi9vcGVyYXRvci9lcXVhbGl0eS5q
czwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTI3Jz5QcmV2aW91cyBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMjknPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBo
cmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUy
Nic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9q
czFfMi9vcGVyYXRvci9lcXVhbGl0eS5qcyc+anMxXzIvb3BlcmF0b3IvZXF1YWxpdHkuanM8L2E+
IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUyNSc+UHJldmlvdXMgRmFpbHVy
ZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTI3Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0n
I3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+PGJyPgogRmFpbHVyZSBtZXNz
YWdlcyB3ZXJlOjxicj4KIC0tPiAobmV3IFN0cmluZygneCcpID09ICd4JykgICAgICAgICAgICAg
ICAgICA9IHRydWUgRkFJTEVEISBleHBlY3RlZDogZmFsc2U8YnI+CiAtLT4gKCd4JyA9PSBuZXcg
U3RyaW5nKCd4JykpICAgICAgICAgICAgICAgICAgPSB0cnVlIEZBSUxFRCEgZXhwZWN0ZWQ6IGZh
bHNlPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlMjknPjwvYT48ZGQ+PGI+VGVzdGNh
c2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvcmVnZXhwL1JlZ0V4cF9s
YXN0SW5kZXguanMnPmpzMV8yL3JlZ2V4cC9SZWdFeHBfbGFzdEluZGV4LmpzPC9hPiBmYWlsZWQ8
L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMjgnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwg
PGEgaHJlZj0nI2ZhaWx1cmUzMCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90
b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTI3Jz48L2E+PGRkPjxi
PlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL3JlZ2V4cC9S
ZWdFeHBfbGFzdEluZGV4LmpzJz5qczFfMi9yZWdleHAvUmVnRXhwX2xhc3RJbmRleC5qczwvYT4g
ZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTI2Jz5QcmV2aW91cyBGYWlsdXJl
PC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMjgnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScj
dGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD48YnI+CiBGYWlsdXJlIG1lc3Nh
Z2VzIHdlcmU6PGJyPgogLS0+IHJlPS94Li9nOyByZS5sYXN0SW5kZXg9NDsgcmUuZXhlYygneHlh
YmNkeGEnKSA9IHhhIEZBSUxFRCEgZXhwZWN0ZWQ6IFsieGEiXTxicj4KIC0tPiByZS5leGVjKCd4
eWFiY2RlZicpID0geHkgRkFJTEVEISBleHBlY3RlZDogWyJ4eSJdPGJyPgogPC90dD48YnI+Ci08
YSBuYW1lPSdmYWlsdXJlMzAnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93
aW5kb3cnIGhyZWY9Jy4vanMxXzIvcmVnZXhwL1JlZ0V4cF9tdWx0aWxpbmUuanMnPmpzMV8yL3Jl
Z2V4cC9SZWdFeHBfbXVsdGlsaW5lLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9
JyNmYWlsdXJlMjknPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUzMSc+
TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBd
PGJyPgorPGEgbmFtZT0nZmFpbHVyZTI4Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0n
b3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL3JlZ2V4cC9SZWdFeHBfbXVsdGlsaW5lLmpzJz5q
czFfMi9yZWdleHAvUmVnRXhwX211bHRpbGluZS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8
YSBocmVmPScjZmFpbHVyZTI3Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWls
dXJlMjknPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFn
ZTwvYT4gXTxicj4KIDx0dD48YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogLS0+ICht
dWx0aWxpbmUgPT0gdHJ1ZSkgJzEyM1xuNDU2Jy5tYXRjaCgvXjQuLi8pID0gbnVsbCBGQUlMRUQh
IGV4cGVjdGVkOiA0NTY8YnI+CkBAIC02NzAsOCArMzg2LDggQEAgRmFpbHVyZSBtZXNzYWdlcyB3
ZXJlOjxicj4KIC0tPiAobXVsdGlsaW5lID09IHRydWUpICdhMTFcbmEyMlxuYTIzXG5hMjQnLm1h
dGNoKC9hLi4kL2cpID0gYTI0IEZBSUxFRCEgZXhwZWN0ZWQ6IGExMSxhMjIsYTIzLGEyNDxicj4K
IC0tPiAobXVsdGlsaW5lID09IHRydWUpICdhMTFcbmEyMlxuYTIzXG5hMjQnLm1hdGNoKG5ldyBS
ZWdFeHAoJ2EuLiQnLCdnJykpID0gYTI0IEZBSUxFRCEgZXhwZWN0ZWQ6IGExMSxhMjIsYTIzLGEy
NDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTMxJz48L2E+PGRkPjxiPlRlc3RjYXNl
IDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL3JlZ2V4cC9SZWdFeHBfbXVs
dGlsaW5lX2FzX2FycmF5LmpzJz5qczFfMi9yZWdleHAvUmVnRXhwX211bHRpbGluZV9hc19hcnJh
eS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTMwJz5QcmV2aW91
cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMzInPk5leHQgRmFpbHVyZTwvYT4gfCA8
YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1
cmUyOSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0n
Li9qczFfMi9yZWdleHAvUmVnRXhwX211bHRpbGluZV9hc19hcnJheS5qcyc+anMxXzIvcmVnZXhw
L1JlZ0V4cF9tdWx0aWxpbmVfYXNfYXJyYXkuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEg
aHJlZj0nI2ZhaWx1cmUyOCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVy
ZTMwJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8
L2E+IF08YnI+CiA8dHQ+PGJyPgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiAoWyck
KiddID09IHRydWUpICcxMjNcbjQ1NicubWF0Y2goL140Li4vKSA9IG51bGwgRkFJTEVEISBleHBl
Y3RlZDogNDU2PGJyPgpAQCAtNjgwLDYwICszOTYsNjAgQEAgRmFpbHVyZSBtZXNzYWdlcyB3ZXJl
Ojxicj4KIC0tPiAoWyckKiddID09IHRydWUpICdhMTFcbmEyMlxuYTIzXG5hMjQnLm1hdGNoKC9h
Li4kL2cpID0gYTI0IEZBSUxFRCEgZXhwZWN0ZWQ6IGExMSxhMjIsYTIzLGEyNDxicj4KIC0tPiAo
WyckKiddID09IHRydWUpICdhMTFcbmEyMlxuYTIzXG5hMjQnLm1hdGNoKG5ldyBSZWdFeHAoJ2Eu
LiQnLCdnJykpID0gYTI0IEZBSUxFRCEgZXhwZWN0ZWQ6IGExMSxhMjIsYTIzLGEyNDxicj4KIDwv
dHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTMyJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdl
dD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL3JlZ2V4cC9iZWdpbkxpbmUuanMnPmpzMV8y
L3JlZ2V4cC9iZWdpbkxpbmUuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2Zh
aWx1cmUzMSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTMzJz5OZXh0
IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+
Cis8YSBuYW1lPSdmYWlsdXJlMzAnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhl
cl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvcmVnZXhwL2JlZ2luTGluZS5qcyc+anMxXzIvcmVnZXhw
L2JlZ2luTGluZS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTI5
Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMzEnPk5leHQgRmFpbHVy
ZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD48
YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogMTIzeHl6Jy5tYXRjaChuZXcgUmVnRXhw
KCdeXGQrJykpID0gbnVsbCBGQUlMRUQhIGV4cGVjdGVkOiAxMjM8YnI+CiA8L3R0Pjxicj4KLTxh
IG5hbWU9J2ZhaWx1cmUzMyc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dp
bmRvdycgaHJlZj0nLi9qczFfMi9yZWdleHAvY29tcGlsZS5qcyc+anMxXzIvcmVnZXhwL2NvbXBp
bGUuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUzMic+UHJldmlv
dXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTM0Jz5OZXh0IEZhaWx1cmU8L2E+IHwg
PGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWls
dXJlMzEnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9
Jy4vanMxXzIvcmVnZXhwL2NvbXBpbGUuanMnPmpzMV8yL3JlZ2V4cC9jb21waWxlLmpzPC9hPiBm
YWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlMzAnPlByZXZpb3VzIEZhaWx1cmU8
L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUzMic+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0
aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29kZSAw
LCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENvbXBs
ZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgogLS0+IEV4ZWN1dGluZyBzY3JpcHQ6IGNvbXBp
bGUuanM8YnI+CiAtLT4gQXMgZGVzY3JpYmVkIGluIE5ldHNjYXBlIGRvYyAiV2hhdHMgbmV3IGlu
IEphdmFTY3JpcHQgMS4yIiBSZWdFeHA6IGNvbXBpbGU8YnI+Ci1bMjE1NF0gLi9qczFfMi9yZWdl
eHAvY29tcGlsZS5qcyBsaW5lIDQzOiBUeXBlRXJyb3I6IFZhbHVlIHVuZGVmaW5lZCAocmVzdWx0
IG9mIGV4cHJlc3Npb24gcmVndWxhckV4cHJlc3Npb24uY29tcGlsZSkgaXMgbm90IG9iamVjdC48
YnI+CitbMTgzOTBdIC4vanMxXzIvcmVnZXhwL2NvbXBpbGUuanMgbGluZSA0MzogVHlwZUVycm9y
OiBWYWx1ZSB1bmRlZmluZWQgKHJlc3VsdCBvZiBleHByZXNzaW9uIHJlZ3VsYXJFeHByZXNzaW9u
LmNvbXBpbGUpIGlzIG5vdCBvYmplY3QuPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJl
MzQnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4v
anMxXzIvcmVnZXhwL2VuZExpbmUuanMnPmpzMV8yL3JlZ2V4cC9lbmRMaW5lLmpzPC9hPiBmYWls
ZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMzMnPlByZXZpb3VzIEZhaWx1cmU8L2E+
IHwgPGEgaHJlZj0nI2ZhaWx1cmUzNSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBw
eV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTMyJz48L2E+PGRk
PjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL3JlZ2V4
cC9lbmRMaW5lLmpzJz5qczFfMi9yZWdleHAvZW5kTGluZS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+
CisgWyA8YSBocmVmPScjZmFpbHVyZTMxJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9
JyNmYWlsdXJlMzMnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Ag
b2YgUGFnZTwvYT4gXTxicj4KIDx0dD48YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgog
eHl6Jy5tYXRjaChuZXcgUmVnRXhwKCdcZCskJykpID0gbnVsbCBGQUlMRUQhIGV4cGVjdGVkOiA4
OTA8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUzNSc+PC9hPjxkZD48Yj5UZXN0Y2Fz
ZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9yZWdleHAvcmVncmVzcy02
MzU5LmpzJz5qczFfMi9yZWdleHAvcmVncmVzcy02MzU5LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhy
ZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9aHR0cDovL2J1
Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU5JyB0YXJnZXQ9J290aGVyX3dp
bmRvdyc+QnVnIE51bWJlciBodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dp
P2lkPTYzNTk8L2E+PGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUzNCc+UHJldmlvdXMgRmFpbHVy
ZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTM2Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0n
I3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlMzMnPjwv
YT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIv
cmVnZXhwL3JlZ3Jlc3MtNjM1OS5qcyc+anMxXzIvcmVnZXhwL3JlZ3Jlc3MtNjM1OS5qczwvYT4g
ZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcu
Y2dpP2lkPWh0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1OScg
dGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIgaHR0cDovL2J1Z3ppbGxhLm1vemlsbGEu
b3JnL3Nob3dfYnVnLmNnaT9pZD02MzU5PC9hPjxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlMzIn
PlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUzNCc+TmV4dCBGYWlsdXJl
PC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4
cGVjdGVkIGV4aXQgY29kZSAwLCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBz
aWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgogLS0+IEJVR05V
TUJFUjogaHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU5PGJy
PgotWzIxNzBdIC4vanMxXzIvcmVnZXhwL3JlZ3Jlc3MtNjM1OS5qcyBsaW5lIDU2OiBUeXBlRXJy
b3I6IE9iamVjdCAvKGEqKWJcMSsvIChyZXN1bHQgb2YgZXhwcmVzc2lvbiAvKGEqKWJcMSsvKSBk
b2VzIG5vdCBhbGxvdyBjYWxscy48YnI+CitbMTg0MDZdIC4vanMxXzIvcmVnZXhwL3JlZ3Jlc3Mt
NjM1OS5qcyBsaW5lIDU2OiBUeXBlRXJyb3I6IE9iamVjdCAvKGEqKWJcMSsvIChyZXN1bHQgb2Yg
ZXhwcmVzc2lvbiAvKGEqKWJcMSsvKSBkb2VzIG5vdCBhbGxvdyBjYWxscy48YnI+CiA8L3R0Pjxi
cj4KLTxhIG5hbWU9J2ZhaWx1cmUzNic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290
aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9yZWdleHAvcmVncmVzcy05MTQxLmpzJz5qczFfMi9y
ZWdleHAvcmVncmVzcy05MTQxLmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6
aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9aHR0cDovL2J1Z3ppbGxhLm1vemlsbGEu
b3JnL3Nob3dfYnVnLmNnaT9pZD05MTQxJyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJl
ciBodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTkxNDE8L2E+PGJy
PgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUzNSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVm
PScjZmFpbHVyZTM3Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9w
IG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlMzQnPjwvYT48ZGQ+PGI+VGVzdGNh
c2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvcmVnZXhwL3JlZ3Jlc3Mt
OTE0MS5qcyc+anMxXzIvcmVnZXhwL3JlZ3Jlc3MtOTE0MS5qczwvYT4gZmFpbGVkPC9iPiA8YSBo
cmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPWh0dHA6Ly9i
dWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE0MScgdGFyZ2V0PSdvdGhlcl93
aW5kb3cnPkJ1ZyBOdW1iZXIgaHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNn
aT9pZD05MTQxPC9hPjxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlMzMnPlByZXZpb3VzIEZhaWx1
cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUzNSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9
JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29k
ZSAwLCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENv
bXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgogLS0+IEJVR05VTUJFUjogaHR0cDovL2J1
Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD05MTQxPGJyPgotWzIxNzFdIC4vanMx
XzIvcmVnZXhwL3JlZ3Jlc3MtOTE0MS5qcyBsaW5lIDczOiBUeXBlRXJyb3I6IE9iamVjdCAvKD86
eHh8eCkqLyAocmVzdWx0IG9mIGV4cHJlc3Npb24gLyg/Onh4fHgpKi8pIGRvZXMgbm90IGFsbG93
IGNhbGxzLjxicj4KK1sxODQwN10gLi9qczFfMi9yZWdleHAvcmVncmVzcy05MTQxLmpzIGxpbmUg
NzM6IFR5cGVFcnJvcjogT2JqZWN0IC8oPzp4eHx4KSovIChyZXN1bHQgb2YgZXhwcmVzc2lvbiAv
KD86eHh8eCkqLykgZG9lcyBub3QgYWxsb3cgY2FsbHMuPGJyPgogPC90dD48YnI+Ci08YSBuYW1l
PSdmYWlsdXJlMzcnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cn
IGhyZWY9Jy4vanMxXzIvcmVnZXhwL3NpbXBsZV9mb3JtLmpzJz5qczFfMi9yZWdleHAvc2ltcGxl
X2Zvcm0uanM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUzNic+UHJl
dmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTM4Jz5OZXh0IEZhaWx1cmU8L2E+
IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdm
YWlsdXJlMzUnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhy
ZWY9Jy4vanMxXzIvcmVnZXhwL3NpbXBsZV9mb3JtLmpzJz5qczFfMi9yZWdleHAvc2ltcGxlX2Zv
cm0uanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUzNCc+UHJldmlv
dXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTM2Jz5OZXh0IEZhaWx1cmU8L2E+IHwg
PGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQg
ZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAw
PGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+CiAtLT4gRXhlY3V0aW5nIHNj
cmlwdDogc2ltcGxlX2Zvcm0uanM8YnI+CiAtLT4gQXMgZGVzY3JpYmVkIGluIE5ldHNjYXBlIGRv
YyAiV2hhdHMgbmV3IGluIEphdmFTY3JpcHQgMS4yIiBSZWdFeHA6IHNpbXBsZSBmb3JtPGJyPgot
WzIxNzJdIC4vanMxXzIvcmVnZXhwL3NpbXBsZV9mb3JtLmpzIGxpbmUgNDM6IFR5cGVFcnJvcjog
T2JqZWN0IC9bMC05XXszfS8gKHJlc3VsdCBvZiBleHByZXNzaW9uIC9bMC05XXszfS8pIGRvZXMg
bm90IGFsbG93IGNhbGxzLjxicj4KK1sxODQwOF0gLi9qczFfMi9yZWdleHAvc2ltcGxlX2Zvcm0u
anMgbGluZSA0MzogVHlwZUVycm9yOiBPYmplY3QgL1swLTldezN9LyAocmVzdWx0IG9mIGV4cHJl
c3Npb24gL1swLTldezN9LykgZG9lcyBub3QgYWxsb3cgY2FsbHMuPGJyPgogPC90dD48YnI+Ci08
YSBuYW1lPSdmYWlsdXJlMzgnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93
aW5kb3cnIGhyZWY9Jy4vanMxXzIvcmVnZXhwL3NwZWNpYWxfY2hhcmFjdGVycy5qcyc+anMxXzIv
cmVnZXhwL3NwZWNpYWxfY2hhcmFjdGVycy5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBo
cmVmPScjZmFpbHVyZTM3Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJl
MzknPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwv
YT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUzNic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJn
ZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9yZWdleHAvc3BlY2lhbF9jaGFyYWN0ZXJz
LmpzJz5qczFfMi9yZWdleHAvc3BlY2lhbF9jaGFyYWN0ZXJzLmpzPC9hPiBmYWlsZWQ8L2I+IDxi
cj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlMzUnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJl
Zj0nI2ZhaWx1cmUzNyc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRv
cCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0Pjxicj4KIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+
CiAtLT4gJ2ELC2IgYSAgYicubWF0Y2goL2ELezJ9LykgPSBudWxsIEZBSUxFRCEgZXhwZWN0ZWQ6
IGELCzxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTM5Jz48L2E+PGRkPjxiPlRlc3Rj
YXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL3JlZ2V4cC9zdHJpbmdf
c3BsaXQuanMnPmpzMV8yL3JlZ2V4cC9zdHJpbmdfc3BsaXQuanM8L2E+IGZhaWxlZDwvYj4gPGJy
PgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUzOCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVm
PScjZmFpbHVyZTQwJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9w
IG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlMzcnPjwvYT48ZGQ+PGI+VGVzdGNh
c2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvcmVnZXhwL3N0cmluZ19z
cGxpdC5qcyc+anMxXzIvcmVnZXhwL3N0cmluZ19zcGxpdC5qczwvYT4gZmFpbGVkPC9iPiA8YnI+
CisgWyA8YSBocmVmPScjZmFpbHVyZTM2Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9
JyNmYWlsdXJlMzgnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Ag
b2YgUGFnZTwvYT4gXTxicj4KIDx0dD48YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgog
LS0+ICdhYmMnLnNwbGl0KC9bYS16XS8pID0gLCwsIEZBSUxFRCEgZXhwZWN0ZWQ6ICwsPGJyPgpA
QCAtNzQxLDIyICs0NTcsMjIgQEAgRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiAnYWJj
Jy5zcGxpdChuZXcgUmVnRXhwKCdbYS16XScpKSA9ICwsLCBGQUlMRUQhIGV4cGVjdGVkOiAsLDxi
cj4KIC0tPiAnYWJjJy5zcGxpdChuZXcgUmVnRXhwKCdbYS16XScpKSA9ICwsLCBGQUlMRUQhIGV4
cGVjdGVkOiAsLDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTQwJz48L2E+PGRkPjxi
PlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL3ZlcnNpb24x
MjAvYm9vbGVhbi0wMDEuanMnPmpzMV8yL3ZlcnNpb24xMjAvYm9vbGVhbi0wMDEuanM8L2E+IGZh
aWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUzOSc+UHJldmlvdXMgRmFpbHVyZTwv
YT4gfCA8YSBocmVmPScjZmFpbHVyZTQxJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3Rp
cHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlMzgnPjwvYT48
ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvdmVy
c2lvbjEyMC9ib29sZWFuLTAwMS5qcyc+anMxXzIvdmVyc2lvbjEyMC9ib29sZWFuLTAwMS5qczwv
YT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTM3Jz5QcmV2aW91cyBGYWls
dXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMzknPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVm
PScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD48YnI+CiBGYWlsdXJlIG1l
c3NhZ2VzIHdlcmU6PGJyPgogLS0+IG5ldyBCb29sZWFuKGZhbHNlKSA9IHRydWUgRkFJTEVEISBl
eHBlY3RlZDogZmFsc2U8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmU0MSc+PC9hPjxk
ZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi92ZXJz
aW9uMTIwL3JlZ3Jlc3MtOTk2NjMuanMnPmpzMV8yL3ZlcnNpb24xMjAvcmVncmVzcy05OTY2My5q
czwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTQwJz5QcmV2aW91cyBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNDInPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBo
cmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUz
OSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9q
czFfMi92ZXJzaW9uMTIwL3JlZ3Jlc3MtOTk2NjMuanMnPmpzMV8yL3ZlcnNpb24xMjAvcmVncmVz
cy05OTY2My5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTM4Jz5Q
cmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNDAnPk5leHQgRmFpbHVyZTwv
YT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD4tLT4g
U1RBVFVTOiBSZWdyZXNzaW9uIHRlc3QgZm9yIEJ1Z3ppbGxhIGJ1ZyA5OTY2Mzxicj4KIEZhaWx1
cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAtLT4gU2VjdGlvbiAxIG9mIHRlc3QgLSBnb3QgRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IGl0IEZBSUxFRCEgZXhwZWN0ZWQ6IGEgInJlYWQtb25seSIg
ZXJyb3I8YnI+CiAtLT4gU2VjdGlvbiAyIG9mIHRlc3QgLSBnb3QgRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IGl0IEZBSUxFRCEgZXhwZWN0ZWQ6IGEgInJlYWQtb25seSIgZXJyb3I8YnI+CiAt
LT4gU2VjdGlvbiAzIG9mIHRlc3QgLSBnb3QgRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGl0
IEZBSUxFRCEgZXhwZWN0ZWQ6IGEgInJlYWQtb25seSIgZXJyb3I8YnI+CiA8L3R0Pjxicj4KLTxh
IG5hbWU9J2ZhaWx1cmU0Mic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dp
bmRvdycgaHJlZj0nLi9qczFfMy9TY3JpcHQvZnVuY3Rpb24tMDAxLW4uanMnPmpzMV8zL1Njcmlw
dC9mdW5jdGlvbi0wMDEtbi5qczwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemls
bGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjc4JyB0YXJnZXQ9J290aGVyX3dpbmRv
dyc+QnVnIE51bWJlciAxMDI3ODwvYT48YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTQxJz5QcmV2
aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNDMnPk5leHQgRmFpbHVyZTwvYT4g
fCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2Zh
aWx1cmU0MCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJl
Zj0nLi9qczFfMy9TY3JpcHQvZnVuY3Rpb24tMDAxLW4uanMnPmpzMV8zL1NjcmlwdC9mdW5jdGlv
bi0wMDEtbi5qczwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxs
YS5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjc4JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51
bWJlciAxMDI3ODwvYT48YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTM5Jz5QcmV2aW91cyBGYWls
dXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNDEnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVm
PScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNv
ZGUgMywgZ290IDA8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBD
b21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KQEAgLTc2NSwxNiArNDgxLDE2IEBAIE9L
Ljxicj4KIC0tPiBmdW5jdGlvbi0wMDEuanMgZnVuY3Rpb25zIG5vdCBzZXBhcmF0ZWQgYnkgc2Vt
aWNvbG9ucyBhcmUgZXJyb3JzIGluIHZlcnNpb24gMTIwIGFuZCBoaWdoZXI8YnI+CiAtLT4gZXZh
bCgiZnVuY3Rpb24gZigpe31mdW5jdGlvbiBnKCl7fSIpID0gdW5kZWZpbmVkIEZBSUxFRCEgZXhw
ZWN0ZWQ6IGVycm9yPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlNDMnPjwvYT48ZGQ+
PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzMvU2NyaXB0
L3NjcmlwdC0wMDEuanMnPmpzMV8zL1NjcmlwdC9zY3JpcHQtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+
IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNDInPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI2ZhaWx1cmU0NCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3An
PlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTQxJz48L2E+PGRkPjxiPlRl
c3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8zL1NjcmlwdC9zY3Jp
cHQtMDAxLmpzJz5qczFfMy9TY3JpcHQvc2NyaXB0LTAwMS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+
CisgWyA8YSBocmVmPScjZmFpbHVyZTQwJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9
JyNmYWlsdXJlNDInPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Ag
b2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CiBU
ZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBv
dXRwdXQgd2FzOjxicj4KIC0tPiBzY3JpcHQtMDAxIE5hdGl2ZVNjcmlwdDxicj4KLVsyMTk5XSAu
L2pzMV8zL1NjcmlwdC9zY3JpcHQtMDAxLmpzIGxpbmUgMTMzOiBSZWZlcmVuY2VFcnJvcjogQ2Fu
J3QgZmluZCB2YXJpYWJsZTogU2NyaXB0PGJyPgorWzE4NDM0XSAuL2pzMV8zL1NjcmlwdC9zY3Jp
cHQtMDAxLmpzIGxpbmUgMTMzOiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
U2NyaXB0PGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlNDQnPjwvYT48ZGQ+PGI+VGVz
dGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzMvcmVncmVzcy9mdW5j
dGlvbi0wMDEtbi5qcyc+anMxXzMvcmVncmVzcy9mdW5jdGlvbi0wMDEtbi5qczwvYT4gZmFpbGVk
PC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lk
PTEwMjc4JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciAxMDI3ODwvYT48YnI+Ci0g
WyA8YSBocmVmPScjZmFpbHVyZTQzJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNm
YWlsdXJlNDUnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2Yg
UGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmU0Mic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8
YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMy9yZWdyZXNzL2Z1bmN0aW9uLTAw
MS1uLmpzJz5qczFfMy9yZWdyZXNzL2Z1bmN0aW9uLTAwMS1uLmpzPC9hPiBmYWlsZWQ8L2I+IDxh
IGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyNzgn
IHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDEwMjc4PC9hPjxicj4KKyBbIDxhIGhy
ZWY9JyNmYWlsdXJlNDEnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU0
Myc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9h
PiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29kZSAzLCBnb3QgMDxicj4KIFRlc3RjYXNlIHRl
cm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6
PGJyPgpAQCAtNzgzLDk3ICs0OTksOTcgQEAgT0suPGJyPgogLS0+IGZ1bmN0aW9uLTAwMS5qcyBm
dW5jdGlvbnMgbm90IHNlcGFyYXRlZCBieSBzZW1pY29sb25zIGFyZSBlcnJvcnMgaW4gdmVyc2lv
biAxMjAgYW5kIGhpZ2hlcjxicj4KIC0tPiBldmFsKCJmdW5jdGlvbiBmKCl7fWZ1bmN0aW9uIGco
KXt9IikgPSB1bmRlZmluZWQgRkFJTEVEISBleHBlY3RlZDogZXJyb3I8YnI+CiA8L3R0Pjxicj4K
LTxhIG5hbWU9J2ZhaWx1cmU0NSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVy
X3dpbmRvdycgaHJlZj0nLi9qczFfNS9FeGNlcHRpb25zL2NhdGNoZ3VhcmQtMDAxLmpzJz5qczFf
NS9FeGNlcHRpb25zL2NhdGNoZ3VhcmQtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxh
IGhyZWY9JyNmYWlsdXJlNDQnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1
cmU0Nic+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdl
PC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTQzJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRh
cmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L0V4Y2VwdGlvbnMvY2F0Y2hndWFyZC0w
MDEuanMnPmpzMV81L0V4Y2VwdGlvbnMvY2F0Y2hndWFyZC0wMDEuanM8L2E+IGZhaWxlZDwvYj4g
PGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmU0Mic+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBo
cmVmPScjZmFpbHVyZTQ0Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+
VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJy
PgogVGVzdGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNh
c2Ugb3V0cHV0IHdhczo8YnI+CiBUZXN0Y2FzZSBwcm9kdWNlZCBubyBvdXRwdXQhPC90dD48YnI+
Ci08YSBuYW1lPSdmYWlsdXJlNDYnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhl
cl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvRXhjZXB0aW9ucy9jYXRjaGd1YXJkLTAwMi5qcyc+anMx
XzUvRXhjZXB0aW9ucy9jYXRjaGd1YXJkLTAwMi5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8
YSBocmVmPScjZmFpbHVyZTQ1Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWls
dXJlNDcnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFn
ZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmU0NCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0
YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9FeGNlcHRpb25zL2NhdGNoZ3VhcmQt
MDAyLmpzJz5qczFfNS9FeGNlcHRpb25zL2NhdGNoZ3VhcmQtMDAyLmpzPC9hPiBmYWlsZWQ8L2I+
IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlNDMnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI2ZhaWx1cmU0NSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3An
PlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29kZSAwLCBnb3QgMzxi
cj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3Rj
YXNlIG91dHB1dCB3YXM6PGJyPgogVGVzdGNhc2UgcHJvZHVjZWQgbm8gb3V0cHV0ITwvdHQ+PGJy
PgotPGEgbmFtZT0nZmFpbHVyZTQ3Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3Ro
ZXJfd2luZG93JyBocmVmPScuL2pzMV81L0V4Y2VwdGlvbnMvY2F0Y2hndWFyZC0wMDMuanMnPmpz
MV81L0V4Y2VwdGlvbnMvY2F0Y2hndWFyZC0wMDMuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsg
PGEgaHJlZj0nI2ZhaWx1cmU0Nic+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFp
bHVyZTQ4Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBh
Z2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlNDUnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEg
dGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvRXhjZXB0aW9ucy9jYXRjaGd1YXJk
LTAwMy5qcyc+anMxXzUvRXhjZXB0aW9ucy9jYXRjaGd1YXJkLTAwMy5qczwvYT4gZmFpbGVkPC9i
PiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTQ0Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxh
IGhyZWY9JyNmYWlsdXJlNDYnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9w
Jz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwgZ290IDM8
YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0
Y2FzZSBvdXRwdXQgd2FzOjxicj4KIFRlc3RjYXNlIHByb2R1Y2VkIG5vIG91dHB1dCE8L3R0Pjxi
cj4KLTxhIG5hbWU9J2ZhaWx1cmU0OCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290
aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9FeGNlcHRpb25zL2VycnN0YWNrLTAwMS5qcyc+anMx
XzUvRXhjZXB0aW9ucy9lcnJzdGFjay0wMDEuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEg
aHJlZj0nI2ZhaWx1cmU0Nyc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVy
ZTQ5Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8
L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlNDYnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFy
Z2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvRXhjZXB0aW9ucy9lcnJzdGFjay0wMDEu
anMnPmpzMV81L0V4Y2VwdGlvbnMvZXJyc3RhY2stMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4K
KyBbIDxhIGhyZWY9JyNmYWlsdXJlNDUnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0n
I2ZhaWx1cmU0Nyc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBv
ZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29kZSAwLCBnb3QgMzxicj4KIFRl
c3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91
dHB1dCB3YXM6PGJyPgotWzIyNDRdIC4vanMxXzUvRXhjZXB0aW9ucy9lcnJzdGFjay0wMDEuanMg
bGluZSAyNDc6IFR5cGVFcnJvcjogVW5kZWZpbmVkIHZhbHVlPGJyPgorWzE4NDc5XSAuL2pzMV81
L0V4Y2VwdGlvbnMvZXJyc3RhY2stMDAxLmpzIGxpbmUgMjQ3OiBUeXBlRXJyb3I6IFVuZGVmaW5l
ZCB2YWx1ZTxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTQ5Jz48L2E+PGRkPjxiPlRl
c3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L0V4Y2VwdGlvbnMv
cmVncmVzcy01MDQ0Ny5qcyc+anMxXzUvRXhjZXB0aW9ucy9yZWdyZXNzLTUwNDQ3LmpzPC9hPiBm
YWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTA0NDcnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDUwNDQ3PC9hPjxi
cj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNDgnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJl
Zj0nI2ZhaWx1cmU1MCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRv
cCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTQ3Jz48L2E+PGRkPjxiPlRlc3Rj
YXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L0V4Y2VwdGlvbnMvcmVn
cmVzcy01MDQ0Ny5qcyc+anMxXzUvRXhjZXB0aW9ucy9yZWdyZXNzLTUwNDQ3LmpzPC9hPiBmYWls
ZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTA0NDcnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDUwNDQ3PC9hPjxicj4K
KyBbIDxhIGhyZWY9JyNmYWlsdXJlNDYnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0n
I2ZhaWx1cmU0OCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBv
ZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29kZSAwLCBnb3QgMzxicj4KIFRl
c3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91
dHB1dCB3YXM6PGJyPgogLS0+IEJVR05VTUJFUjogNTA0NDc8YnI+CiAtLT4gU1RBVFVTOiBUZXN0
IChub24tRUNNQSkgRXJyb3Igb2JqZWN0IHByb3BlcnRpZXMgZmlsZU5hbWUsIGxpbmVOdW1iZXI8
YnI+Ci1bMjI0NV0gLi9qczFfNS9FeGNlcHRpb25zL3JlZ3Jlc3MtNTA0NDcuanMgbGluZSA2NTog
VHlwZUVycm9yOiBVbmRlZmluZWQgdmFsdWU8YnI+CitbMTg0ODBdIC4vanMxXzUvRXhjZXB0aW9u
cy9yZWdyZXNzLTUwNDQ3LmpzIGxpbmUgNjU6IFR5cGVFcnJvcjogVW5kZWZpbmVkIHZhbHVlPGJy
PgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlNTAnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEg
dGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvR2V0U2V0L2dldHNldC0wMDEuanMn
PmpzMV81L0dldFNldC9nZXRzZXQtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhy
ZWY9JyNmYWlsdXJlNDknPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU1
MSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9h
PiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTQ4Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdl
dD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L0dldFNldC9nZXRzZXQtMDAxLmpzJz5qczFf
NS9HZXRTZXQvZ2V0c2V0LTAwMS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScj
ZmFpbHVyZTQ3Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNDknPk5l
eHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxi
cj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5h
dGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4K
IFRlc3RjYXNlIHByb2R1Y2VkIG5vIG91dHB1dCE8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmU1
MSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9q
czFfNS9HZXRTZXQvZ2V0c2V0LTAwMi5qcyc+anMxXzUvR2V0U2V0L2dldHNldC0wMDIuanM8L2E+
IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmU1MCc+UHJldmlvdXMgRmFpbHVy
ZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTUyJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0n
I3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlNDknPjwv
YT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUv
R2V0U2V0L2dldHNldC0wMDIuanMnPmpzMV81L0dldFNldC9nZXRzZXQtMDAyLmpzPC9hPiBmYWls
ZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlNDgnPlByZXZpb3VzIEZhaWx1cmU8L2E+
IHwgPGEgaHJlZj0nI2ZhaWx1cmU1MCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBw
eV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29kZSAwLCBn
b3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENvbXBsZXRl
IHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgogVGVzdGNhc2UgcHJvZHVjZWQgbm8gb3V0cHV0ITwv
dHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTUyJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdl
dD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L0dldFNldC9nZXRzZXQtMDAzLmpzJz5qczFf
NS9HZXRTZXQvZ2V0c2V0LTAwMy5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBocmVmPScj
ZmFpbHVyZTUxJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNTMnPk5l
eHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxi
cj4KKzxhIG5hbWU9J2ZhaWx1cmU1MCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290
aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9HZXRTZXQvZ2V0c2V0LTAwMy5qcyc+anMxXzUvR2V0
U2V0L2dldHNldC0wMDMuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1
cmU0OSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTUxJz5OZXh0IEZh
aWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8
dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVybWluYXRlZCB3
aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+CiBUZXN0
Y2FzZSBwcm9kdWNlZCBubyBvdXRwdXQhPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlNTMnPjwv
YT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUv
T2JqZWN0L3JlZ3Jlc3MtOTA1OTYtMDAxLmpzJz5qczFfNS9PYmplY3QvcmVncmVzcy05MDU5Ni0w
MDEuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmU1Mic+UHJldmlv
dXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTU0Jz5OZXh0IEZhaWx1cmU8L2E+IHwg
PGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWls
dXJlNTEnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9
Jy4vanMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTA1OTYtMDAxLmpzJz5qczFfNS9PYmplY3QvcmVncmVz
cy05MDU5Ni0wMDEuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmU1
MCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTUyJz5OZXh0IEZhaWx1
cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+
RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVybWluYXRlZCB3aXRo
IHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+Ci1bMjI2MF0g
Li9qczFfNS9PYmplY3QvcmVncmVzcy05MDU5Ni0wMDEuanMgbGluZSA0ODogVHlwZUVycm9yOiBW
YWx1ZSB1bmRlZmluZWQgKHJlc3VsdCBvZiBleHByZXNzaW9uIG9iai50b1NvdXJjZSkgaXMgbm90
IG9iamVjdC48YnI+CitbMTg0OTVdIC4vanMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTA1OTYtMDAxLmpz
IGxpbmUgNDg6IFR5cGVFcnJvcjogVmFsdWUgdW5kZWZpbmVkIChyZXN1bHQgb2YgZXhwcmVzc2lv
biBvYmoudG9Tb3VyY2UpIGlzIG5vdCBvYmplY3QuPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdm
YWlsdXJlNTQnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhy
ZWY9Jy4vanMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTA1OTYtMDAyLmpzJz5qczFfNS9PYmplY3QvcmVn
cmVzcy05MDU5Ni0wMDIuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1
cmU1Myc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTU1Jz5OZXh0IEZh
aWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8
YSBuYW1lPSdmYWlsdXJlNTInPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93
aW5kb3cnIGhyZWY9Jy4vanMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTA1OTYtMDAyLmpzJz5qczFfNS9P
YmplY3QvcmVncmVzcy05MDU5Ni0wMDIuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJl
Zj0nI2ZhaWx1cmU1MSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTUz
Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+
IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVy
bWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8
YnI+Ci1bMjI2MV0gLi9qczFfNS9PYmplY3QvcmVncmVzcy05MDU5Ni0wMDIuanMgbGluZSA0ODog
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHVuZXZhbDxicj4KK1sxODQ5Nl0g
Li9qczFfNS9PYmplY3QvcmVncmVzcy05MDU5Ni0wMDIuanMgbGluZSA0ODogUmVmZXJlbmNlRXJy
b3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHVuZXZhbDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0n
ZmFpbHVyZTU1Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBo
cmVmPScuL2pzMV81L09iamVjdC9yZWdyZXNzLTk2Mjg0LTAwMS5qcyc+anMxXzUvT2JqZWN0L3Jl
Z3Jlc3MtOTYyODQtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWls
dXJlNTQnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU1Nic+TmV4dCBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgor
PGEgbmFtZT0nZmFpbHVyZTUzJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJf
d2luZG93JyBocmVmPScuL2pzMV81L09iamVjdC9yZWdyZXNzLTk2Mjg0LTAwMS5qcyc+anMxXzUv
T2JqZWN0L3JlZ3Jlc3MtOTYyODQtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhy
ZWY9JyNmYWlsdXJlNTInPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU1
NCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9h
PiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29kZSAwLCBnb3QgMzxicj4KIFRlc3RjYXNlIHRl
cm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6
PGJyPgotWzIyNjNdIC4vanMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTYyODQtMDAxLmpzIGxpbmUgNDk6
IFR5cGVFcnJvcjogVmFsdWUgdW5kZWZpbmVkIChyZXN1bHQgb2YgZXhwcmVzc2lvbiBvYmoxLnRv
U291cmNlKSBpcyBub3Qgb2JqZWN0Ljxicj4KK1sxODQ5OF0gLi9qczFfNS9PYmplY3QvcmVncmVz
cy05NjI4NC0wMDEuanMgbGluZSA0OTogVHlwZUVycm9yOiBWYWx1ZSB1bmRlZmluZWQgKHJlc3Vs
dCBvZiBleHByZXNzaW9uIG9iajEudG9Tb3VyY2UpIGlzIG5vdCBvYmplY3QuPGJyPgogPC90dD48
YnI+Ci08YSBuYW1lPSdmYWlsdXJlNTYnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdv
dGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTYyODQtMDAyLmpzJz5q
czFfNS9PYmplY3QvcmVncmVzcy05NjI4NC0wMDIuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsg
PGEgaHJlZj0nI2ZhaWx1cmU1NSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFp
bHVyZTU3Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBh
Z2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlNTQnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEg
dGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTYyODQt
MDAyLmpzJz5qczFfNS9PYmplY3QvcmVncmVzcy05NjI4NC0wMDIuanM8L2E+IGZhaWxlZDwvYj4g
PGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmU1Myc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBo
cmVmPScjZmFpbHVyZTU1Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+
VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJy
PgogVGVzdGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNh
c2Ugb3V0cHV0IHdhczo8YnI+Ci1bMjI2NF0gLi9qczFfNS9PYmplY3QvcmVncmVzcy05NjI4NC0w
MDIuanMgbGluZSA0OTogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHVuZXZh
bDxicj4KK1sxODQ5OV0gLi9qczFfNS9PYmplY3QvcmVncmVzcy05NjI4NC0wMDIuanMgbGluZSA0
OTogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IHVuZXZhbDxicj4KIDwvdHQ+
PGJyPgotPGEgbmFtZT0nZmFpbHVyZTU3Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0n
b3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L1JlZ3Jlc3MvcmVncmVzcy00NDAwOS5qcyc+anMx
XzUvUmVncmVzcy9yZWdyZXNzLTQ0MDA5LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6
Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQwMDknIHRhcmdldD0nb3Ro
ZXJfd2luZG93Jz5CdWcgTnVtYmVyIDQ0MDA5PC9hPjxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJl
NTYnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU1OCc+TmV4dCBGYWls
dXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEg
bmFtZT0nZmFpbHVyZTU1Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2lu
ZG93JyBocmVmPScuL2pzMV81L1JlZ3Jlc3MvcmVncmVzcy00NDAwOS5qcyc+anMxXzUvUmVncmVz
cy9yZWdyZXNzLTQ0MDA5LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxs
YS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQwMDknIHRhcmdldD0nb3RoZXJfd2luZG93
Jz5CdWcgTnVtYmVyIDQ0MDA5PC9hPjxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlNTQnPlByZXZp
b3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU1Nic+TmV4dCBGYWlsdXJlPC9hPiB8
IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVk
IGV4aXQgY29kZSAwLCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwg
MDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgogLS0+IEJVR05VTUJFUjog
NDQwMDk8YnI+CiAtLT4gU1RBVFVTOiBUZXN0aW5nIHRoYXQgd2UgZG9uJ3QgY3Jhc2ggb24gb2Jq
LnRvU291cmNlKCk8YnI+Ci1bMjI2OV0gLi9qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtNDQwMDkuanMg
bGluZSA2MDogVHlwZUVycm9yOiBWYWx1ZSB1bmRlZmluZWQgKHJlc3VsdCBvZiBleHByZXNzaW9u
IG9iai50b1NvdXJjZSkgaXMgbm90IG9iamVjdC48YnI+CitbMTg1MDRdIC4vanMxXzUvUmVncmVz
cy9yZWdyZXNzLTQ0MDA5LmpzIGxpbmUgNjA6IFR5cGVFcnJvcjogVmFsdWUgdW5kZWZpbmVkIChy
ZXN1bHQgb2YgZXhwcmVzc2lvbiBvYmoudG9Tb3VyY2UpIGlzIG5vdCBvYmplY3QuPGJyPgogPC90
dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlNTgnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0
PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvUmVncmVzcy9yZWdyZXNzLTY4NDk4LTAwMy5q
cyc+anMxXzUvUmVncmVzcy9yZWdyZXNzLTY4NDk4LTAwMy5qczwvYT4gZmFpbGVkPC9iPiA8YSBo
cmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDk4JyB0
YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciA2ODQ5ODwvYT48YnI+Ci0gWyA8YSBocmVm
PScjZmFpbHVyZTU3Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNTkn
Pk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4g
XTxicj4KKzxhIG5hbWU9J2ZhaWx1cmU1Nic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9
J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtNjg0OTgtMDAzLmpz
Jz5qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtNjg0OTgtMDAzLmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhy
ZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0OTgnIHRh
cmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDY4NDk4PC9hPjxicj4KKyBbIDxhIGhyZWY9
JyNmYWlsdXJlNTUnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU1Nyc+
TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBd
PGJyPgogPHR0Pi0tPiBTVEFUVVM6IFRlc3RpbmcgY2FsbGluZyBvYmouZXZhbChzdHIpPGJyPgog
RmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIC0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0
ZXN0KCldIFRlc3RpbmcgY2FsbGluZyBvYmouZXZhbChzdHIpOyBjdXJyZW50bHkgYXQgZXhwZWN0
WzFdIHdpdGhpbiB0ZXN0IC08YnI+CkBAIC04ODEsOCArNTk3LDggQEAgRmFpbHVyZSBtZXNzYWdl
cyB3ZXJlOjxicj4KIC0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIEV4cGVjdGVk
IHZhbHVlICc0MycsIEFjdHVhbCB2YWx1ZSAnZmFsc2UnPGJyPgogLS0+IEZBSUxFRCE6IFtyZXBv
cnRlZCBmcm9tIHRlc3QoKV0gPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlNTknPjwv
YT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUv
UmVncmVzcy9yZWdyZXNzLTEwMzYwMi5qcyc+anMxXzUvUmVncmVzcy9yZWdyZXNzLTEwMzYwMi5q
czwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hv
d19idWcuY2dpP2lkPTEwMzYwMicgdGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIgMTAz
NjAyPC9hPjxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNTgnPlByZXZpb3VzIEZhaWx1cmU8L2E+
IHwgPGEgaHJlZj0nI2ZhaWx1cmU2MCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBw
eV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTU3Jz48L2E+PGRk
PjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L1JlZ3Jl
c3MvcmVncmVzcy0xMDM2MDIuanMnPmpzMV81L1JlZ3Jlc3MvcmVncmVzcy0xMDM2MDIuanM8L2E+
IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDM2MDInIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDEwMzYwMjwv
YT48YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTU2Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxh
IGhyZWY9JyNmYWlsdXJlNTgnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9w
Jz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD4tLT4gU1RBVFVTOiBSZWFzc2lnbm1lbnQgdG8g
YSBjb25zdCBpcyBOT1QgYW4gZXJyb3IgcGVyIEVDTUE8YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdl
cmU6PGJyPgogLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gU2VjdGlvbiAxIG9m
IHRlc3QgLTxicj4KQEAgLTg5MiwyOCArNjA4LDI4IEBAIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8
YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAn
MScsIEFjdHVhbCB2YWx1ZSAnMic8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVz
dCgpXSA8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmU2MCc+PC9hPjxkZD48Yj5UZXN0
Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9SZWdyZXNzL3JlZ3Jl
c3MtMTA0MDc3LmpzJz5qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtMTA0MDc3LmpzPC9hPiBmYWlsZWQ8
L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNTknPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwg
PGEgaHJlZj0nI2ZhaWx1cmU2MSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90
b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTU4Jz48L2E+PGRkPjxi
PlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L1JlZ3Jlc3Mv
cmVncmVzcy0xMDQwNzcuanMnPmpzMV81L1JlZ3Jlc3MvcmVncmVzcy0xMDQwNzcuanM8L2E+IGZh
aWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmU1Nyc+UHJldmlvdXMgRmFpbHVyZTwv
YT4gfCA8YSBocmVmPScjZmFpbHVyZTU5Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3Rp
cHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAs
IGdvdCAzPGJyPgogVGVzdGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxl
dGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+CiBUZXN0Y2FzZSBwcm9kdWNlZCBubyBvdXRwdXQh
PC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlNjEnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFy
Z2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvUmVncmVzcy9yZWdyZXNzLTEyNzU1Ny5q
cyc+anMxXzUvUmVncmVzcy9yZWdyZXNzLTEyNzU1Ny5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0g
WyA8YSBocmVmPScjZmFpbHVyZTYwJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNm
YWlsdXJlNjInPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2Yg
UGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmU1OSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8
YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtMTI3
NTU3LmpzJz5qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtMTI3NTU3LmpzPC9hPiBmYWlsZWQ8L2I+IDxi
cj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlNTgnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJl
Zj0nI2ZhaWx1cmU2MCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRv
cCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29kZSAwLCBnb3QgMzxicj4K
IFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNl
IG91dHB1dCB3YXM6PGJyPgotWzIyOTVdIC4vanMxXzUvUmVncmVzcy9yZWdyZXNzLTEyNzU1Ny5q
cyBsaW5lIDc1OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogY2xvbmU8YnI+
CitbMTg1MzBdIC4vanMxXzUvUmVncmVzcy9yZWdyZXNzLTEyNzU1Ny5qcyBsaW5lIDc1OiBSZWZl
cmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogY2xvbmU8YnI+CiA8L3R0Pjxicj4KLTxh
IG5hbWU9J2ZhaWx1cmU2Mic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dp
bmRvdycgaHJlZj0nLi9qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtMTcyNjk5LmpzJz5qczFfNS9SZWdy
ZXNzL3JlZ3Jlc3MtMTcyNjk5LmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNm
YWlsdXJlNjEnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU2Myc+TmV4
dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJy
PgorPGEgbmFtZT0nZmFpbHVyZTYwJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3Ro
ZXJfd2luZG93JyBocmVmPScuL2pzMV81L1JlZ3Jlc3MvcmVncmVzcy0xNzI2OTkuanMnPmpzMV81
L1JlZ3Jlc3MvcmVncmVzcy0xNzI2OTkuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJl
Zj0nI2ZhaWx1cmU1OSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTYx
Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+
IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVy
bWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8
YnI+Ci1bMjMwNF0gLi9qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtMTcyNjk5LmpzIGxpbmUgNjE6IFVS
SUVycm9yOiBVUkkgZXJyb3I8YnI+CitbMTg1MzldIC4vanMxXzUvUmVncmVzcy9yZWdyZXNzLTE3
MjY5OS5qcyBsaW5lIDYxOiBVUklFcnJvcjogVVJJIGVycm9yPGJyPgogPC90dD48YnI+Ci08YSBu
YW1lPSdmYWlsdXJlNjMnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5k
b3cnIGhyZWY9Jy4vanMxXzUvUmVncmVzcy9yZWdyZXNzLTE3OTUyNC5qcyc+anMxXzUvUmVncmVz
cy9yZWdyZXNzLTE3OTUyNC5qczwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemls
bGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTUyNCcgdGFyZ2V0PSdvdGhlcl93aW5k
b3cnPkJ1ZyBOdW1iZXIgMTc5NTI0PC9hPjxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNjInPlBy
ZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU2NCc+TmV4dCBGYWlsdXJlPC9h
PiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0n
ZmFpbHVyZTYxJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBo
cmVmPScuL2pzMV81L1JlZ3Jlc3MvcmVncmVzcy0xNzk1MjQuanMnPmpzMV81L1JlZ3Jlc3MvcmVn
cmVzcy0xNzk1MjQuanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1v
emlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk1MjQnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5C
dWcgTnVtYmVyIDE3OTUyNDwvYT48YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTYwJz5QcmV2aW91
cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNjInPk5leHQgRmFpbHVyZTwvYT4gfCA8
YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD4tLT4gU1RBVFVT
OiBEb24ndCBjcmFzaCBvbiBleHRyYW5lb3VzIGFyZ3VtZW50cyB0byBzdHIubWF0Y2goKSwgZXRj
Ljxicj4KIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVk
IGZyb20gdGVzdCgpXSBTZWN0aW9uIDE0IG9mIHRlc3QgLTxicj4KQEAgLTk2Myw4ICs2NzksOCBA
QCBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9t
IHRlc3QoKV0gRXhwZWN0ZWQgdmFsdWUgJ1NIT1VMRCBIQVZFIEZBTExFTiBJTlRPIENBVENILUJM
T0NLIScsIEFjdHVhbCB2YWx1ZSAnQUJDIFpiYyc8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVk
IGZyb20gdGVzdCgpXSA8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmU2NCc+PC9hPjxk
ZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9TY29w
ZS9yZWdyZXNzLTE4NTQ4NS5qcyc+anMxXzUvU2NvcGUvcmVncmVzcy0xODU0ODUuanM8L2E+IGZh
aWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODU0ODUnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDE4NTQ4NTwvYT48
YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTYzJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhy
ZWY9JyNmYWlsdXJlNjUnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5U
b3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmU2Mic+PC9hPjxkZD48Yj5UZXN0
Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9TY29wZS9yZWdyZXNz
LTE4NTQ4NS5qcyc+anMxXzUvU2NvcGUvcmVncmVzcy0xODU0ODUuanM8L2E+IGZhaWxlZDwvYj4g
PGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xODU0
ODUnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDE4NTQ4NTwvYT48YnI+CisgWyA8
YSBocmVmPScjZmFpbHVyZTYxJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWls
dXJlNjMnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFn
ZTwvYT4gXTxicj4KIDx0dD4tLT4gU1RBVFVTOiBUZXN0aW5nIHx3aXRoICh4KSB7ZnVuY3Rpb24g
ZigpIHt9fXwgd2hlbiB8eC5mfCBhbHJlYWR5IGV4aXN0czxicj4KIEZhaWx1cmUgbWVzc2FnZXMg
d2VyZTo8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9uIDIg
b2YgdGVzdCAtPGJyPgpAQCAtOTc5LDE1ICs2OTUsMTUgQEAgRmFpbHVyZSBtZXNzYWdlcyB3ZXJl
Ojxicj4KIC0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIH0nLCBBY3R1YWwgdmFs
dWUgJzAnPGJyPgogLS0+IEZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgogPC90
dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlNjUnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0
PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvU2NvcGUvcmVncmVzcy0yMjA1ODQuanMnPmpz
MV81L1Njb3BlL3JlZ3Jlc3MtMjIwNTg0LmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhy
ZWY9JyNmYWlsdXJlNjQnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU2
Nic+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9h
PiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTYzJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdl
dD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L1Njb3BlL3JlZ3Jlc3MtMjIwNTg0LmpzJz5q
czFfNS9TY29wZS9yZWdyZXNzLTIyMDU4NC5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBo
cmVmPScjZmFpbHVyZTYyJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJl
NjQnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwv
YT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CiBUZXN0Y2FzZSB0
ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2Fz
Ojxicj4KLVsyMzI5XSAuL2pzMV81L1Njb3BlL3JlZ3Jlc3MtMjIwNTg0LmpzIGxpbmUgNTY6IFJl
ZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTY3JpcHQ8YnI+CitbMTg1NjRdIC4v
anMxXzUvU2NvcGUvcmVncmVzcy0yMjA1ODQuanMgbGluZSA1NjogUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IFNjcmlwdDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVy
ZTY2Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScu
L2pzMV81L1Njb3BlL3Njb3BlLTAwMS5qcyc+anMxXzUvU2NvcGUvc2NvcGUtMDAxLmpzPC9hPiBm
YWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTMyNjgnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDUzMjY4PC9hPjxi
cj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNjUnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJl
Zj0nI2ZhaWx1cmU2Nyc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRv
cCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTY0Jz48L2E+PGRkPjxiPlRlc3Rj
YXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L1Njb3BlL3Njb3BlLTAw
MS5qcyc+anMxXzUvU2NvcGUvc2NvcGUtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0
dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMyNjgnIHRhcmdldD0n
b3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDUzMjY4PC9hPjxicj4KKyBbIDxhIGhyZWY9JyNmYWls
dXJlNjMnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU2NSc+TmV4dCBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgog
PHR0Pi0tPiBTVEFUVVM6IFRlc3Rpbmcgc2NvcGUgYWZ0ZXIgY2hhbmdpbmcgb2JqLl9fcHJvdG9f
Xzxicj4KIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAtLT4gRkFJTEVEITogW3JlcG9ydGVk
IGZyb20gdGVzdCgpXSBTdGVwIDE6ICBzZXR0aW5nIG9iai5fX3Byb3RvX18gPSBnbG9iYWwgb2Jq
ZWN0PGJyPgpAQCAtOTk4LDggKzcxNCw4IEBAIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAt
LT4gRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAndW5kZWZp
bmVkJywgQWN0dWFsIHZhbHVlICcxJzxicj4KIC0tPiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0
ZXN0KCldIDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTY3Jz48L2E+PGRkPjxiPlRl
c3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV82L1JlZ3Jlc3MvcmVn
cmVzcy0zMDE1NzQuanMnPmpzMV82L1JlZ3Jlc3MvcmVncmVzcy0zMDE1NzQuanM8L2E+IGZhaWxl
ZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zMDE1NzQnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDMwMTU3NDwvYT48YnI+
Ci0gWyA8YSBocmVmPScjZmFpbHVyZTY2Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9
JyNmYWlsdXJlNjgnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Ag
b2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmU2NSc+PC9hPjxkZD48Yj5UZXN0Y2Fz
ZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNi9SZWdyZXNzL3JlZ3Jlc3Mt
MzAxNTc0LmpzJz5qczFfNi9SZWdyZXNzL3JlZ3Jlc3MtMzAxNTc0LmpzPC9hPiBmYWlsZWQ8L2I+
IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAx
NTc0JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciAzMDE1NzQ8L2E+PGJyPgorIFsg
PGEgaHJlZj0nI2ZhaWx1cmU2NCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFp
bHVyZTY2Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBh
Z2U8L2E+IF08YnI+CiA8dHQ+LS0+IFNUQVRVUzogRTRYIHNob3VsZCBiZSBlbmFibGVkIGV2ZW4g
d2hlbiBlNHg9MSBub3Qgc3BlY2lmaWVkPGJyPgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4K
IC0tPiBGQUlMRUQhOiBFNFggc2hvdWxkIGJlIGVuYWJsZWQgZXZlbiB3aGVuIGU0eD0xIG5vdCBz
cGVjaWZpZWQ6IFhNTCgpPGJyPgpAQCAtMTAwOSwyNyArNzI1LDI3IEBAIEZhaWx1cmUgbWVzc2Fn
ZXMgd2VyZTo8YnI+CiAtLT4gRkFJTEVEITogRXhwZWN0ZWQgdmFsdWUgJ05vIGVycm9yJywgQWN0
dWFsIHZhbHVlICdlcnJvcjogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFhN
TCc8YnI+CiAtLT4gRkFJTEVEITogPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlNjgn
PjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMx
XzYvUmVncmVzcy9yZWdyZXNzLTMwOTI0Mi5qcyc+anMxXzYvUmVncmVzcy9yZWdyZXNzLTMwOTI0
Mi5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTY3Jz5QcmV2aW91
cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNjknPk5leHQgRmFpbHVyZTwvYT4gfCA8
YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1
cmU2Nic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0n
Li9qczFfNi9SZWdyZXNzL3JlZ3Jlc3MtMzA5MjQyLmpzJz5qczFfNi9SZWdyZXNzL3JlZ3Jlc3Mt
MzA5MjQyLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlNjUnPlBy
ZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU2Nyc+TmV4dCBGYWlsdXJlPC9h
PiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVj
dGVkIGV4aXQgY29kZSAwLCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWdu
YWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgogVGVzdGNhc2UgcHJv
ZHVjZWQgbm8gb3V0cHV0ITwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTY5Jz48L2E+PGRkPjxi
PlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV82L1JlZ3Jlc3Mv
cmVncmVzcy0zMTQ4ODcuanMnPmpzMV82L1JlZ3Jlc3MvcmVncmVzcy0zMTQ4ODcuanM8L2E+IGZh
aWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmU2OCc+UHJldmlvdXMgRmFpbHVyZTwv
YT4gfCA8YSBocmVmPScjZmFpbHVyZTcwJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3Rp
cHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlNjcnPjwvYT48
ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzYvUmVn
cmVzcy9yZWdyZXNzLTMxNDg4Ny5qcyc+anMxXzYvUmVncmVzcy9yZWdyZXNzLTMxNDg4Ny5qczwv
YT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTY2Jz5QcmV2aW91cyBGYWls
dXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNjgnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVm
PScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNv
ZGUgMCwgZ290IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBD
b21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KIFRlc3RjYXNlIHByb2R1Y2VkIG5vIG91
dHB1dCE8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmU3MCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8
YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNi9TdHJpbmcvcmVncmVzcy0zMDY1
OTEuanMnPmpzMV82L1N0cmluZy9yZWdyZXNzLTMwNjU5MS5qczwvYT4gZmFpbGVkPC9iPiA8YSBo
cmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTMwNjU5MScg
dGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIgMzA2NTkxPC9hPjxicj4KLSBbIDxhIGhy
ZWY9JyNmYWlsdXJlNjknPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU3
MSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9h
PiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTY4Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdl
dD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV82L1N0cmluZy9yZWdyZXNzLTMwNjU5MS5qcyc+
anMxXzYvU3RyaW5nL3JlZ3Jlc3MtMzA2NTkxLmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0
dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzA2NTkxJyB0YXJnZXQ9
J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciAzMDY1OTE8L2E+PGJyPgorIFsgPGEgaHJlZj0nI2Zh
aWx1cmU2Nyc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTY5Jz5OZXh0
IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+
CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVybWluYXRl
ZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+CiAt
LT4gQlVHTlVNQkVSOiAzMDY1OTE8YnI+CiAtLT4gU1RBVFVTOiBTdHJpbmcgc3RhdGljIG1ldGhv
ZHM8YnI+CiAtLT4gU1RBVFVTOiBTZWUgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzA0ODI4PGJyPgotWzIzNTFdIC4vanMxXzYvU3RyaW5nL3JlZ3Jlc3MtMzA2
NTkxLmpzIGxpbmUgNDg6IFR5cGVFcnJvcjogVmFsdWUgdW5kZWZpbmVkIChyZXN1bHQgb2YgZXhw
cmVzc2lvbiBTdHJpbmcuc3BsaXQpIGlzIG5vdCBvYmplY3QuPGJyPgorWzE4NTg2XSAuL2pzMV82
L1N0cmluZy9yZWdyZXNzLTMwNjU5MS5qcyBsaW5lIDQ4OiBUeXBlRXJyb3I6IFZhbHVlIHVuZGVm
aW5lZCAocmVzdWx0IG9mIGV4cHJlc3Npb24gU3RyaW5nLnNwbGl0KSBpcyBub3Qgb2JqZWN0Ljxi
cj4KIDwvdHQ+PGJyPgogPC9kbD4KIFsgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8
L2E+IHwgPGEgaHJlZj0nI2ZhaWxfZGV0YWlsJz5Ub3Agb2YgRmFpbHVyZXM8L2E+IF08YnI+CkBA
IC0xMDM3LDkgKzc1Myw5IEBAIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgogPHBy
ZT4KIDxhIG5hbWU9J3JldGVzdF9saXN0Jz48L2E+CiA8aDI+UmV0ZXN0IExpc3Q8L2gyPjxicj4K
LSMgUmV0ZXN0IExpc3QsIGtqcywgZ2VuZXJhdGVkIFRodSBEZWMgIDcgMTk6MDY6MzAgMjAwNi4K
KyMgUmV0ZXN0IExpc3QsIGtqcywgZ2VuZXJhdGVkIE1vbiBKYW4gIDEgMDg6Mzg6NTQgMjAwNy4K
ICMgT3JpZ2luYWwgdGVzdCBiYXNlIHdhczogQWxsIHRlc3RzLgotIyAxMTI3IG9mIDExMzUgdGVz
dChzKSB3ZXJlIGNvbXBsZXRlZCwgNzAgZmFpbHVyZXMgcmVwb3J0ZWQuCisjIDExMjcgb2YgMTEz
NSB0ZXN0KHMpIHdlcmUgY29tcGxldGVkLCA2OCBmYWlsdXJlcyByZXBvcnRlZC4KIGVjbWEvR2xv
YmFsT2JqZWN0LzE1LjEuMi4yLTIuanMKIGVjbWEvTGV4aWNhbENvbnZlbnRpb25zLzcuNy4zLTEu
anMKIGVjbWEvVHlwZUNvbnZlcnNpb24vOS4zLjEtMy5qcwpAQCAtMTA0OSwxMiArNzY1LDEwIEBA
IGVjbWFfMi9SZWdFeHAvdW5pY29kZS0wMDEuanMKIGVjbWFfMy9EYXRlLzE1LjkuNS43LmpzCiBl
Y21hXzMvRnVuRXhwci9mZS0wMDEuanMKIGVjbWFfMy9SZWdFeHAvMTUuMTAuMi0xLmpzCi1lY21h
XzMvUmVnRXhwL29jdGFsLTAwMi5qcwogZWNtYV8zL1JlZ0V4cC9wZXJsc3RyZXNzLTAwMS5qcwog
ZWNtYV8zL1JlZ0V4cC9wZXJsc3RyZXNzLTAwMi5qcwogZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTcy
OTY0LmpzCiBlY21hXzMvUmVnRXhwL3JlZ3Jlc3MtNzgxNTYuanMKLWVjbWFfMy9SZWdFeHAvcmVn
cmVzcy04NTcyMS5qcwogZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTEwMDE5OS5qcwogZWNtYV8zL1Jl
Z0V4cC9yZWdyZXNzLTE4ODIwNi5qcwogZWNtYV8zL1JlZ0V4cC9yZWdyZXNzLTIwOTkxOS5qcwpJ
bmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDE4NTAyKQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNCBAQAorMjAwNy0wMS0wMSAgTWl0eiBQZXR0ZWwgIDxtaXR6QHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBXZWJD
b3JlIGNoYW5nZXMgZm9yIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEx
ODQ5CisgICAgICAgICAgUkVHUkVTU0lPTiAocjE4MTgyKTogR29vZ2xlIENhbGVuZGFyIGlzIGJy
b2tlbiAoYSByZWd1bGFyIGV4cHJlc3Npb24gY29udGFpbmluZyBhIG51bGwgY2hhcmFjdGVyIGlz
IG5vdCBwYXJzZWQgY29ycmVjdGx5KQorCisgICAgICAgICogcGxhdGZvcm0vUmVndWxhckV4cHJl
c3Npb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVndWxhckV4cHJlc3Npb246OlByaXZhdGU6
OmNvbXBpbGUpOiBDaGFuZ2VkIHRvIG5vdCBudWxsLXRlcm1pbmF0ZQorICAgICAgICB0aGUgcGF0
dGVybiBzdHJpbmcgYW5kIGluc3RlYWQgcGFzcyBpdHMgbGVuZ3RoIHRvIHBjcmVfY29tcGlsZS4K
KwogMjAwNy0wMS0wMSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgb2xsaWVqLgpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9SZWd1bGFyRXhwcmVz
c2lvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9SZWd1bGFyRXhwcmVzc2lv
bi5jcHAJKHJldmlzaW9uIDE4NTAyKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9SZWd1bGFyRXhwcmVz
c2lvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMyw5ICsxMDMsNyBAQCB2b2lkIFJlZ3VsYXJF
eHByZXNzaW9uOjpQcml2YXRlOjpjb21waWxlCiAgICAgCiAgICAgY29uc3QgY2hhciAqZXJyb3JN
ZXNzYWdlOwogICAgIGludCBlcnJvck9mZnNldDsKLSAgICBjaGFyIG51bGwgPSAwOwotICAgIHAu
YXBwZW5kKG51bGwpOwotICAgIHJlZ2V4ID0gcGNyZV9jb21waWxlKHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgdWludDE2X3QgKj4ocC51bmljb2RlKCkpLCBjYXNlU2Vuc2l0aXZlID8gMCA6IFBDUkVf
Q0FTRUxFU1MsICZlcnJvck1lc3NhZ2UsICZlcnJvck9mZnNldCwgTlVMTCk7CisgICAgcmVnZXgg
PSBwY3JlX2NvbXBpbGUocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50MTZfdCAqPihwLnVuaWNv
ZGUoKSksIHAubGVuZ3RoKCksIGNhc2VTZW5zaXRpdmUgPyAwIDogUENSRV9DQVNFTEVTUywgJmVy
cm9yTWVzc2FnZSwgJmVycm9yT2Zmc2V0LCBOVUxMKTsKICAgICBpZiAocmVnZXggPT0gTlVMTCkg
ewogICAgICAgICBMT0dfRVJST1IoIlJlZ3VsYXJFeHByZXNzaW9uOiBwY3JlX2NvbXBpbGUgZmFp
bGVkIHdpdGggJyVzJyIsIGVycm9yTWVzc2FnZSk7CiAgICAgfQo=
</data>
<flag name="review"
          id="4494"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12164</attachid>
            <date>2007-01-02 09:43:58 -0800</date>
            <delta_ts>2007-01-02 09:43:58 -0800</delta_ts>
            <desc>Fixes Windows build</desc>
            <filename>fix-msvc-pcre-compile.diff</filename>
            <type>text/plain</type>
            <size>2261</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIEphdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg1MjQpDQorKysgSmF2YVNjcmlwdENvcmUvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxODUyNSkNCkBAIC0xLDMgKzEsMTYgQEANCisyMDA3LTAxLTAyICBE
YXZpZCBLaWx6ZXIgIDxkZGtpbHplckB3ZWJraXQub3JnPg0KKw0KKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChXaW5kb3dzIGJ1aWxkIGZpeCkuDQorDQorICAgICAgICBUaGUgTVNWQyBjb21w
aWxlciByZXF1aXJlcyB2YXJpYWJsZXMgdG8gYmUgZGVjbGFyZWQgYXQgdGhlIHRvcCBvZiB0aGUg
ZW5jbG9zaW5nIGJsb2NrIGluIEMgc291cmNlLg0KKw0KKyAgICAgICAgRGlzYWJsZSB0aGlzIHdh
cm5pbmcgdG8gcHJldmVudCBNU1ZDIGZyb20gY29tcGxhaW5pbmcgYWJvdXQgdGhlICdjb25zdCBw
Y3JlX3VjaGFyIGNvbnN0IConIHR5cGU6DQorICAgICAgICB3YXJuaW5nIEM0MTE0OiBzYW1lIHR5
cGUgcXVhbGlmaWVyIHVzZWQgbW9yZSB0aGFuIG9uY2UNCisNCisgICAgICAgICogcGNyZS9wY3Jl
X2NvbXBpbGUuYzoNCisgICAgICAgIChwY3JlX2NvbXBpbGUyKTogTW92ZWQgdmFyaWFibGUgZGVj
bGFyYXRpb25zIHRvIHRvcCBvZiB0aGVpciByZXNwZWN0aXZlIGVuY2xvc2luZyBibG9ja3MuDQor
ICAgICAgICAqIHBjcmUvcGNyZV9pbnRlcm5hbC5oOiBBZGRlZCBwcmFnbWEgdG8gZGlzYWJsZSBj
b21waWxlciB3YXJuaW5nLg0KKw0KIDIwMDctMDEtMDEgIE1pdHogUGV0dGVsICA8bWl0ekB3ZWJr
aXQub3JnPg0KIA0KICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4uDQpJbmRleDogSmF2YVNjcmlw
dENvcmUvcGNyZS9wY3JlX2NvbXBpbGUuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIEphdmFTY3JpcHRDb3Jl
L3BjcmUvcGNyZV9jb21waWxlLmMJKHJldmlzaW9uIDE4NTI0KQ0KKysrIEphdmFTY3JpcHRDb3Jl
L3BjcmUvcGNyZV9jb21waWxlLmMJKHJldmlzaW9uIDE4NTI1KQ0KQEAgLTM5NTUsNiArMzk1NSw3
IEBADQogdXNjaGFyICpjb2RlOw0KIGNvbnN0IHVzY2hhciAqY29kZXN0YXJ0Ow0KIGNvbnN0IHBj
cmVfdWNoYXIgKnB0cjsNCitjb25zdCBwY3JlX3VjaGFyIGNvbnN0KiBwYXR0ZXJuRW5kOw0KIGNv
bXBpbGVfZGF0YSBjb21waWxlX2Jsb2NrOw0KIGludCBicmFzdGFja1tCUkFTVEFDS19TSVpFXTsN
CiB1c2NoYXIgYnJhbGVuc3RhY2tbQlJBU1RBQ0tfU0laRV07DQpAQCAtNDA0NSwxNyArNDA0Niwx
NyBAQA0KIHBhdHRlcm4uIFdlIGNhbid0IGJlIHNvIGNsZXZlciBmb3IgIy1jb21tZW50cy4gKi8N
CiANCiBwdHIgPSAoY29uc3QgcGNyZV91Y2hhciAqKShwYXR0ZXJuIC0gMSk7DQotY29uc3QgcGNy
ZV91Y2hhciBjb25zdCogcGF0dGVybkVuZCA9IChjb25zdCBwY3JlX3VjaGFyICopKHBhdHRlcm4g
KyBwYXR0ZXJuTGVuZ3RoKTsNCitwYXR0ZXJuRW5kID0gKGNvbnN0IHBjcmVfdWNoYXIgKikocGF0
dGVybiArIHBhdHRlcm5MZW5ndGgpOw0KIA0KIHdoaWxlICgrK3B0ciA8IHBhdHRlcm5FbmQpDQog
ICB7DQotICBjID0gKnB0cjsNCi0gIA0KICAgaW50IG1pbiwgbWF4Ow0KICAgaW50IGNsYXNzX29w
dGNvdW50Ow0KICAgaW50IGJyYWNrZXRfbGVuZ3RoOw0KICAgaW50IGR1cGxlbmd0aDsNCiANCisg
IGMgPSAqcHRyOw0KKyAgDQogICAvKiBJZiB3ZSBhcmUgaW5zaWRlIGEgXFEuLi5cRSBzZXF1ZW5j
ZSwgYWxsIGNoYXJzIGFyZSBsaXRlcmFsICovDQogDQogICBpZiAoaW5lc2NxKQ0KSW5kZXg6IEph
dmFTY3JpcHRDb3JlL3BjcmUvcGNyZV9pbnRlcm5hbC5oDQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gSmF2YVNj
cmlwdENvcmUvcGNyZS9wY3JlX2ludGVybmFsLmgJKHJldmlzaW9uIDE4NTI0KQ0KKysrIEphdmFT
Y3JpcHRDb3JlL3BjcmUvcGNyZV9pbnRlcm5hbC5oCShyZXZpc2lvbiAxODUyNSkNCkBAIC01Nyw2
ICs1Nyw3IEBADQogI2VuZGlmDQogDQogI2lmIENPTVBJTEVSKE1TVkMpDQorI3ByYWdtYSB3YXJu
aW5nKGRpc2FibGU6IDQxMTQpDQogI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQyMzIpDQogI3By
YWdtYSB3YXJuaW5nKGRpc2FibGU6IDQyNDQpDQogI2VuZGlmDQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>