<?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>11108</bug_id>
          
          <creation_ts>2006-10-01 04:48:58 -0700</creation_ts>
          <short_desc>Replace usage of split by proper parsers</short_desc>
          <delta_ts>2006-12-28 15:36:42 -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>SVG</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></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>11908</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Rob Buis">rwlbuis</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>56873</commentid>
    <comment_count>0</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-10-01 04:48:58 -0700</bug_when>
    <thetext>See http://www.kevlindev.com/gui/utilities/viewbox/viewBox.svg. When the aspect
ratio params change to empty, it crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56875</commentid>
    <comment_count>1</comment_count>
      <attachid>10854</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-10-01 05:05:26 -0700</bug_when>
    <thetext>Created attachment 10854
First attempt

A simple fix...
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56876</commentid>
    <comment_count>2</comment_count>
      <attachid>10854</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-10-01 05:10:33 -0700</bug_when>
    <thetext>Comment on attachment 10854
First attempt

Looks fine.

You should probably search for all other uses of DeprecatedString::split.  There may be other crashing cases.  Do we adequately protect against having only 1 or 2 or 3 params?

Using DeprecatedStringList::split is really bad practice, since it copies the string for parsing, instead of just walking it.  But at least this fixes the crash for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56962</commentid>
    <comment_count>3</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-10-02 13:47:21 -0700</bug_when>
    <thetext>Hi,

(In reply to comment #2)
&gt; (From update of attachment 10854 [edit])
&gt; Looks fine.
&gt; 
&gt; You should probably search for all other uses of DeprecatedString::split. 
&gt; There may be other crashing cases.  Do we adequately protect against having
&gt; only 1 or 2 or 3 params?
&gt; 
&gt; Using DeprecatedStringList::split is really bad practice, since it copies the
&gt; string for parsing, instead of just walking it.  But at least this fixes the
&gt; crash for now.

Nice to see the r+, however I think we may as well go for the real fix, which is removing use
of split() and do proper parsers. I&apos;ll attach a patch for this, then maybe we can discuss the proper
action. I think it is good that we have this bug reminding us of one of the current (split()) problems
though.
cheers,

Rob.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56964</commentid>
    <comment_count>4</comment_count>
      <attachid>10872</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-10-02 13:49:56 -0700</bug_when>
    <thetext>Created attachment 10872
Probably better long-term solution

Here is the current state of my patch to get rid of split(). It needs speed testing, but it
should be quicker since the copies are gone and less methods (like endsWith()) are called.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56983</commentid>
    <comment_count>5</comment_count>
      <attachid>10872</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-10-02 19:39:29 -0700</bug_when>
    <thetext>Comment on attachment 10872
Probably better long-term solution

Why the conversion to char? The other functions could just as well take UChar* as char*, and converting to char just means you have to do additional memory allocation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56105</commentid>
    <comment_count>6</comment_count>
      <attachid>10880</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-10-03 06:03:46 -0700</bug_when>
    <thetext>Created attachment 10880
Using UChar

Now I use UChar * instead of char* as suggested by Darin.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>55895</commentid>
    <comment_count>7</comment_count>
      <attachid>10880</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-10-03 06:18:25 -0700</bug_when>
    <thetext>Comment on attachment 10880
Using UChar

These:
+    if (*currParam == &apos;d&apos;) {
+        if (!((eoString - currParam) &gt; 4) &amp;&amp;
+              currParam[1] == &apos;e&apos; &amp;&amp;
+              currParam[2] == &apos;f&apos; &amp;&amp;
+              currParam[3] == &apos;e&apos; &amp;&amp;
+              currParam[4] == &apos;r&apos;)
+            goto bail_out;
+        currParam += 5;
+        skipOptionalSpaces(currParam);
     }

or at least part, should be abstracted into a static inline.  maybe just this part:

+        if (!((eoString - currParam) &gt; 4) &amp;&amp;
+              currParam[1] == &apos;e&apos; &amp;&amp;
+              currParam[2] == &apos;f&apos; &amp;&amp;
+              currParam[3] == &apos;e&apos; &amp;&amp;
+              currParam[4] == &apos;r&apos;)

Sleep now.  I can look at the rest later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>54411</commentid>
    <comment_count>8</comment_count>
      <attachid>10908</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-10-04 12:23:53 -0700</bug_when>
    <thetext>Created attachment 10908
Improved patch

This patch is much more complete and removes split from use in ksvg. Also
added and changed some testcases. Let me know whether there should be more tests.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53992</commentid>
    <comment_count>9</comment_count>
      <attachid>10944</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-10-06 01:10:08 -0700</bug_when>
    <thetext>Created attachment 10944
Slightly cleaned up patch

This one has some nicer code in some parsing sections. Also I fixed obvious code style bugs.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>53762</commentid>
    <comment_count>10</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2006-10-09 05:26:03 -0700</bug_when>
    <thetext>Don&apos;t forget to remove the conflict marker:

+&gt;&gt;&gt;&gt;&gt;&gt;&gt; .r16800
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51749</commentid>
    <comment_count>11</comment_count>
      <attachid>10944</attachid>
    <who name="">mitz</who>
    <bug_when>2006-10-20 07:30:53 -0700</bug_when>
    <thetext>Comment on attachment 10944
Slightly cleaned up patch

I didn&apos;t read the entire patch, but here are some observations:

Conflict markers:
+&gt;&gt;&gt;&gt;&gt;&gt;&gt; .r16800

Typo:
+        - use functions from SVGParserUtils instead of spli

Some cleanup opportunities:
     else if (attr-&gt;name() == SVGNames::valuesAttr)
     {

This:
     String parse = m_rgbColor.stripWhiteSpace();
followed by:
+        const UChar* ptr = reinterpret_cast&lt;const UChar*&gt;(parse.charactersWithNullTermination()) + 4;
always copies the buffer once (I think in many cases it copies it twice). I think you can avoid one copy using a combination of skipOptionalSpaces and String::find() (or a single condition that checks the next 4 characters) starting after the run of spaces. I can&apos;t say if it&apos;s worth it.

Is it necessary to cast the result of charactersWithNullTermination()?

Shouldn&apos;t you set ec before returning in these cases?
+        if (!tryParseCoord(ptr, r))
+            return;

The use of skipOptionalSpaces in the non-percentage case is redundant, as parseCoord always ends with skipOptionalSpacesOrDelimiter which ends with skipOptionalSpaces:
+        if (*ptr == &apos;%&apos;) {
+            percentages++;
+            ptr++;
+            skipOptionalSpacesOrDelimiter(ptr);
+        } else {
+            normal++;
+            skipOptionalSpaces(ptr);

It also seems that this will successfully parse things like &quot;rgb(25 , % , 50%, 75%)&quot;.

tryParseNumberList is only used in this pattern:
+        int nr = tryParseNumberList(value, x, y);
+        if (nr &gt; 0) {
+            setKernelUnitLengthXBaseValue(x);
+            if (nr == 1)
+                setKernelUnitLengthYBaseValue(x);
+            else
+                setKernelUnitLengthYBaseValue(y);
+        }

I think you can factor out the common logic so that you&apos;ll have a function
bool tryParseNumberOptionalNumber(const String&amp;, double&amp; h, double&amp; v)
that sets h and v to the same value if there is only one value, and returns false if there is no value. I don&apos;t know how it should behave for more than 2 values (or any junk after the second value).

SVGNumberList::parse() allows things like &quot;  , 1, 2, , 3 ,&quot; (since tryParseCoord allows one comma, and then skipOptionalSpacesOrDelimiter allows another one; it is also what allows the leading comma).

This is a funny variable name:
+    const UChar* eoString = currSegment + points.length();

This can be changed to use tryParseCoord:
         currSegment = parseCoord(currSegment, xPos); 
         if (currSegment == prevSegment)

Some redundant parameter names:
+    const UChar* parseCoord(const UChar* ptr, double&amp; number);
+        void parsePoints(const String&amp; points) const;

Extra spaces inside the parentheses; &quot;d&quot; is unnecessary:
+        void parseSVG( const String &amp;d, bool process = false );

skipOptionalSpaces(&quot; &quot;) tests the first character twice. Does the compiler optimize it?

skipOptionalSpacesOrDelimiter(&quot; &quot;) tests the first character three times. Same question.

This should be FIXME:
+    // TODO : more error checking/reporting</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>51614</commentid>
    <comment_count>12</comment_count>
      <attachid>10944</attachid>
    <who name="">mitz</who>
    <bug_when>2006-10-20 13:47:06 -0700</bug_when>
    <thetext>Comment on attachment 10944
Slightly cleaned up patch

Additional observations:

In SVGColor::setRGBColor(), normal == 3 - percentages, so you don&apos;t need two variables.

Brace should be indented:
+    static inline bool skipOptionalSpaces(const UChar*&amp; ptr) // true means &quot;found space&quot;
+{

Brace should be on the switch line:
+        switch (type)
+        {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>46383</commentid>
    <comment_count>13</comment_count>
      <attachid>10854</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-11-09 08:37:42 -0800</bug_when>
    <thetext>Comment on attachment 10854
First attempt

Clear review flag on this obsolete patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>40399</commentid>
    <comment_count>14</comment_count>
      <attachid>11972</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-22 13:45:30 -0800</bug_when>
    <thetext>Created attachment 11972
Compiles with ToT

This patch is done sort of from scratch. It is not complete, but does a lot of useful things already.
Although it is not complete I am attaching it already since I am away tomorrow and someone may want to shark it (Eric?) :) I should be able to easily finish it sunday. Also note that it should help with bug 11908.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39970</commentid>
    <comment_count>15</comment_count>
      <attachid>11993</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-24 05:46:29 -0800</bug_when>
    <thetext>Created attachment 11993
Completely remove split usage on ToT

This one should be complete and quite clean.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39947</commentid>
    <comment_count>16</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-24 07:26:41 -0800</bug_when>
    <thetext>After discussing with Eric, it is clear that there are two important issues with the patch. One is performance, other are tests. Here are some ways we can improve tests for transform lists and preserve aspect ratio:

- multiple comma&apos;s
- missing (, ) etc.
- having too many/few params in the transform lists
- maybe wrong ordering (defer as last one for example)
- entering letter where number is expected

Cheers,

Rob.
(In reply to comment #15)
&gt; Created an attachment (id=11993) [edit]
&gt; Completely remove split usage on ToT
&gt; 
&gt; This one should be complete and quite clean.
&gt; Cheers,
&gt; 
&gt; Rob.
&gt; 

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39423</commentid>
    <comment_count>17</comment_count>
      <attachid>12069</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-27 12:26:53 -0800</bug_when>
    <thetext>Created attachment 12069
Smaller patch

This patch solves just the transform passing and should be easier to review. Also note that it gives a big speed improvement for the svg PLT.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39413</commentid>
    <comment_count>18</comment_count>
      <attachid>12070</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-12-27 12:54:34 -0800</bug_when>
    <thetext>Created attachment 12070
Better diff

As requested by Eric.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39405</commentid>
    <comment_count>19</comment_count>
      <attachid>12070</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-12-27 13:24:00 -0800</bug_when>
    <thetext>Comment on attachment 12070
Better diff

This looks great.

We definitely need more invalid path tests.

I think you could rename SVGPathUtils to SVGPathUtilities for clarity, but that&apos;s not a huge deal.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39404</commentid>
    <comment_count>20</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-12-27 13:26:11 -0800</bug_when>
    <thetext>Oh, I almost forgot, a couple comments made over IRC:

1.  skip = true, so the last parseNumber in parseNumberOptionalNumber might need to force that to false.

2.  the x array may need to be cleared every time through the loop, otherwise optional parameters (like those for ROTATE) might end up being re-used from a previous parse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>39162</commentid>
    <comment_count>21</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-12-28 15:36:42 -0800</bug_when>
    <thetext>Landed in r18440 by rwlbuis.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10854</attachid>
            <date>2006-10-01 05:05:26 -0700</date>
            <delta_ts>2006-11-09 08:37:42 -0800</delta_ts>
            <desc>First attempt</desc>
            <filename>11108.diff</filename>
            <type>text/plain</type>
            <size>8231</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE2Njk4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDYtMTAtMDEgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTExMDgKKyAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbyBjcmFzaGVzIHdoZW4gZW1w
dHkKKworICAgICAgICAqIHN2Zy9jdXN0b20vZW1wdHktcHJlc2VydmUtYXNwZWN0LXJhdGlvLWV4
cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL2VtcHR5LXByZXNl
cnZlLWFzcGVjdC1yYXRpby1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0
b20vZW1wdHktcHJlc2VydmUtYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8uc3ZnOiBBZGRlZC4K
KwogMjAwNi0xMC0wMSAgR3JhaGFtIERlbm5pcyAgPGdyYWhhbS5kZW5uaXNAZ21haWwuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEh5YXR0LgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8t
ZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2VtcHR5LXByZXNlcnZlLWFzcGVjdC1yYXRpby1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSBAQAorMTYzMTA1ODg0NjdjZmMyMGQ1NTE2MzVhYmM1OWI3ODQKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtcHR5
LXByZXNlcnZlLWFzcGVjdC1yYXRpby1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1h
c3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAorICAgIEtDYW52YXNDb250YWluZXIge3N2Z30gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwCisg
ICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBM
MTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2VtcHR5LXByZXNlcnZlLWFzcGVjdC1yYXRpby5zdmcKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8uc3ZnCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8u
c3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSIiID4KKyA8cmVjdCB4PSIwIiB5
PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgZmlsbD0iZ3JlZW4iLz4KKzwvc3ZnPgpJbmRl
eDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE2Njk4KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxNSBAQAorMjAwNi0xMC0wMSAgUm9iIEJ1aXMgIDxidWlzQGtkZS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMDgKKyAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRp
byBjcmFzaGVzIHdoZW4gZW1wdHkKKworICAgICAgICBEbyBub3QgcGFyc2UgaWYgYXR0ciBpcyBl
bXB0eS4KKworICAgICAgICAqIGtzdmcyL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OnBhcnNlUHJlc2VydmVB
c3BlY3RSYXRpbyk6CisKIDIwMDYtMTAtMDEgIE5pa29sYXMgWmltbWVybWFubiAgPHppbW1lcm1h
bm5Aa2RlLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljLCB0d2Vha2VkIGFuZCBsYW5k
ZWQgYnkgYXAuCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvLmNwcAkocmV2aXNpb24gMTY2OTgpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQcmVzZXJ2
ZUFzcGVjdFJhdGlvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEsOSBAQCB2b2lkIFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW86OnBhcnNlUHJlc2VyCiAgICAgCiAgICAgRGVwcmVjYXRlZFN0
cmluZ0xpc3QgcGFyYW1zID0gRGVwcmVjYXRlZFN0cmluZ0xpc3Q6OnNwbGl0KCcgJywgc3RyaW5n
LmRlcHJlY2F0ZWRTdHJpbmcoKS5zaW1wbGlmeVdoaXRlU3BhY2UoKSk7CiAKKyAgICBpZiAocGFy
YW1zLmNvdW50KCkgPT0gMCkKKyAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKHBhcmFtc1swXSA9
PSAibm9uZSIpCiAgICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19OT05F
OwogICAgIGVsc2UgaWYgKHBhcmFtc1swXSA9PSAieE1pbllNaW4iKQpJbmRleDogTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQucG5nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2
bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1wdHktcHJlc2VydmUtYXNwZWN0LXJhdGlvLWV4
cGVjdGVkLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlv
bi9vY3RldC1zdHJlYW0KCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNh
ZG9Kd0FBQU1lVWxFUVZSNG5PM1p3UTJBUUF3RXNZUEdvZlBRCnhSd0N1NEtWOGhybFdQZWF4V3ZN
NVJ3QUFIelh1WHNBQUFEd0h3SUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUEK
QUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFB
Q0FqUUFBQWdJd0FBUUFBTWdJRQpBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFB
Q0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBCkFRQUFNZ0lFQUFESUNCQUFB
Q0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFD
QWoKUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFD
QWpRQUFBZ0l3QUFRQUFNZ0lFQUFESQpDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFD
QWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBCk1nSUVBQURJQ0JBQUFD
QWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNB
alFBQUEKZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNB
alFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQQpBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNB
alFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFCkFBRElDQkFBQUNB
alFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQnp6TXpzSGdFQUFQeUREd2dBQUpBUklBQUFRRWFB
QUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
CkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
awpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBbVFkaWxReW5ZTXV6
Z0FBQUFBQkpSVTVFcmtKZwpnZz09Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10872</attachid>
            <date>2006-10-02 13:49:56 -0700</date>
            <delta_ts>2006-10-03 06:18:09 -0700</delta_ts>
            <desc>Probably better long-term solution</desc>
            <filename>11108-2.diff</filename>
            <type>text/plain</type>
            <size>25155</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0xlbmd0aC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9rc3ZnMi9zdmcvU1ZHTGVuZ3RoLmNwcAkocmV2aXNpb24gMTY3MTcpCisrKyBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdMZW5ndGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTQsMzkgKzExNCw1
NSBAQCB2b2lkIFNWR0xlbmd0aDo6c2V0VmFsdWVBc1N0cmluZyhjb25zdCBTCiAgICAgRGVwcmVj
YXRlZFN0cmluZyB2YWx1ZUFzUVN0cmluZyA9IHMuZGVwcmVjYXRlZFN0cmluZygpOwogCiAgICAg
ZG91YmxlIGNvbnZlcnRlZE51bWJlciA9IDA7Ci0gICAgY29uc3QgY2hhciAqc3RhcnQgPSB2YWx1
ZUFzUVN0cmluZy5sYXRpbjEoKTsKLSAgICBjb25zdCBjaGFyICplbmQgPSBwYXJzZUNvb3JkKHN0
YXJ0LCBjb252ZXJ0ZWROdW1iZXIpOwotICAgIG1fdmFsdWVJblNwZWNpZmllZFVuaXRzID0gY29u
dmVydGVkTnVtYmVyOwotCi0gICAgdW5zaWduZWQgaW50IGRpZmYgPSBlbmQgLSBzdGFydDsKLSAg
ICBpZiAoZGlmZiA8IHZhbHVlQXNRU3RyaW5nLmxlbmd0aCgpKSB7Ci0gICAgICAgIGlmIChzLmVu
ZHNXaXRoKFVuaXRUZXh0W1NWR19MRU5HVEhUWVBFX1BYXSkpCi0gICAgICAgICAgICBtX3VuaXRU
eXBlID0gU1ZHX0xFTkdUSFRZUEVfUFg7Ci0gICAgICAgIGVsc2UgaWYgKHMuZW5kc1dpdGgoVW5p
dFRleHRbU1ZHX0xFTkdUSFRZUEVfQ01dKSkKLSAgICAgICAgICAgIG1fdW5pdFR5cGUgPSBTVkdf
TEVOR1RIVFlQRV9DTTsKLSAgICAgICAgZWxzZSBpZiAocy5lbmRzV2l0aChVbml0VGV4dFtTVkdf
TEVOR1RIVFlQRV9QQ10pKQotICAgICAgICAgICAgbV91bml0VHlwZSA9IFNWR19MRU5HVEhUWVBF
X1BDOwotICAgICAgICBlbHNlIGlmIChzLmVuZHNXaXRoKFVuaXRUZXh0W1NWR19MRU5HVEhUWVBF
X01NXSkpCi0gICAgICAgICAgICBtX3VuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfTU07Ci0gICAg
ICAgIGVsc2UgaWYgKHMuZW5kc1dpdGgoVW5pdFRleHRbU1ZHX0xFTkdUSFRZUEVfSU5dKSkKLSAg
ICAgICAgICAgIG1fdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9JTjsKLSAgICAgICAgZWxzZSBp
ZiAocy5lbmRzV2l0aChVbml0VGV4dFtTVkdfTEVOR1RIVFlQRV9QVF0pKQotICAgICAgICAgICAg
bV91bml0VHlwZSA9IFNWR19MRU5HVEhUWVBFX1BUOwotICAgICAgICAgZWxzZSBpZiAocy5lbmRz
V2l0aChVbml0VGV4dFtTVkdfTEVOR1RIVFlQRV9QRVJDRU5UQUdFXSkpCi0gICAgICAgICAgICBt
X3VuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfUEVSQ0VOVEFHRTsKLSAgICAgICAgZWxzZSBpZiAo
cy5lbmRzV2l0aChVbml0VGV4dFtTVkdfTEVOR1RIVFlQRV9FTVNdKSkKLSAgICAgICAgICAgIG1f
dW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9FTVM7Ci0gICAgICAgIGVsc2UgaWYgKHMuZW5kc1dp
dGgoVW5pdFRleHRbU1ZHX0xFTkdUSFRZUEVfRVhTXSkpCi0gICAgICAgICAgICBtX3VuaXRUeXBl
ID0gU1ZHX0xFTkdUSFRZUEVfRVhTOwotICAgICAgICBlbHNlIGlmIChzLmlzRW1wdHkoKSkKLSAg
ICAgICAgICAgIG1fdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9OVU1CRVI7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIG1fdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9VTktOT1dOOworICAg
IFNWR0xlbmd0aFR5cGUgdW5pdFR5cGU7CisgICAgY29uc3QgY2hhciogcHRyID0gdmFsdWVBc1FT
dHJpbmcubGF0aW4xKCk7CisgICAgY29uc3QgY2hhciogZW9TdHJpbmcgPSBwdHIgKyAgcy5sZW5n
dGgoKTsKKyAgICBpZiAodHJ5UGFyc2VDb29yZChwdHIsIGNvbnZlcnRlZE51bWJlcikpIHsKKyAg
ICAgICAgaWYgKCF0cnlQYXJzZUxlbmd0aFVuaXQocHRyLCBlb1N0cmluZywgdW5pdFR5cGUpKQor
ICAgICAgICAgICAgdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9QWDsKKyAgICAgICAgaWYgKHB0
ciA9PSBlb1N0cmluZykgeworICAgICAgICAgICAgbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgPSBj
b252ZXJ0ZWROdW1iZXI7CisgICAgICAgICAgICBtX3VuaXRUeXBlID0gdW5pdFR5cGU7CisgICAg
ICAgICAgICB1cGRhdGVWYWx1ZSgpOworICAgICAgICB9CiAgICAgfQotICAgIGVsc2UKLSAgICAg
ICAgbV91bml0VHlwZSA9IFNWR19MRU5HVEhUWVBFX1BYOworfQogCi0gICAgdXBkYXRlVmFsdWUo
KTsKK2Jvb2wgU1ZHTGVuZ3RoOjp0cnlQYXJzZUxlbmd0aFVuaXQoY29uc3QgY2hhciomIHB0ciwg
Y29uc3QgY2hhciomIGVuZCwgU1ZHTGVuZ3RoVHlwZSAmdW5pdFR5cGUpCit7CisgICAgaWYgKHB0
ciA+PSBlbmQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZigqcHRyID09ICdwJyAmJiBw
dHJbMV0gPT0gJ3gnKSB7CisgICAgICAgIHVuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfUFg7Cisg
ICAgICAgIHB0ciArPSAyOworICAgIH0gZWxzZSBpZigqcHRyID09ICdjJyAmJiBwdHJbMV0gPT0g
J20nKSB7CisgICAgICAgIHVuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfQ007CisgICAgICAgIHB0
ciArPSAyOworICAgIH0gZWxzZSBpZigqcHRyID09ICdwJyAmJiBwdHJbMV0gPT0gJ2MnKSB7Cisg
ICAgICAgIHVuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfUEM7CisgICAgICAgIHB0ciArPSAyOwor
ICAgIH0gZWxzZSBpZigqcHRyID09ICdtJyAmJiBwdHJbMV0gPT0gJ20nKSB7CisgICAgICAgIHVu
aXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfTU07CisgICAgICAgIHB0ciArPSAyOworICAgIH0gZWxz
ZSBpZigqcHRyID09ICdpJyAmJiBwdHJbMV0gPT0gJ24nKSB7CisgICAgICAgIHVuaXRUeXBlID0g
U1ZHX0xFTkdUSFRZUEVfSU47CisgICAgICAgIHB0ciArPSAyOworICAgIH0gZWxzZSBpZigqcHRy
ID09ICdwJyAmJiBwdHJbMV0gPT0gJ3QnKSB7CisgICAgICAgIHVuaXRUeXBlID0gU1ZHX0xFTkdU
SFRZUEVfUFQ7CisgICAgICAgIHB0ciArPSAyOworICAgIH0gZWxzZSBpZigqcHRyID09ICclJykg
eworICAgICAgICB1bml0VHlwZSA9IFNWR19MRU5HVEhUWVBFX1BFUkNFTlRBR0U7CisgICAgICAg
IHB0cisrOworICAgIH0gZWxzZSBpZigqcHRyID09ICdlJyAmJiBwdHJbMV0gPT0gJ20nKSB7Cisg
ICAgICAgIHVuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfRU1TOworICAgICAgICBwdHIgKz0gMjsK
KyAgICB9IGVsc2UgaWYoKnB0ciA9PSAnZScgJiYgcHRyWzFdID09ICd4JykgeworICAgICAgICB1
bml0VHlwZSA9IFNWR19MRU5HVEhUWVBFX0VYUzsKKyAgICAgICAgcHRyICs9IDI7CisgICAgfSBl
bHNlCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOwogfQogCiBTdHJp
bmcgU1ZHTGVuZ3RoOjp2YWx1ZUFzU3RyaW5nKCkgY29uc3QKSW5kZXg6IFdlYkNvcmUva3N2ZzIv
c3ZnL1NWR0xlbmd0aC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0xlbmd0
aC5oCShyZXZpc2lvbiAxNjcxNykKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0xlbmd0aC5oCSh3
b3JraW5nIGNvcHkpCkBAIC03NCw2ICs3NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgY29uc3QgU1ZHU3R5bGVkRWxlbWVudCogY29udGV4dCgpIGNvbnN0OwogICAgICAgICB2b2lk
IHNldENvbnRleHQoY29uc3QgU1ZHU3R5bGVkRWxlbWVudCAqY29udGV4dCk7CiAKKyAgICAgICAg
c3RhdGljIGJvb2wgdHJ5UGFyc2VMZW5ndGhVbml0KGNvbnN0IGNoYXIqJiBwdHIsIGNvbnN0IGNo
YXIqJiBlbmQsIFNWR0xlbmd0aFR5cGUgJnVuaXRUeXBlKTsKKwogICAgIHByaXZhdGU6CiAgICAg
ICAgIGJvb2wgdXBkYXRlVmFsdWVJblNwZWNpZmllZFVuaXRzKGJvb2wgbm90aWZ5ID0gdHJ1ZSk7
CiAgICAgICAgIHZvaWQgdXBkYXRlVmFsdWUoYm9vbCBub3RpZnkgPSB0cnVlKTsKSW5kZXg6IFdl
YkNvcmUva3N2ZzIvc3ZnL1NWR0xlbmd0aExpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
a3N2ZzIvc3ZnL1NWR0xlbmd0aExpc3QuY3BwCShyZXZpc2lvbiAxNjcxNykKKysrIFdlYkNvcmUv
a3N2ZzIvc3ZnL1NWR0xlbmd0aExpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3
IEBACiAjaW5jbHVkZSAiU1ZHTWF0cml4LmgiCiAjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgog
I2luY2x1ZGUgIlNWR0xlbmd0aExpc3QuaCIKKyNpbmNsdWRlICJzdmdwYXRocGFyc2VyLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDIsMTEgKzQzLDI0IEBAIHZvaWQgU1ZHTGVuZ3Ro
TGlzdDo6cGFyc2UoY29uc3QgU3RyaW5nJiAKIHsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsK
IAotICAgIFZlY3RvcjxTdHJpbmc+IGxlbmd0aHMgPSB2YWx1ZS5zcGxpdCgnICcpOwotICAgIFZl
Y3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBsZW5ndGhzLmVuZCgpOwotICAgIGZv
ciAoVmVjdG9yPFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbGVuZ3Rocy5iZWdpbigpOyBp
dCAhPSBlbmQ7ICsraXQpIHsKKyAgICBEZXByZWNhdGVkU3RyaW5nIGxlbmd0aHMgPSB2YWx1ZS5k
ZXByZWNhdGVkU3RyaW5nKCk7CisgICAgZG91YmxlIHZhbCA9IDA7CisgICAgU1ZHTGVuZ3RoOjpT
VkdMZW5ndGhUeXBlIHR5cGU7CisgICAgCisgICAgY29uc3QgY2hhciogY3Vyckxlbmd0aCA9IGxl
bmd0aHMubGF0aW4xKCk7CisgICAgY29uc3QgY2hhciogZW9TdHJpbmcgPSBjdXJyTGVuZ3RoICsg
bGVuZ3Rocy5sZW5ndGgoKTsKKyAgICB3aGlsZSAoY3Vyckxlbmd0aCA8IGVvU3RyaW5nKSB7Cisg
ICAgICAgIHNraXBPcHRpb25hbFNwYWNlc09yQ29tbWEoY3Vyckxlbmd0aCk7CisgICAgICAgIGlm
ICghdHJ5UGFyc2VDb29yZChjdXJyTGVuZ3RoLCB2YWwpKQorICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICBpZiAoIVNWR0xlbmd0aDo6dHJ5UGFyc2VMZW5ndGhVbml0KGN1cnJMZW5ndGgsIGVv
U3RyaW5nLCB0eXBlKSkKKyAgICAgICAgICAgIGlmICgqY3Vyckxlbmd0aCA9PSAnICcgfHwgKmN1
cnJMZW5ndGggPT0gJywnIHx8CisgICAgICAgICAgICAgICAgY3Vyckxlbmd0aCA9PSBlb1N0cmlu
ZykKKyAgICAgICAgICAgICAgICB0eXBlID0gU1ZHTGVuZ3RoOjpTVkdfTEVOR1RIVFlQRV9QWDsK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIFNWR0xl
bmd0aCogbGVuZ3RoID0gbmV3IFNWR0xlbmd0aChjb250ZXh0LCBtb2RlKTsKLSAgICAgICAgbGVu
Z3RoLT5zZXRWYWx1ZUFzU3RyaW5nKCppdCk7CisgICAgICAgIGxlbmd0aC0+bmV3VmFsdWVTcGVj
aWZpZWRVbml0cyh0eXBlLCB2YWwpOwogICAgICAgICBhcHBlbmRJdGVtKGxlbmd0aCwgZWMpOwog
ICAgIH0KIH0KSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR051bWJlckxpc3QuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR051bWJlckxpc3QuY3BwCShyZXZpc2lvbiAx
NjcxNykKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR051bWJlckxpc3QuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNCw4ICsyNCw5IEBACiAKICNpZmRlZiBTVkdfU1VQUE9SVAogI2luY2x1ZGUgIlNW
R01hdHJpeC5oIgotI2luY2x1ZGUgIlNWR1NWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdOdW1i
ZXJMaXN0LmgiCisjaW5jbHVkZSAic3ZncGF0aHBhcnNlci5oIgorI2luY2x1ZGUgIlNWR1NWR0Vs
ZW1lbnQuaCIKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTQyLDkgKzQzLDE3IEBA
IHZvaWQgU1ZHTnVtYmVyTGlzdDo6cGFyc2UoY29uc3QgU3RyaW5nJiAKIHsKICAgICBFeGNlcHRp
b25Db2RlIGVjID0gMDsKIAotICAgIFZlY3RvcjxTdHJpbmc+IG51bWJlcnMgPSB2YWx1ZS5zcGxp
dCgnICcpOwotICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnVtYmVycy5zaXplKCk7
IGkrKykKLSAgICAgICAgYXBwZW5kSXRlbShudW1iZXJzW2ldLnRvRG91YmxlKCksIGVjKTsKKyAg
ICBEZXByZWNhdGVkU3RyaW5nIG51bWJlcnMgPSB2YWx1ZS5kZXByZWNhdGVkU3RyaW5nKCk7Cisg
ICAgZG91YmxlIG51bWJlciA9IDA7CisgICAgCisgICAgY29uc3QgY2hhciogY3Vyck51bWJlciA9
IG51bWJlcnMubGF0aW4xKCk7CisgICAgY29uc3QgY2hhciogZW9TdHJpbmcgPSBudW1iZXJzLmxh
dGluMSgpICsgbnVtYmVycy5sZW5ndGgoKTsKKyAgICB3aGlsZSAoY3Vyck51bWJlciA8IGVvU3Ry
aW5nKSB7CisgICAgICAgIHNraXBPcHRpb25hbFNwYWNlc09yQ29tbWEoY3Vyck51bWJlcik7Cisg
ICAgICAgIGlmICghdHJ5UGFyc2VDb29yZChjdXJyTnVtYmVyLCBudW1iZXIpKQorICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICBhcHBlbmRJdGVtKG51bWJlciwgZWMpOworICAgIH0KIH0KIAog
Ly8gdmltOnRzPTQ6bm9ldApJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHTnVtYmVyTGlzdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR051bWJlckxpc3QuaAkocmV2aXNp
b24gMTY3MTcpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdOdW1iZXJMaXN0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI5LDcgKzI5LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUKIHsKLSAgICBjbGFz
cyBEZXByZWNhdGVkU3RyaW5nOworICAgIGNsYXNzIFN0cmluZzsKIAogICAgIGNsYXNzIFNWR051
bWJlckxpc3QgOiBwdWJsaWMgU1ZHTGlzdDxkb3VibGU+CiAgICAgewpJbmRleDogV2ViQ29yZS9r
c3ZnMi9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9rc3ZnMi9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHAJKHJldmlzaW9uIDE2NzE3KQor
KysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJrc3ZnLmgiCiAjaW5jbHVkZSAiU1ZH
TWF0cml4LmgiCiAjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgorI2luY2x1ZGUgInN2Z3BhdGhw
YXJzZXIuaCIKICNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTY0LDM5ICs2NSwxMDkgQEAgdW5zaWduZWQgc2hvcnQgU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpbzo6bQogdm9pZCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpwYXJzZVByZXNl
cnZlQXNwZWN0UmF0aW8oY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgLy8gU3BlYzogc2V0
IHRoZSBkZWZhdWx0cwotICAgIHNldEFsaWduKFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX05PTkUp
OwotICAgIHNldE1lZXRPclNsaWNlKFNWR19NRUVUT1JTTElDRV9NRUVUKTsKLSAgICAKLSAgICBW
ZWN0b3I8U3RyaW5nPiBwYXJhbXMgPSBzdHJpbmcuc2ltcGxpZnlXaGl0ZVNwYWNlKCkuc3BsaXQo
JyAnKTsKKyAgICBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVHlwZSBhbGlnbiA9IFNWR19QUkVTRVJW
RUFTUEVDVFJBVElPX05PTkU7CisgICAgU1ZHTWVldE9yU2xpY2VUeXBlIG1lZXRPclNsaWNlID0g
U1ZHX01FRVRPUlNMSUNFX01FRVQ7CiAKLSAgICBpZiAocGFyYW1zWzBdID09ICJub25lIikKLSAg
ICAgICAgbV9hbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX05PTkU7Ci0gICAgZWxzZSBp
ZiAocGFyYW1zWzBdID09ICJ4TWluWU1pbiIpCi0gICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VS
VkVBU1BFQ1RSQVRJT19YTUlOWU1JTjsKLSAgICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNaWRZ
TWluIikKLSAgICAgICAgbV9hbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlO
OwotICAgIGVsc2UgaWYgKHBhcmFtc1swXSA9PSAieE1heFlNaW4iKQotICAgICAgICBtX2FsaWdu
ID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSU47Ci0gICAgZWxzZSBpZiAocGFyYW1z
WzBdID09ICJ4TWluWU1pZCIpCi0gICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RS
QVRJT19YTUlOWU1JRDsKLSAgICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNaWRZTWlkIikKLSAg
ICAgICAgbV9hbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlEOwotICAgIGVs
c2UgaWYgKHBhcmFtc1swXSA9PSAieE1heFlNaWQiKQotICAgICAgICBtX2FsaWduID0gU1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSUQ7Ci0gICAgZWxzZSBpZiAocGFyYW1zWzBdID09ICJ4
TWluWU1heCIpCi0gICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlO
WU1BWDsKLSAgICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNaWRZTWF4IikKLSAgICAgICAgbV9h
bGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUFYOwotICAgIGVsc2UgaWYgKHBh
cmFtc1swXSA9PSAieE1heFlNYXgiKQotICAgICAgICBtX2FsaWduID0gU1ZHX1BSRVNFUlZFQVNQ
RUNUUkFUSU9fWE1BWFlNQVg7Ci0KLSAgICBpZiAobV9hbGlnbiAhPSBTVkdfUFJFU0VSVkVBU1BF
Q1RSQVRJT19OT05FKSB7Ci0gICAgICAgIGlmICgocGFyYW1zLnNpemUoKSA+IDEpICYmIChwYXJh
bXNbMV0gPT0gInNsaWNlIikpCi0gICAgICAgICAgICBtX21lZXRPclNsaWNlID0gU1ZHX01FRVRP
UlNMSUNFX1NMSUNFOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX21lZXRPclNsaWNlID0g
U1ZHX01FRVRPUlNMSUNFX01FRVQ7CisgICAgRGVwcmVjYXRlZFN0cmluZyBwcmVzZXJ2ZSA9IHN0
cmluZy5kZXByZWNhdGVkU3RyaW5nKCk7CisgICAgY29uc3QgY2hhciogY3VyclBhcmFtID0gcHJl
c2VydmUubGF0aW4xKCk7CisgICAgY29uc3QgY2hhciogZW9TdHJpbmcgPSBwcmVzZXJ2ZS5sYXRp
bjEoKSArIHByZXNlcnZlLmxlbmd0aCgpOworCisgICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJQ
YXJhbSk7CisKKyAgICBpZiAoKmN1cnJQYXJhbSA9PSAnZCcpIHsKKyAgICAgICAgaWYgKCEoKGVv
U3RyaW5nIC0gY3VyclBhcmFtKSA+IDQpICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVsxXSA9
PSAnZScgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFtWzJdID09ICdmJyAmJgorICAgICAgICAg
ICAgICBjdXJyUGFyYW1bM10gPT0gJ2UnICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVs0XSA9
PSAncicpCisgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICBjdXJyUGFyYW0gKz0g
NTsKKyAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJQYXJhbSk7CisgICAgfQorCisgICAg
aWYgKCpjdXJyUGFyYW0gPT0gJ24nKSB7CisgICAgICAgIGlmICghKChlb1N0cmluZyAtIGN1cnJQ
YXJhbSkgPiAzKSAmJgorICAgICAgICAgICAgICBjdXJyUGFyYW1bMV0gPT0gJ28nICYmCisgICAg
ICAgICAgICAgIGN1cnJQYXJhbVsyXSA9PSAnbicgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFt
WzNdID09ICdlJykKKyAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgIGN1cnJQYXJh
bSArPSA0OworICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyclBhcmFtKTsKKyAgICAgICAg
YWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19OT05FOworICAgIH0gZWxzZSBpZiAoKmN1
cnJQYXJhbSA9PSAneCcpIHsKKyAgICAgICAgaWYgKChlb1N0cmluZyAtIGN1cnJQYXJhbSkgPCA4
KQorICAgICAgICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgaWYgKGN1cnJQYXJhbVsxXSAh
PSAnTScgfHwgY3VyclBhcmFtWzRdICE9ICdZJyB8fCBjdXJyUGFyYW1bNV0gIT0gJ00nKQorICAg
ICAgICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgaWYgKGN1cnJQYXJhbVsyXSA9PSAnaScg
JiYgY3VyclBhcmFtWzNdID09ICduJykgeworICAgICAgICAgICAgaWYgKGN1cnJQYXJhbVs2XSA9
PSAnaScgJiYgY3VyclBhcmFtWzddID09ICduJykgeworICAgICAgICAgICAgICAgIGFsaWduID0g
U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU47CisgICAgICAgICAgICB9IGVsc2UgaWYg
KGN1cnJQYXJhbVs2XSA9PSAnaScgJiYgY3VyclBhcmFtWzddID09ICdkJykgeworICAgICAgICAg
ICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSUQ7CisgICAgICAg
ICAgICB9IGVsc2UgaWYgKGN1cnJQYXJhbVs2XSA9PSAnYScgJiYgY3VyclBhcmFtWzddID09ICd4
JykgeworICAgICAgICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1J
TllNQVg7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBnb3RvIGJhaWxfb3V0
OworICAgICAgICB9IGVsc2UgaWYgKGN1cnJQYXJhbVsyXSA9PSAnaScgJiYgY3VyclBhcmFtWzNd
ID09ICdkJykgeworICAgICAgICAgICAgaWYgKGN1cnJQYXJhbVs2XSA9PSAnaScgJiYgY3VyclBh
cmFtWzddID09ICduJykgeworICAgICAgICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQ
RUNUUkFUSU9fWE1JRFlNSU47CisgICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJQYXJhbVs2XSA9
PSAnaScgJiYgY3VyclBhcmFtWzddID09ICdkJykgeworICAgICAgICAgICAgICAgIGFsaWduID0g
U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQ7CisgICAgICAgICAgICB9IGVsc2UgaWYg
KGN1cnJQYXJhbVs2XSA9PSAnYScgJiYgY3VyclBhcmFtWzddID09ICd4JykgeworICAgICAgICAg
ICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNQVg7CisgICAgICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICB9IGVs
c2UgaWYgKGN1cnJQYXJhbVsyXSA9PSAnYScgJiYgY3VyclBhcmFtWzNdID09ICd4JykgeworICAg
ICAgICAgICAgaWYgKGN1cnJQYXJhbVs2XSA9PSAnaScgJiYgY3VyclBhcmFtWzddID09ICduJykg
eworICAgICAgICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlN
SU47CisgICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJQYXJhbVs2XSA9PSAnaScgJiYgY3VyclBh
cmFtWzddID09ICdkJykgeworICAgICAgICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQ
RUNUUkFUSU9fWE1BWFlNSUQ7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJQYXJhbVs2XSA9
PSAnYScgJiYgY3VyclBhcmFtWzddID09ICd4JykgeworICAgICAgICAgICAgICAgIGFsaWduID0g
U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNQVg7CisgICAgICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAg
IGdvdG8gYmFpbF9vdXQ7CisgICAgICAgIGN1cnJQYXJhbSArPSA4OworICAgICAgICBza2lwT3B0
aW9uYWxTcGFjZXMoY3VyclBhcmFtKTsKKyAgICB9CisKKyAgICBpZiAoKmN1cnJQYXJhbSA9PSAn
bScpIHsKKyAgICAgICAgaWYgKCEoKGVvU3RyaW5nIC0gY3VyclBhcmFtKSA+IDMpICYmCisgICAg
ICAgICAgICAgIGN1cnJQYXJhbVsxXSA9PSAnZScgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFt
WzJdID09ICdlJyAmJgorICAgICAgICAgICAgICBjdXJyUGFyYW1bM10gPT0gJ3QnKQorICAgICAg
ICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgY3VyclBhcmFtICs9IDQ7CisgICAgICAgIHNr
aXBPcHRpb25hbFNwYWNlcyhjdXJyUGFyYW0pOworICAgICAgICBtZWV0T3JTbGljZSA9IFNWR19N
RUVUT1JTTElDRV9NRUVUOworICAgIH0gZWxzZSBpZiAoKmN1cnJQYXJhbSA9PSAncycpIHsKKyAg
ICAgICAgaWYgKCEoKGVvU3RyaW5nIC0gY3VyclBhcmFtKSA+IDQpICYmCisgICAgICAgICAgICAg
IGN1cnJQYXJhbVsxXSA9PSAnbCcgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFtWzJdID09ICdp
JyAmJgorICAgICAgICAgICAgICBjdXJyUGFyYW1bM10gPT0gJ2MnICYmCisgICAgICAgICAgICAg
IGN1cnJQYXJhbVs0XSA9PSAnZScpCisgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAg
ICBjdXJyUGFyYW0gKz0gNTsKKyAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJQYXJhbSk7
CisgICAgICAgIGlmIChtX2FsaWduICE9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX05PTkUpCisg
ICAgICAgICAgICBtZWV0T3JTbGljZSA9IFNWR19NRUVUT1JTTElDRV9TTElDRTsKICAgICB9CiAK
KyAgICBpZiAoZW9TdHJpbmcgIT0gY3VyclBhcmFtKQorICAgICAgICBnb3RvIGJhaWxfb3V0OyAv
LyBUT0RPOiBtYXkgbmVlZCB0byBwcmludCBhbiBlcnJvciBoZXJlCisKKyAgICBzZXRBbGlnbihh
bGlnbik7CisgICAgc2V0TWVldE9yU2xpY2UobWVldE9yU2xpY2UpOworCisgICAgaWYgKG1fY29u
dGV4dCkKKyAgICAgICAgbV9jb250ZXh0LT5ub3RpZnlBdHRyaWJ1dGVDaGFuZ2UoKTsKKyAgICBy
ZXR1cm47CisKK2JhaWxfb3V0OgorICAgIHNldEFsaWduKFNWR19QUkVTRVJWRUFTUEVDVFJBVElP
X05PTkUpOworICAgIHNldE1lZXRPclNsaWNlKFNWR19NRUVUT1JTTElDRV9NRUVUKTsKKwogICAg
IGlmIChtX2NvbnRleHQpCiAgICAgICAgIG1fY29udGV4dC0+bm90aWZ5QXR0cmlidXRlQ2hhbmdl
KCk7CiB9CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUcmFuc2Zvcm1hYmxlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUcmFuc2Zvcm1hYmxlLmNwcAkocmV2aXNp
b24gMTY3MTcpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUcmFuc2Zvcm1hYmxlLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzIsMTIgKzMyLDEzIEBACiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNp
bmNsdWRlICJTVkdIZWxwZXIuaCIKICNpbmNsdWRlICJTVkdNYXRyaXguaCIKKyNpbmNsdWRlICJz
dmdwYXRocGFyc2VyLmgiCiAjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtYWJsZS5oIgogI2luY2x1ZGUg
IlNWR1N0eWxlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0LmgiCiAjaW5j
bHVkZSAia3N2Zy5oIgogCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKK25hbWVzcGFjZSBXZWJD
b3JlIHsKIAogU1ZHVHJhbnNmb3JtYWJsZTo6U1ZHVHJhbnNmb3JtYWJsZSgpIDogU1ZHTG9jYXRh
YmxlKCkKIHsKQEAgLTQ3LDgxICs0OCwxNTUgQEAgU1ZHVHJhbnNmb3JtYWJsZTo6flNWR1RyYW5z
Zm9ybWFibGUoKQogewogfQogCitpbnQgcGFyc2VUcmFuc2Zvcm1QYXJhbUxpc3QoY29uc3QgY2hh
ciomIHB0ciwgZG91YmxlKiB4LCBpbnQgcmVxdWlyZWQsIGludCBvcHRpb25hbCkKK3sKKyAgICBp
bnQgb3B0aW9uYWxQYXJhbXMgPSAwLCByZXF1aXJlZFBhcmFtcyA9IDA7CisgICAgc2tpcE9wdGlv
bmFsU3BhY2VzKHB0cik7CisgICAgaWYgKCpwdHIgIT0gJygnKQorICAgICAgICByZXR1cm4gLTE7
CisgICAgcHRyKys7CisgICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0cik7CisKKyAgICB3aGlsZSAo
cmVxdWlyZWRQYXJhbXMgPCByZXF1aXJlZCkgeworICAgICAgICBpZiAoIXRyeVBhcnNlQ29vcmQo
cHRyLCB4W3JlcXVpcmVkUGFyYW1zXSkpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAg
IHJlcXVpcmVkUGFyYW1zKys7CisgICAgICAgIGlmIChyZXF1aXJlZFBhcmFtcyA8IHJlcXVpcmVk
KQorICAgICAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzT3JDb21tYShwdHIpOworICAgIH0KKyAg
ICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsKKworICAgIGlmICgqcHRyID09ICcpJykgeyAvLyBz
a2lwIG9wdGlvbmFscworICAgICAgICBwdHIrKzsKKyAgICB9IGVsc2UgeworICAgICAgICAgd2hp
bGUgKG9wdGlvbmFsUGFyYW1zIDwgb3B0aW9uYWwpIHsKKyAgICAgICAgICAgIGlmICghdHJ5UGFy
c2VDb29yZChwdHIsIHhbcmVxdWlyZWRQYXJhbXMgKyBvcHRpb25hbFBhcmFtc10pKQorICAgICAg
ICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIG9wdGlvbmFsUGFyYW1zKys7CisgICAg
ICAgICAgICBpZiAob3B0aW9uYWxQYXJhbXMgPCBvcHRpb25hbCkKKyAgICAgICAgICAgICAgICBz
a2lwT3B0aW9uYWxTcGFjZXNPckNvbW1hKHB0cik7CisgICAgICAgICB9CisgICAgICAgICBza2lw
T3B0aW9uYWxTcGFjZXMocHRyKTsKKworICAgICAgICBpZiAoKnB0ciAhPSAnKScpCisgICAgICAg
ICAgICByZXR1cm4gLTE7CisgICAgICAgIHB0cisrOworICAgIH0KKworICAgIHJldHVybiByZXF1
aXJlZFBhcmFtcyArIG9wdGlvbmFsUGFyYW1zOworfQorCiB2b2lkIFNWR1RyYW5zZm9ybWFibGU6
OnBhcnNlVHJhbnNmb3JtQXR0cmlidXRlKFNWR1RyYW5zZm9ybUxpc3QgKmxpc3QsIGNvbnN0IEF0
b21pY1N0cmluZyYgdHJhbnNmb3JtKQogewotICAgIC8vIFNwbGl0IHN0cmluZyBmb3IgaGFuZGxp
bmcgMSB0cmFuc2Zvcm0gc3RhdGVtZW50IGF0IGEgdGltZQotICAgIFZlY3RvcjxTdHJpbmc+IHN1
YnRyYW5zZm9ybXMgPSB0cmFuc2Zvcm0uZG9tU3RyaW5nKCkuc2ltcGxpZnlXaGl0ZVNwYWNlKCku
c3BsaXQoJyknKTsKLSAgICBWZWN0b3I8U3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gc3Vi
dHJhbnNmb3Jtcy5lbmQoKTsKLSAgICBmb3IgKFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRv
ciBpdCA9IHN1YnRyYW5zZm9ybXMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAg
IFZlY3RvcjxTdHJpbmc+IHN1YnRyYW5zZm9ybSA9ICgqaXQpLnNwbGl0KCcoJyk7Ci0gICAgICAg
IAotICAgICAgICBpZiAoc3VidHJhbnNmb3JtLnNpemUoKSA8IDIpCi0gICAgICAgICAgICBicmVh
azsgLy8gaW52YWxpZCB0cmFuc2Zvcm0sIGlnbm9yZS4KLQotICAgICAgICBzdWJ0cmFuc2Zvcm1b
MF0gPSBzdWJ0cmFuc2Zvcm1bMF0uc3RyaXBXaGl0ZVNwYWNlKCkubG93ZXIoKTsKLSAgICAgICAg
c3VidHJhbnNmb3JtWzFdID0gc3VidHJhbnNmb3JtWzFdLnNpbXBsaWZ5V2hpdGVTcGFjZSgpOwot
ICAgICAgICBSZWd1bGFyRXhwcmVzc2lvbiByZWcoIihbLV0/XFxkKlxcLj9cXGQrKD86ZVstXT9c
XGQrKT8pIik7Ci0KLSAgICAgICAgaW50IHBvcyA9IDA7Ci0gICAgICAgIFZlY3RvcjxTdHJpbmc+
IHBhcmFtczsKLSAgICAgICAgCi0gICAgICAgIHdoaWxlIChwb3MgPj0gMCkgewotICAgICAgICAg
ICAgcG9zID0gcmVnLnNlYXJjaChzdWJ0cmFuc2Zvcm1bMV0uZGVwcmVjYXRlZFN0cmluZygpLCBw
b3MpOwotICAgICAgICAgICAgaWYgKHBvcyAhPSAtMSkgewotICAgICAgICAgICAgICAgIHBhcmFt
cy5hcHBlbmQocmVnLmNhcCgxKSk7Ci0gICAgICAgICAgICAgICAgcG9zICs9IHJlZy5tYXRjaGVk
TGVuZ3RoKCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGlm
IChwYXJhbXMuc2l6ZSgpIDwgMSkKLSAgICAgICAgICAgIGJyZWFrOworICAgIERlcHJlY2F0ZWRT
dHJpbmcgdHJhbnNmb3JtcyA9IHRyYW5zZm9ybS5kZXByZWNhdGVkU3RyaW5nKCk7CisgICAgZG91
YmxlIHhbNl0gPSB7MCwgMCwgMCwgMCwgMCwgMH07CisgICAgaW50IG5yID0gMCwgcmVxdWlyZWQg
PSAwLCBvcHRpb25hbCA9IDA7CisgICAgCisgICAgY29uc3QgY2hhciogY3VyclRyYW5zZm9ybSA9
IHRyYW5zZm9ybXMubGF0aW4xKCk7CisgICAgY29uc3QgY2hhciogZW9TdHJpbmcgPSB0cmFuc2Zv
cm1zLmxhdGluMSgpICsgdHJhbnNmb3Jtcy5sZW5ndGgoKTsKKworICAgIHdoaWxlIChjdXJyVHJh
bnNmb3JtIDwgZW9TdHJpbmcpIHsKKyAgICAgICAgdW5zaWduZWQgc2hvcnQgdHlwZSA9IFNWR1Ry
YW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9VTktOT1dOOworICAgICAgICBza2lwT3B0aW9uYWxTcGFj
ZXMoY3VyclRyYW5zZm9ybSk7CisKKyAgICAgICAgaWYgKCpjdXJyVHJhbnNmb3JtID09ICdzJykg
eworICAgICAgICAgICAgaWYgKCEoZW9TdHJpbmcgLSBjdXJyVHJhbnNmb3JtKSA+IDUpCisgICAg
ICAgICAgICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgICAgIGlmIChjdXJyVHJhbnNmb3Jt
WzFdID09ICdrJyAmJiBjdXJyVHJhbnNmb3JtWzJdID09ICdlJyAmJgorICAgICAgICAgICAgICAg
ICAgY3VyclRyYW5zZm9ybVszXSA9PSAndycpIHsKKyAgICAgICAgICAgICAgICBpZiAoIGN1cnJU
cmFuc2Zvcm1bNF0gPT0gJ1gnKQorICAgICAgICAgICAgICAgICAgICB0eXBlID0gU1ZHVHJhbnNm
b3JtOjpTVkdfVFJBTlNGT1JNX1NLRVdYOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKCBjdXJy
VHJhbnNmb3JtWzRdID09ICdZJykKKyAgICAgICAgICAgICAgICAgICAgdHlwZSA9IFNWR1RyYW5z
Zm9ybTo6U1ZHX1RSQU5TRk9STV9TS0VXWTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAg
ICAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgICAgICAgICAgcmVxdWlyZWQgPSAx
OworICAgICAgICAgICAgICAgIG9wdGlvbmFsID0gMDsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAo
Y3VyclRyYW5zZm9ybVsxXSA9PSAnYycgJiYgY3VyclRyYW5zZm9ybVsyXSA9PSAnYScgJiYKKyAg
ICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1bM10gPT0gJ2wnICYmIGN1cnJUcmFuc2Zvcm1b
NF0gPT0gJ2UnKSB7CisgICAgICAgICAgICAgICAgcmVxdWlyZWQgPSAxOworICAgICAgICAgICAg
ICAgIG9wdGlvbmFsID0gMTsKKyAgICAgICAgICAgICAgICB0eXBlID0gU1ZHVHJhbnNmb3JtOjpT
VkdfVFJBTlNGT1JNX1NDQUxFOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAg
Z290byBiYWlsX291dDsKKyAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm0gKz0gNTsKKyAgICAgICAg
fSBlbHNlIGlmICgqY3VyclRyYW5zZm9ybSA9PSAndCcpIHsKKyAgICAgICAgICAgIGlmICghKChl
b1N0cmluZyAtIGN1cnJUcmFuc2Zvcm0pID4gOSkgJiYKKyAgICAgICAgICAgICAgICAgIGN1cnJU
cmFuc2Zvcm1bMV0gPT0gJ3InICYmIGN1cnJUcmFuc2Zvcm1bMl0gPT0gJ2EnICYmCisgICAgICAg
ICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzNdID09ICduJyAmJiBjdXJyVHJhbnNmb3JtWzRdID09
ICdzJyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVs1XSA9PSAnbCcgJiYgY3Vy
clRyYW5zZm9ybVs2XSA9PSAnYScgJiYKKyAgICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1b
N10gPT0gJ3QnICYmIGN1cnJUcmFuc2Zvcm1bOF0gPT0gJ2UnKQorICAgICAgICAgICAgICAgIGdv
dG8gYmFpbF9vdXQ7CisgICAgICAgICAgICBjdXJyVHJhbnNmb3JtICs9IDk7CisgICAgICAgICAg
ICByZXF1aXJlZCA9IDE7CisgICAgICAgICAgICBvcHRpb25hbCA9IDE7CisgICAgICAgICAgICB0
eXBlID0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1RSQU5TTEFURTsKKyAgICAgICAgfSBl
bHNlIGlmICgqY3VyclRyYW5zZm9ybSA9PSAncicpIHsKKyAgICAgICAgICAgIGlmICghKChlb1N0
cmluZyAtIGN1cnJUcmFuc2Zvcm0pID4gNikgJiYKKyAgICAgICAgICAgICAgICAgIGN1cnJUcmFu
c2Zvcm1bMV0gPT0gJ28nICYmIGN1cnJUcmFuc2Zvcm1bMl0gPT0gJ3QnICYmCisgICAgICAgICAg
ICAgICAgICBjdXJyVHJhbnNmb3JtWzNdID09ICdhJyAmJiBjdXJyVHJhbnNmb3JtWzRdID09ICd0
JyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVs1XSA9PSAnZScpCisgICAgICAg
ICAgICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm0gKz0gNjsK
KyAgICAgICAgICAgIHJlcXVpcmVkID0gMTsKKyAgICAgICAgICAgIG9wdGlvbmFsID0gMjsKKyAg
ICAgICAgICAgIHR5cGUgPSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fUk9UQVRFOworICAg
ICAgICB9IGVsc2UgaWYgKCpjdXJyVHJhbnNmb3JtID09ICdtJykgeworICAgICAgICAgICAgaWYg
KCEoKGVvU3RyaW5nIC0gY3VyclRyYW5zZm9ybSkgPiA2KSAmJiBjdXJyVHJhbnNmb3JtWzFdID09
ICdhJyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVsyXSA9PSAndCcgJiYgY3Vy
clRyYW5zZm9ybVszXSA9PSAncicgJiYKKyAgICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1b
NF0gPT0gJ2knICYmIGN1cnJUcmFuc2Zvcm1bNV0gPT0gJ3gnKQorICAgICAgICAgICAgICAgIGdv
dG8gYmFpbF9vdXQ7CisgICAgICAgICAgICBjdXJyVHJhbnNmb3JtICs9IDY7CisgICAgICAgICAg
ICByZXF1aXJlZCA9IDY7CisgICAgICAgICAgICBvcHRpb25hbCA9IDA7CisgICAgICAgICAgICB0
eXBlID0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX01BVFJJWDsKKyAgICAgICAgfSBlbHNl
IAorICAgICAgICAgICAgZ290byBiYWlsX291dDsKIAotICAgICAgICBpZiAoc3VidHJhbnNmb3Jt
WzBdLnN0YXJ0c1dpdGgoIjsiKSB8fCBzdWJ0cmFuc2Zvcm1bMF0uc3RhcnRzV2l0aCgiLCIpKQot
ICAgICAgICAgICAgc3VidHJhbnNmb3JtWzBdID0gc3VidHJhbnNmb3JtWzBdLnN1YnN0cmluZygx
KS5zdHJpcFdoaXRlU3BhY2UoKTsKKyAgICAgICAgaWYgKChuciA9IHBhcnNlVHJhbnNmb3JtUGFy
YW1MaXN0KGN1cnJUcmFuc2Zvcm0sIHgsIHJlcXVpcmVkLCBvcHRpb25hbCkpIDwgMCkKKyAgICAg
ICAgICAgIGdvdG8gYmFpbF9vdXQ7CiAKICAgICAgICAgU1ZHVHJhbnNmb3JtKiB0ID0gbmV3IFNW
R1RyYW5zZm9ybSgpOwotCi0gICAgICAgIGlmIChzdWJ0cmFuc2Zvcm1bMF0gPT0gInJvdGF0ZSIp
IHsKLSAgICAgICAgICAgIGlmIChwYXJhbXMuc2l6ZSgpID09IDMpCi0gICAgICAgICAgICAgICAg
dC0+c2V0Um90YXRlKHBhcmFtc1swXS50b0RvdWJsZSgpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwYXJhbXNbMV0udG9Eb3VibGUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBhcmFtc1syXS50b0RvdWJsZSgpKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHBhcmFtcy5z
aXplKCkgPT0gMSkKLSAgICAgICAgICAgICAgICB0LT5zZXRSb3RhdGUocGFyYW1zWzBdLnRvRG91
YmxlKCksIDAsIDApOwotICAgICAgICB9IGVsc2UgaWYgKHN1YnRyYW5zZm9ybVswXSA9PSAidHJh
bnNsYXRlIikgewotICAgICAgICAgICAgaWYgKHBhcmFtcy5zaXplKCkgPT0gMikKLSAgICAgICAg
ICAgICAgICB0LT5zZXRUcmFuc2xhdGUocGFyYW1zWzBdLnRvRG91YmxlKCksIHBhcmFtc1sxXS50
b0RvdWJsZSgpKTsKLSAgICAgICAgICAgIGVsc2UgaWYgKHBhcmFtcy5zaXplKCkgPT0gMSkgLy8g
U3BlYzogaWYgb25seSBvbmUgcGFyYW0gZ2l2ZW4sIGFzc3VtZSAybmQgcGFyYW0gdG8gYmUgMAot
ICAgICAgICAgICAgICAgIHQtPnNldFRyYW5zbGF0ZShwYXJhbXNbMF0udG9Eb3VibGUoKSwgMCk7
Ci0gICAgICAgIH0gZWxzZSBpZiAoc3VidHJhbnNmb3JtWzBdID09ICJzY2FsZSIpIHsKLSAgICAg
ICAgICAgIGlmIChwYXJhbXMuc2l6ZSgpID09IDIpCi0gICAgICAgICAgICAgICAgdC0+c2V0U2Nh
bGUocGFyYW1zWzBdLnRvRG91YmxlKCksIHBhcmFtc1sxXS50b0RvdWJsZSgpKTsKLSAgICAgICAg
ICAgIGVsc2UgaWYgKHBhcmFtcy5zaXplKCkgPT0gMSkgLy8gU3BlYzogaWYgb25seSBvbmUgcGFy
YW0gZ2l2ZW4sIGFzc3VtZSB1bmlmb3JtIHNjYWxpbmcKLSAgICAgICAgICAgICAgICB0LT5zZXRT
Y2FsZShwYXJhbXNbMF0udG9Eb3VibGUoKSwgcGFyYW1zWzBdLnRvRG91YmxlKCkpOwotICAgICAg
ICB9IGVsc2UgaWYgKHN1YnRyYW5zZm9ybVswXSA9PSAic2tld3giICYmIChwYXJhbXMuc2l6ZSgp
ID09IDEpKQotICAgICAgICAgICAgdC0+c2V0U2tld1gocGFyYW1zWzBdLnRvRG91YmxlKCkpOwot
ICAgICAgICBlbHNlIGlmIChzdWJ0cmFuc2Zvcm1bMF0gPT0gInNrZXd5IiAmJiAocGFyYW1zLnNp
emUoKSA9PSAxKSkKLSAgICAgICAgICAgIHQtPnNldFNrZXdZKHBhcmFtc1swXS50b0RvdWJsZSgp
KTsKLSAgICAgICAgZWxzZSBpZiAoc3VidHJhbnNmb3JtWzBdID09ICJtYXRyaXgiICYmIChwYXJh
bXMuc2l6ZSgpID09IDYpKSB7Ci0gICAgICAgICAgICBTVkdNYXRyaXggKnJldCA9IG5ldyBTVkdN
YXRyaXgocGFyYW1zWzBdLnRvRG91YmxlKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNbMV0udG9Eb3VibGUoKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1syXS50b0RvdWJs
ZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGFyYW1zWzNdLnRvRG91YmxlKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwYXJhbXNbNF0udG9Eb3VibGUoKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1s1XS50b0RvdWJsZSgpKTsK
LSAgICAgICAgICAgIHQtPnNldE1hdHJpeChyZXQpOworICAgICAgICBzd2l0Y2ggKHR5cGUpCisg
ICAgICAgIHsKKyAgICAgICAgICAgIGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1NL
RVdYOgorICAgICAgICAgICAgICAgdC0+c2V0U2tld1goeFswXSk7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9TS0VX
WToKKyAgICAgICAgICAgICAgIHQtPnNldFNrZXdZKHhbMF0pOworICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgY2FzZSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fU0NBTEU6
CisgICAgICAgICAgICAgICAgICBpZiAobnIgPT0gMSkgLy8gU3BlYzogaWYgb25seSBvbmUgcGFy
YW0gZ2l2ZW4sIGFzc3VtZSB1bmlmb3JtIHNjYWxpbmcKKyAgICAgICAgICAgICAgICAgICAgICB0
LT5zZXRTY2FsZSh4WzBdLCB4WzBdKTsKKyAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICAgICAgICB0LT5zZXRTY2FsZSh4WzBdLCB4WzFdKTsKKyAgICAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgICAgIGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1RSQU5T
TEFURToKKyAgICAgICAgICAgICAgICAgIGlmIChuciA9PSAxKSAvLyBTcGVjOiBpZiBvbmx5IG9u
ZSBwYXJhbSBnaXZlbiwgYXNzdW1lIDJuZCBwYXJhbSB0byBiZSAwCisgICAgICAgICAgICAgICAg
ICAgICAgdC0+c2V0VHJhbnNsYXRlKHhbMF0sIDApOworICAgICAgICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgICAgICAgIHQtPnNldFRyYW5zbGF0ZSh4WzBdLCB4WzFdKTsKKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdfVFJB
TlNGT1JNX1JPVEFURToKKyAgICAgICAgICAgICAgICAgIGlmIChuciA9PSAxKQorICAgICAgICAg
ICAgICAgICAgICAgIHQtPnNldFJvdGF0ZSh4WzBdLCAwLCAwKTsKKyAgICAgICAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICB0LT5zZXRSb3RhdGUoeFswXSwgeFsxXSwgeFsy
XSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFNWR1RyYW5zZm9y
bTo6U1ZHX1RSQU5TRk9STV9NQVRSSVg6CisgICAgICAgICAgICAgICAgdC0+c2V0TWF0cml4KG5l
dyBTVkdNYXRyaXgoeFswXSwgeFsxXSwgeFsyXSwgeFszXSwgeFs0XSwgeFs1XSkpOworICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBpZiAodC0+dHlw
ZSgpID09IFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9VTktOT1dOKSB7Ci0gICAgICAgICAg
ICBkZWxldGUgdDsKLSAgICAgICAgICAgIGJyZWFrOyAvLyBmYWlsZWQgdG8gcGFyc2UgYSB2YWxp
ZCB0cmFuc2Zvcm0sIGFib3J0LgotICAgICAgICB9Ci0KICAgICAgICAgRXhjZXB0aW9uQ29kZSBl
YyA9IDA7CiAgICAgICAgIGxpc3QtPmFwcGVuZEl0ZW0odCwgZWMpOworICAgICAgICBza2lwT3B0
aW9uYWxTcGFjZXNPckNvbW1hKGN1cnJUcmFuc2Zvcm0pOwogICAgIH0KK2JhaWxfb3V0OiA7CiB9
CiAKK30KKworCiAvLyB2aW06dHM9NDpub2V0CiAjZW5kaWYgLy8gU1ZHX1NVUFBPUlQKIApJbmRl
eDogV2ViQ29yZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5jcHAJKHJldmlzaW9uIDE2NzE3KQorKysgV2Vi
Q29yZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDM1
ICsyNiw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotLy8gU1ZHIGFsbG93cyBzZXZlcmFs
IGRpZmZlcmVudCB3aGl0ZXNwYWNlIGNoYXJhY3RlcnM6Ci0vLyBodHRwOi8vd3d3LnczLm9yZy9U
Ui9TVkcvcGF0aHMuaHRtbCNQYXRoRGF0YUJORgotc3RhdGljIGlubGluZSBib29sIGlzV2hpdGVz
cGFjZShjaGFyIGMpIHsKLSAgICByZXR1cm4gKGMgPT0gJyAnIHx8IGMgPT0gJ1x0JyB8fCBjID09
ICdcbicgfHwgYyA9PSAnXHInKTsKLX0KLQotLy8gQWxsIHN0cmluZ3MgYXJlIGFzc3VtZWQgdG8g
YmUgbnVsbCB0ZXJtaW5hdGVkCi1zdGF0aWMgaW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU3BhY2Vz
KGNvbnN0IGNoYXIqJiBwdHIpIC8vIHRydWUgbWVhbnMgImZvdW5kIHNwYWNlIgotewotICAgIGlm
ICghaXNXaGl0ZXNwYWNlKCpwdHIpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgd2hpbGUg
KGlzV2hpdGVzcGFjZSgqcHRyKSkKLSAgICAgICAgcHRyKys7Ci0gICAgcmV0dXJuIHRydWU7Ci19
Ci0KLXN0YXRpYyBpbmxpbmUgYm9vbCBza2lwT3B0aW9uYWxTcGFjZXNPckNvbW1hKGNvbnN0IGNo
YXIqJiBwdHIpCi17Ci0gICAgaWYgKCFpc1doaXRlc3BhY2UoKnB0cikgJiYgKnB0ciAhPSAnLCcp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsKLSAg
ICBpZiAoKnB0ciA9PSAnLCcpIHsKLSAgICAgICAgcHRyKys7Ci0gICAgICAgIHNraXBPcHRpb25h
bFNwYWNlcyhwdHIpOwotICAgIH0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotCiBjb25zdCBjaGFy
KiBwYXJzZUNvb3JkKGNvbnN0IGNoYXIqIHB0ciwgZG91YmxlICZudW1iZXIpCiB7CiAgICAgaW50
IGludGVnZXIsIGV4cG9uZW50OwpAQCAtMTAyLDYgKzczLDggQEAgY29uc3QgY2hhciogcGFyc2VD
b29yZChjb25zdCBjaGFyKiBwdHIsIAogICAgICAgICAgICAgZXhwb25lbnQgKz0gKnB0ciAtICcw
JzsKICAgICAgICAgICAgIHB0cisrOwogICAgICAgICB9CisgICAgICAgIGlmIChwdHJbLTFdID09
ICdlJykKKyAgICAgICAgICAgIHB0ci0tOwogICAgIH0KIAogICAgIG51bWJlciA9IGludGVnZXIg
KyBkZWNpbWFsOwpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL3N2Z3BhdGhwYXJzZXIuaAkocmV2aXNpb24gMTY3
MTcpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9zdmdwYXRocGFyc2VyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTY5LDYgKzY5LDQzIEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAgIHZvaWQgY2FsY3Vs
YXRlQXJjKCBib29sIHJlbGF0aXZlLCBkb3VibGUgJmN1cngsIGRvdWJsZSAmY3VyeSwgZG91Ymxl
IGFuZ2xlLCBkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSByMSwgZG91YmxlIHIyLCBib29sIGxh
cmdlQXJjRmxhZywgYm9vbCBzd2VlcEZsYWcgKTsKICAgICB9OwogCisgICAgLy8gU1ZHIGFsbG93
cyBzZXZlcmFsIGRpZmZlcmVudCB3aGl0ZXNwYWNlIGNoYXJhY3RlcnM6CisgICAgLy8gaHR0cDov
L3d3dy53My5vcmcvVFIvU1ZHL3BhdGhzLmh0bWwjUGF0aERhdGFCTkYKKyAgICBzdGF0aWMgaW5s
aW5lIGJvb2wgaXNXaGl0ZXNwYWNlKGNoYXIgYykgeworICAgICAgICByZXR1cm4gKGMgPT0gJyAn
IHx8IGMgPT0gJ1x0JyB8fCBjID09ICdcbicgfHwgYyA9PSAnXHInKTsKKyAgICB9CisKKyAgICAv
LyBBbGwgc3RyaW5ncyBhcmUgYXNzdW1lZCB0byBiZSBudWxsIHRlcm1pbmF0ZWQKKyAgICBzdGF0
aWMgaW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU3BhY2VzKGNvbnN0IGNoYXIqJiBwdHIpIC8vIHRy
dWUgbWVhbnMgImZvdW5kIHNwYWNlIgoreworICAgICAgICBpZiAoIWlzV2hpdGVzcGFjZSgqcHRy
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgd2hpbGUgKGlzV2hpdGVzcGFj
ZSgqcHRyKSkKKyAgICAgICAgICAgIHB0cisrOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9
CisKKyAgICBzdGF0aWMgaW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU3BhY2VzT3JDb21tYShjb25z
dCBjaGFyKiYgcHRyKQorICAgIHsKKyAgICAgICAgaWYgKCFpc1doaXRlc3BhY2UoKnB0cikgJiYg
KnB0ciAhPSAnLCcpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHNraXBPcHRp
b25hbFNwYWNlcyhwdHIpOworICAgICAgICBpZiAoKnB0ciA9PSAnLCcpIHsKKyAgICAgICAgICAg
IHB0cisrOworICAgICAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0cik7CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgc3RhdGljIGlubGluZSBib29sIHRy
eVBhcnNlQ29vcmQoY29uc3QgY2hhciomIHB0ciwgZG91YmxlICZ4KQorICAgIHsKKyAgICAgICAg
IGNvbnN0IGNoYXIgKnAgPSBwYXJzZUNvb3JkKHB0ciwgeCk7CisgICAgICAgICBpZiAocCA9PSBw
dHIpCisgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgcHRyID0gcDsKKyAgICAg
ICAgIHJldHVybiB0cnVlOworICAgIH0KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYgLy8gU1ZHX1NVUFBPUlQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10880</attachid>
            <date>2006-10-03 06:03:46 -0700</date>
            <delta_ts>2006-12-22 13:45:30 -0800</delta_ts>
            <desc>Using UChar</desc>
            <filename>11108-3.diff</filename>
            <type>text/plain</type>
            <size>31461</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3BwCShy
ZXZpc2lvbiAxNjczNSkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0
aW8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSw3IEBACiAjaW5jbHVkZSAia3N2Zy5o
IgogI2luY2x1ZGUgIlNWR01hdHJpeC5oIgogI2luY2x1ZGUgIlNWR1NWR0VsZW1lbnQuaCIKKyNp
bmNsdWRlICJzdmdwYXRocGFyc2VyLmgiCiAjaW5jbHVkZSAiU1ZHUHJlc2VydmVBc3BlY3RSYXRp
by5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02NCw0MSArNjUsMTExIEBACiB2b2lkIFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW86OnBhcnNlUHJlc2VydmVBc3BlY3RSYXRpbyhjb25zdCBTdHJp
bmcmIHN0cmluZykKIHsKICAgICAvLyBTcGVjOiBzZXQgdGhlIGRlZmF1bHRzCi0gICAgc2V0QWxp
Z24oU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORSk7Ci0gICAgc2V0TWVldE9yU2xpY2UoU1ZH
X01FRVRPUlNMSUNFX01FRVQpOwotICAgIAotICAgIFZlY3RvcjxTdHJpbmc+IHBhcmFtcyA9IHN0
cmluZy5zaW1wbGlmeVdoaXRlU3BhY2UoKS5zcGxpdCgnICcpOworICAgIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW9UeXBlIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORTsKKyAgICBT
VkdNZWV0T3JTbGljZVR5cGUgbWVldE9yU2xpY2UgPSBTVkdfTUVFVE9SU0xJQ0VfTUVFVDsKIAot
ICAgIGlmIChwYXJhbXNbMF0gPT0gIm5vbmUiKQotICAgICAgICBtX2FsaWduID0gU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fTk9ORTsKLSAgICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNaW5ZTWlu
IikKLSAgICAgICAgbV9hbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlOOwot
ICAgIGVsc2UgaWYgKHBhcmFtc1swXSA9PSAieE1pZFlNaW4iKQotICAgICAgICBtX2FsaWduID0g
U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSU47Ci0gICAgZWxzZSBpZiAocGFyYW1zWzBd
ID09ICJ4TWF4WU1pbiIpCi0gICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJ
T19YTUFYWU1JTjsKLSAgICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNaW5ZTWlkIikKLSAgICAg
ICAgbV9hbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlEOwotICAgIGVsc2Ug
aWYgKHBhcmFtc1swXSA9PSAieE1pZFlNaWQiKQotICAgICAgICBtX2FsaWduID0gU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQ7Ci0gICAgZWxzZSBpZiAocGFyYW1zWzBdID09ICJ4TWF4
WU1pZCIpCi0gICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1J
RDsKLSAgICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNaW5ZTWF4IikKLSAgICAgICAgbV9hbGln
biA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUFYOwotICAgIGVsc2UgaWYgKHBhcmFt
c1swXSA9PSAieE1pZFlNYXgiKQotICAgICAgICBtX2FsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNU
UkFUSU9fWE1JRFlNQVg7Ci0gICAgZWxzZSBpZiAocGFyYW1zWzBdID09ICJ4TWF4WU1heCIpCi0g
ICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1BWDsKKyAgICBT
dHJpbmcgcHJlc2VydmUgPSBzdHJpbmc7CisgICAgY29uc3QgVUNoYXIqIGN1cnJQYXJhbSA9IHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPihwcmVzZXJ2ZS5jaGFyYWN0ZXJzV2l0aE51bGxU
ZXJtaW5hdGlvbigpKTsKKyAgICBjb25zdCBVQ2hhciogZW9TdHJpbmcgPSBjdXJyUGFyYW0gKyBw
cmVzZXJ2ZS5sZW5ndGgoKTsKIAotICAgIGlmIChtX2FsaWduICE9IFNWR19QUkVTRVJWRUFTUEVD
VFJBVElPX05PTkUpIHsKLSAgICAgICAgaWYgKChwYXJhbXMuc2l6ZSgpID4gMSkgJiYgKHBhcmFt
c1sxXSA9PSAic2xpY2UiKSkKLSAgICAgICAgICAgIG1fbWVldE9yU2xpY2UgPSBTVkdfTUVFVE9S
U0xJQ0VfU0xJQ0U7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fbWVldE9yU2xpY2UgPSBT
VkdfTUVFVE9SU0xJQ0VfTUVFVDsKKyAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyclBhcmFtKTsK
KworICAgIGlmICgqY3VyclBhcmFtID09ICdkJykgeworICAgICAgICBpZiAoISgoZW9TdHJpbmcg
LSBjdXJyUGFyYW0pID4gNCkgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFtWzFdID09ICdlJyAm
JgorICAgICAgICAgICAgICBjdXJyUGFyYW1bMl0gPT0gJ2YnICYmCisgICAgICAgICAgICAgIGN1
cnJQYXJhbVszXSA9PSAnZScgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFtWzRdID09ICdyJykK
KyAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgIGN1cnJQYXJhbSArPSA1OworICAg
ICAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyclBhcmFtKTsKICAgICB9CiAKKyAgICBpZiAoKmN1
cnJQYXJhbSA9PSAnbicpIHsKKyAgICAgICAgaWYgKCEoKGVvU3RyaW5nIC0gY3VyclBhcmFtKSA+
IDMpICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVsxXSA9PSAnbycgJiYKKyAgICAgICAgICAg
ICAgY3VyclBhcmFtWzJdID09ICduJyAmJgorICAgICAgICAgICAgICBjdXJyUGFyYW1bM10gPT0g
J2UnKQorICAgICAgICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgY3VyclBhcmFtICs9IDQ7
CisgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhjdXJyUGFyYW0pOworICAgICAgICBhbGlnbiA9
IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX05PTkU7CisgICAgfSBlbHNlIGlmICgqY3VyclBhcmFt
ID09ICd4JykgeworICAgICAgICBpZiAoKGVvU3RyaW5nIC0gY3VyclBhcmFtKSA8IDgpCisgICAg
ICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICBpZiAoY3VyclBhcmFtWzFdICE9ICdNJyB8
fCBjdXJyUGFyYW1bNF0gIT0gJ1knIHx8IGN1cnJQYXJhbVs1XSAhPSAnTScpCisgICAgICAgICAg
ICBnb3RvIGJhaWxfb3V0OworICAgICAgICBpZiAoY3VyclBhcmFtWzJdID09ICdpJyAmJiBjdXJy
UGFyYW1bM10gPT0gJ24nKSB7CisgICAgICAgICAgICBpZiAoY3VyclBhcmFtWzZdID09ICdpJyAm
JiBjdXJyUGFyYW1bN10gPT0gJ24nKSB7CisgICAgICAgICAgICAgICAgYWxpZ24gPSBTVkdfUFJF
U0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JTjsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VyclBh
cmFtWzZdID09ICdpJyAmJiBjdXJyUGFyYW1bN10gPT0gJ2QnKSB7CisgICAgICAgICAgICAgICAg
YWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JRDsKKyAgICAgICAgICAgIH0g
ZWxzZSBpZiAoY3VyclBhcmFtWzZdID09ICdhJyAmJiBjdXJyUGFyYW1bN10gPT0gJ3gnKSB7Cisg
ICAgICAgICAgICAgICAgYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1BWDsK
KyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAg
ICAgIH0gZWxzZSBpZiAoY3VyclBhcmFtWzJdID09ICdpJyAmJiBjdXJyUGFyYW1bM10gPT0gJ2Qn
KSB7CisgICAgICAgICAgICBpZiAoY3VyclBhcmFtWzZdID09ICdpJyAmJiBjdXJyUGFyYW1bN10g
PT0gJ24nKSB7CisgICAgICAgICAgICAgICAgYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJ
T19YTUlEWU1JTjsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VyclBhcmFtWzZdID09ICdpJyAm
JiBjdXJyUGFyYW1bN10gPT0gJ2QnKSB7CisgICAgICAgICAgICAgICAgYWxpZ24gPSBTVkdfUFJF
U0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JRDsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VyclBh
cmFtWzZdID09ICdhJyAmJiBjdXJyUGFyYW1bN10gPT0gJ3gnKSB7CisgICAgICAgICAgICAgICAg
YWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1BWDsKKyAgICAgICAgICAgIH0g
ZWxzZQorICAgICAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgIH0gZWxzZSBpZiAo
Y3VyclBhcmFtWzJdID09ICdhJyAmJiBjdXJyUGFyYW1bM10gPT0gJ3gnKSB7CisgICAgICAgICAg
ICBpZiAoY3VyclBhcmFtWzZdID09ICdpJyAmJiBjdXJyUGFyYW1bN10gPT0gJ24nKSB7CisgICAg
ICAgICAgICAgICAgYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1JTjsKKyAg
ICAgICAgICAgIH0gZWxzZSBpZiAoY3VyclBhcmFtWzZdID09ICdpJyAmJiBjdXJyUGFyYW1bN10g
PT0gJ2QnKSB7CisgICAgICAgICAgICAgICAgYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJ
T19YTUFYWU1JRDsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VyclBhcmFtWzZdID09ICdhJyAm
JiBjdXJyUGFyYW1bN10gPT0gJ3gnKSB7CisgICAgICAgICAgICAgICAgYWxpZ24gPSBTVkdfUFJF
U0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1BWDsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAg
ICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgZ290byBi
YWlsX291dDsKKyAgICAgICAgY3VyclBhcmFtICs9IDg7CisgICAgICAgIHNraXBPcHRpb25hbFNw
YWNlcyhjdXJyUGFyYW0pOworICAgIH0KKworICAgIGlmICgqY3VyclBhcmFtID09ICdtJykgewor
ICAgICAgICBpZiAoISgoZW9TdHJpbmcgLSBjdXJyUGFyYW0pID4gMykgJiYKKyAgICAgICAgICAg
ICAgY3VyclBhcmFtWzFdID09ICdlJyAmJgorICAgICAgICAgICAgICBjdXJyUGFyYW1bMl0gPT0g
J2UnICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVszXSA9PSAndCcpCisgICAgICAgICAgICBn
b3RvIGJhaWxfb3V0OworICAgICAgICBjdXJyUGFyYW0gKz0gNDsKKyAgICAgICAgc2tpcE9wdGlv
bmFsU3BhY2VzKGN1cnJQYXJhbSk7CisgICAgICAgIG1lZXRPclNsaWNlID0gU1ZHX01FRVRPUlNM
SUNFX01FRVQ7CisgICAgfSBlbHNlIGlmICgqY3VyclBhcmFtID09ICdzJykgeworICAgICAgICBp
ZiAoISgoZW9TdHJpbmcgLSBjdXJyUGFyYW0pID4gNCkgJiYKKyAgICAgICAgICAgICAgY3VyclBh
cmFtWzFdID09ICdsJyAmJgorICAgICAgICAgICAgICBjdXJyUGFyYW1bMl0gPT0gJ2knICYmCisg
ICAgICAgICAgICAgIGN1cnJQYXJhbVszXSA9PSAnYycgJiYKKyAgICAgICAgICAgICAgY3VyclBh
cmFtWzRdID09ICdlJykKKyAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgIGN1cnJQ
YXJhbSArPSA1OworICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyclBhcmFtKTsKKyAgICAg
ICAgaWYgKG1fYWxpZ24gIT0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORSkKKyAgICAgICAg
ICAgIG1lZXRPclNsaWNlID0gU1ZHX01FRVRPUlNMSUNFX1NMSUNFOworICAgIH0KKworICAgIGlm
IChlb1N0cmluZyAhPSBjdXJyUGFyYW0pCisgICAgICAgIGdvdG8gYmFpbF9vdXQ7IC8vIFRPRE86
IG1heSBuZWVkIHRvIHByaW50IGFuIGVycm9yIGhlcmUKKworICAgIHNldEFsaWduKGFsaWduKTsK
KyAgICBzZXRNZWV0T3JTbGljZShtZWV0T3JTbGljZSk7CisKICAgICBpZiAobV9jb250ZXh0KQog
ICAgICAgICBtX2NvbnRleHQtPm5vdGlmeUF0dHJpYnV0ZUNoYW5nZSgpOworICAgIHJldHVybjsK
KworYmFpbF9vdXQ6CisgICAgc2V0QWxpZ24oU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORSk7
CisgICAgc2V0TWVldE9yU2xpY2UoU1ZHX01FRVRPUlNMSUNFX01FRVQpOworCisgICAgaWYgKG1f
Y29udGV4dCkKKyAgICAgICAgbV9jb250ZXh0LT5ub3RpZnlBdHRyaWJ1dGVDaGFuZ2UoKTsKIH0K
IAogU1ZHTWF0cml4ICpTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpnZXRDVE0oZmxvYXQgbG9naWNY
LCBmbG9hdCBsb2dpY1ksIGZsb2F0IGxvZ2ljV2lkdGgsIGZsb2F0IGxvZ2ljSGVpZ2h0LApJbmRl
eDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2tzdmcyL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCShyZXZpc2lvbiAxNjczNSkKKysr
IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTUxLDEwICs1MSw5IEBACiB2b2lkIFNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3Qm94KGNvbnN0
IFN0cmluZyYgc3RyKQogewogICAgIGRvdWJsZSB4ID0gMCwgeSA9IDAsIHcgPSAwLCBoID0gMDsK
LSAgICBEZXByZWNhdGVkU3RyaW5nIHZpZXdib3ggPSBzdHIuZGVwcmVjYXRlZFN0cmluZygpOwot
ICAgIGNvbnN0IGNoYXIgKnAgPSB2aWV3Ym94LmxhdGluMSgpOwotICAgIGNvbnN0IGNoYXIgKmVu
ZCA9IHAgKyB2aWV3Ym94Lmxlbmd0aCgpOwotICAgIGNvbnN0IGNoYXIgKmMgPSBwOworICAgIGNv
bnN0IFVDaGFyKiBwID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBVQ2hhcio+KHN0ci5jaGFyYWN0
ZXJzKCkpOworICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBwICsgc3RyLmxlbmd0aCgpOworICAgIGNv
bnN0IFVDaGFyKiBjID0gcDsKICAgICBwID0gcGFyc2VDb29yZChjLCB4KTsKICAgICBpZiAocCA9
PSBjKQogICAgICAgICBnb3RvIGJhaWxfb3V0OwpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZH
TGVuZ3RoTGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHTGVuZ3Ro
TGlzdC5jcHAJKHJldmlzaW9uIDE2NzM1KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHTGVuZ3Ro
TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJTVkdN
YXRyaXguaCIKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHTGVuZ3Ro
TGlzdC5oIgorI2luY2x1ZGUgInN2Z3BhdGhwYXJzZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCkBAIC00MiwxMSArNDMsMjQgQEAKIHsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKIAot
ICAgIFZlY3RvcjxTdHJpbmc+IGxlbmd0aHMgPSB2YWx1ZS5zcGxpdCgnICcpOwotICAgIFZlY3Rv
cjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBsZW5ndGhzLmVuZCgpOwotICAgIGZvciAo
VmVjdG9yPFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbGVuZ3Rocy5iZWdpbigpOyBpdCAh
PSBlbmQ7ICsraXQpIHsKKyAgICBkb3VibGUgdmFsID0gMDsKKyAgICBTVkdMZW5ndGg6OlNWR0xl
bmd0aFR5cGUgdHlwZTsKKyAgIAorICAgIFN0cmluZyBsZW5ndGhzID0gdmFsdWU7IAorICAgIGNv
bnN0IFVDaGFyKiBjdXJyTGVuZ3RoID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBVQ2hhcio+KGxl
bmd0aHMuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKSk7CisgICAgY29uc3QgVUNoYXIq
IGVvU3RyaW5nID0gY3Vyckxlbmd0aCArIGxlbmd0aHMubGVuZ3RoKCk7CisgICAgd2hpbGUgKGN1
cnJMZW5ndGggPCBlb1N0cmluZykgeworICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXNPckNvbW1h
KGN1cnJMZW5ndGgpOworICAgICAgICBpZiAoIXRyeVBhcnNlQ29vcmQoY3Vyckxlbmd0aCwgdmFs
KSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKCFTVkdMZW5ndGg6OnRyeVBhcnNl
TGVuZ3RoVW5pdChjdXJyTGVuZ3RoLCBlb1N0cmluZywgdHlwZSkpCisgICAgICAgICAgICBpZiAo
KmN1cnJMZW5ndGggPT0gJyAnIHx8ICpjdXJyTGVuZ3RoID09ICcsJyB8fAorICAgICAgICAgICAg
ICAgIGN1cnJMZW5ndGggPT0gZW9TdHJpbmcpCisgICAgICAgICAgICAgICAgdHlwZSA9IFNWR0xl
bmd0aDo6U1ZHX0xFTkdUSFRZUEVfUFg7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICBTVkdMZW5ndGgqIGxlbmd0aCA9IG5ldyBTVkdMZW5ndGgoY29u
dGV4dCwgbW9kZSk7Ci0gICAgICAgIGxlbmd0aC0+c2V0VmFsdWVBc1N0cmluZygqaXQpOworICAg
ICAgICBsZW5ndGgtPm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHModHlwZSwgdmFsKTsKICAgICAgICAg
YXBwZW5kSXRlbShsZW5ndGgsIGVjKTsKICAgICB9CiB9CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2
Zy9TVkdUcmFuc2Zvcm1hYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9T
VkdUcmFuc2Zvcm1hYmxlLmNwcAkocmV2aXNpb24gMTY3MzUpCisrKyBXZWJDb3JlL2tzdmcyL3N2
Zy9TVkdUcmFuc2Zvcm1hYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTIgKzMyLDEzIEBA
CiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdIZWxwZXIuaCIKICNpbmNsdWRl
ICJTVkdNYXRyaXguaCIKKyNpbmNsdWRlICJzdmdwYXRocGFyc2VyLmgiCiAjaW5jbHVkZSAiU1ZH
VHJhbnNmb3JtYWJsZS5oIgogI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKICNpbmNsdWRl
ICJTVkdUcmFuc2Zvcm1MaXN0LmgiCiAjaW5jbHVkZSAia3N2Zy5oIgogCi11c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAogU1ZHVHJhbnNmb3JtYWJsZTo6U1ZH
VHJhbnNmb3JtYWJsZSgpIDogU1ZHTG9jYXRhYmxlKCkKIHsKQEAgLTQ3LDgxICs0OCwxNTUgQEAK
IHsKIH0KIAoraW50IHBhcnNlVHJhbnNmb3JtUGFyYW1MaXN0KGNvbnN0IFVDaGFyKiYgcHRyLCBk
b3VibGUqIHgsIGludCByZXF1aXJlZCwgaW50IG9wdGlvbmFsKQoreworICAgIGludCBvcHRpb25h
bFBhcmFtcyA9IDAsIHJlcXVpcmVkUGFyYW1zID0gMDsKKyAgICBza2lwT3B0aW9uYWxTcGFjZXMo
cHRyKTsKKyAgICBpZiAoKnB0ciAhPSAnKCcpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBwdHIr
KzsKKyAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsKKworICAgIHdoaWxlIChyZXF1aXJlZFBh
cmFtcyA8IHJlcXVpcmVkKSB7CisgICAgICAgIGlmICghdHJ5UGFyc2VDb29yZChwdHIsIHhbcmVx
dWlyZWRQYXJhbXNdKSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgcmVxdWlyZWRQ
YXJhbXMrKzsKKyAgICAgICAgaWYgKHJlcXVpcmVkUGFyYW1zIDwgcmVxdWlyZWQpCisgICAgICAg
ICAgICBza2lwT3B0aW9uYWxTcGFjZXNPckNvbW1hKHB0cik7CisgICAgfQorICAgIHNraXBPcHRp
b25hbFNwYWNlcyhwdHIpOworCisgICAgaWYgKCpwdHIgPT0gJyknKSB7IC8vIHNraXAgb3B0aW9u
YWxzCisgICAgICAgIHB0cisrOworICAgIH0gZWxzZSB7CisgICAgICAgICB3aGlsZSAob3B0aW9u
YWxQYXJhbXMgPCBvcHRpb25hbCkgeworICAgICAgICAgICAgaWYgKCF0cnlQYXJzZUNvb3JkKHB0
ciwgeFtyZXF1aXJlZFBhcmFtcyArIG9wdGlvbmFsUGFyYW1zXSkpCisgICAgICAgICAgICAgICAg
cmV0dXJuIC0xOworICAgICAgICAgICAgb3B0aW9uYWxQYXJhbXMrKzsKKyAgICAgICAgICAgIGlm
IChvcHRpb25hbFBhcmFtcyA8IG9wdGlvbmFsKQorICAgICAgICAgICAgICAgIHNraXBPcHRpb25h
bFNwYWNlc09yQ29tbWEocHRyKTsKKyAgICAgICAgIH0KKyAgICAgICAgIHNraXBPcHRpb25hbFNw
YWNlcyhwdHIpOworCisgICAgICAgIGlmICgqcHRyICE9ICcpJykKKyAgICAgICAgICAgIHJldHVy
biAtMTsKKyAgICAgICAgcHRyKys7CisgICAgfQorCisgICAgcmV0dXJuIHJlcXVpcmVkUGFyYW1z
ICsgb3B0aW9uYWxQYXJhbXM7Cit9CisKIHZvaWQgU1ZHVHJhbnNmb3JtYWJsZTo6cGFyc2VUcmFu
c2Zvcm1BdHRyaWJ1dGUoU1ZHVHJhbnNmb3JtTGlzdCAqbGlzdCwgY29uc3QgQXRvbWljU3RyaW5n
JiB0cmFuc2Zvcm0pCiB7Ci0gICAgLy8gU3BsaXQgc3RyaW5nIGZvciBoYW5kbGluZyAxIHRyYW5z
Zm9ybSBzdGF0ZW1lbnQgYXQgYSB0aW1lCi0gICAgVmVjdG9yPFN0cmluZz4gc3VidHJhbnNmb3Jt
cyA9IHRyYW5zZm9ybS5kb21TdHJpbmcoKS5zaW1wbGlmeVdoaXRlU3BhY2UoKS5zcGxpdCgnKScp
OwotICAgIFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBzdWJ0cmFuc2Zvcm1z
LmVuZCgpOwotICAgIGZvciAoVmVjdG9yPFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gc3Vi
dHJhbnNmb3Jtcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgVmVjdG9yPFN0
cmluZz4gc3VidHJhbnNmb3JtID0gKCppdCkuc3BsaXQoJygnKTsKLSAgICAgICAgCi0gICAgICAg
IGlmIChzdWJ0cmFuc2Zvcm0uc2l6ZSgpIDwgMikKLSAgICAgICAgICAgIGJyZWFrOyAvLyBpbnZh
bGlkIHRyYW5zZm9ybSwgaWdub3JlLgorICAgIGRvdWJsZSB4WzZdID0gezAsIDAsIDAsIDAsIDAs
IDB9OworICAgIGludCBuciA9IDAsIHJlcXVpcmVkID0gMCwgb3B0aW9uYWwgPSAwOworICAgIAor
ICAgIFN0cmluZyB0cmFuc2Zvcm1zID0gdHJhbnNmb3JtOworICAgIGNvbnN0IFVDaGFyKiBjdXJy
VHJhbnNmb3JtID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBVQ2hhcio+KHRyYW5zZm9ybXMuY2hh
cmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKSk7CisgICAgY29uc3QgVUNoYXIqIGVvU3RyaW5n
ID0gY3VyclRyYW5zZm9ybSArIHRyYW5zZm9ybXMubGVuZ3RoKCk7CiAKLSAgICAgICAgc3VidHJh
bnNmb3JtWzBdID0gc3VidHJhbnNmb3JtWzBdLnN0cmlwV2hpdGVTcGFjZSgpLmxvd2VyKCk7Ci0g
ICAgICAgIHN1YnRyYW5zZm9ybVsxXSA9IHN1YnRyYW5zZm9ybVsxXS5zaW1wbGlmeVdoaXRlU3Bh
Y2UoKTsKLSAgICAgICAgUmVndWxhckV4cHJlc3Npb24gcmVnKCIoWy1dP1xcZCpcXC4/XFxkKyg/
OmVbLV0/XFxkKyk/KSIpOworICAgIHdoaWxlIChjdXJyVHJhbnNmb3JtIDwgZW9TdHJpbmcpIHsK
KyAgICAgICAgdW5zaWduZWQgc2hvcnQgdHlwZSA9IFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9S
TV9VTktOT1dOOworICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyclRyYW5zZm9ybSk7CiAK
LSAgICAgICAgaW50IHBvcyA9IDA7Ci0gICAgICAgIFZlY3RvcjxTdHJpbmc+IHBhcmFtczsKLSAg
ICAgICAgCi0gICAgICAgIHdoaWxlIChwb3MgPj0gMCkgewotICAgICAgICAgICAgcG9zID0gcmVn
LnNlYXJjaChzdWJ0cmFuc2Zvcm1bMV0uZGVwcmVjYXRlZFN0cmluZygpLCBwb3MpOwotICAgICAg
ICAgICAgaWYgKHBvcyAhPSAtMSkgewotICAgICAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQocmVn
LmNhcCgxKSk7Ci0gICAgICAgICAgICAgICAgcG9zICs9IHJlZy5tYXRjaGVkTGVuZ3RoKCk7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGlmIChwYXJhbXMuc2l6
ZSgpIDwgMSkKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICBpZiAoKmN1cnJUcmFuc2Zvcm0g
PT0gJ3MnKSB7CisgICAgICAgICAgICBpZiAoIShlb1N0cmluZyAtIGN1cnJUcmFuc2Zvcm0pID4g
NSkKKyAgICAgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICAgICAgaWYgKGN1cnJU
cmFuc2Zvcm1bMV0gPT0gJ2snICYmIGN1cnJUcmFuc2Zvcm1bMl0gPT0gJ2UnICYmCisgICAgICAg
ICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzNdID09ICd3JykgeworICAgICAgICAgICAgICAgIGlm
ICggY3VyclRyYW5zZm9ybVs0XSA9PSAnWCcpCisgICAgICAgICAgICAgICAgICAgIHR5cGUgPSBT
VkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fU0tFV1g7CisgICAgICAgICAgICAgICAgZWxzZSBp
ZiAoIGN1cnJUcmFuc2Zvcm1bNF0gPT0gJ1knKQorICAgICAgICAgICAgICAgICAgICB0eXBlID0g
U1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1NLRVdZOworICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgICAgICAgICByZXF1
aXJlZCA9IDE7CisgICAgICAgICAgICAgICAgb3B0aW9uYWwgPSAwOworICAgICAgICAgICAgfSBl
bHNlIGlmIChjdXJyVHJhbnNmb3JtWzFdID09ICdjJyAmJiBjdXJyVHJhbnNmb3JtWzJdID09ICdh
JyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVszXSA9PSAnbCcgJiYgY3VyclRy
YW5zZm9ybVs0XSA9PSAnZScpIHsKKyAgICAgICAgICAgICAgICByZXF1aXJlZCA9IDE7CisgICAg
ICAgICAgICAgICAgb3B0aW9uYWwgPSAxOworICAgICAgICAgICAgICAgIHR5cGUgPSBTVkdUcmFu
c2Zvcm06OlNWR19UUkFOU0ZPUk1fU0NBTEU7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAg
ICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICAgICAgY3VyclRyYW5zZm9ybSArPSA1Owor
ICAgICAgICB9IGVsc2UgaWYgKCpjdXJyVHJhbnNmb3JtID09ICd0JykgeworICAgICAgICAgICAg
aWYgKCEoKGVvU3RyaW5nIC0gY3VyclRyYW5zZm9ybSkgPiA5KSAmJgorICAgICAgICAgICAgICAg
ICAgY3VyclRyYW5zZm9ybVsxXSA9PSAncicgJiYgY3VyclRyYW5zZm9ybVsyXSA9PSAnYScgJiYK
KyAgICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1bM10gPT0gJ24nICYmIGN1cnJUcmFuc2Zv
cm1bNF0gPT0gJ3MnICYmCisgICAgICAgICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzVdID09ICds
JyAmJiBjdXJyVHJhbnNmb3JtWzZdID09ICdhJyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRy
YW5zZm9ybVs3XSA9PSAndCcgJiYgY3VyclRyYW5zZm9ybVs4XSA9PSAnZScpCisgICAgICAgICAg
ICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm0gKz0gOTsKKyAg
ICAgICAgICAgIHJlcXVpcmVkID0gMTsKKyAgICAgICAgICAgIG9wdGlvbmFsID0gMTsKKyAgICAg
ICAgICAgIHR5cGUgPSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fVFJBTlNMQVRFOworICAg
ICAgICB9IGVsc2UgaWYgKCpjdXJyVHJhbnNmb3JtID09ICdyJykgeworICAgICAgICAgICAgaWYg
KCEoKGVvU3RyaW5nIC0gY3VyclRyYW5zZm9ybSkgPiA2KSAmJgorICAgICAgICAgICAgICAgICAg
Y3VyclRyYW5zZm9ybVsxXSA9PSAnbycgJiYgY3VyclRyYW5zZm9ybVsyXSA9PSAndCcgJiYKKyAg
ICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1bM10gPT0gJ2EnICYmIGN1cnJUcmFuc2Zvcm1b
NF0gPT0gJ3QnICYmCisgICAgICAgICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzVdID09ICdlJykK
KyAgICAgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICAgICAgY3VyclRyYW5zZm9y
bSArPSA2OworICAgICAgICAgICAgcmVxdWlyZWQgPSAxOworICAgICAgICAgICAgb3B0aW9uYWwg
PSAyOworICAgICAgICAgICAgdHlwZSA9IFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9ST1RB
VEU7CisgICAgICAgIH0gZWxzZSBpZiAoKmN1cnJUcmFuc2Zvcm0gPT0gJ20nKSB7CisgICAgICAg
ICAgICBpZiAoISgoZW9TdHJpbmcgLSBjdXJyVHJhbnNmb3JtKSA+IDYpICYmIGN1cnJUcmFuc2Zv
cm1bMV0gPT0gJ2EnICYmCisgICAgICAgICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzJdID09ICd0
JyAmJiBjdXJyVHJhbnNmb3JtWzNdID09ICdyJyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRy
YW5zZm9ybVs0XSA9PSAnaScgJiYgY3VyclRyYW5zZm9ybVs1XSA9PSAneCcpCisgICAgICAgICAg
ICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm0gKz0gNjsKKyAg
ICAgICAgICAgIHJlcXVpcmVkID0gNjsKKyAgICAgICAgICAgIG9wdGlvbmFsID0gMDsKKyAgICAg
ICAgICAgIHR5cGUgPSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fTUFUUklYOworICAgICAg
ICB9IGVsc2UgCisgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OwogCi0gICAgICAgIGlmIChzdWJ0
cmFuc2Zvcm1bMF0uc3RhcnRzV2l0aCgiOyIpIHx8IHN1YnRyYW5zZm9ybVswXS5zdGFydHNXaXRo
KCIsIikpCi0gICAgICAgICAgICBzdWJ0cmFuc2Zvcm1bMF0gPSBzdWJ0cmFuc2Zvcm1bMF0uc3Vi
c3RyaW5nKDEpLnN0cmlwV2hpdGVTcGFjZSgpOworICAgICAgICBpZiAoKG5yID0gcGFyc2VUcmFu
c2Zvcm1QYXJhbUxpc3QoY3VyclRyYW5zZm9ybSwgeCwgcmVxdWlyZWQsIG9wdGlvbmFsKSkgPCAw
KQorICAgICAgICAgICAgZ290byBiYWlsX291dDsKIAogICAgICAgICBTVkdUcmFuc2Zvcm0qIHQg
PSBuZXcgU1ZHVHJhbnNmb3JtKCk7Ci0KLSAgICAgICAgaWYgKHN1YnRyYW5zZm9ybVswXSA9PSAi
cm90YXRlIikgewotICAgICAgICAgICAgaWYgKHBhcmFtcy5zaXplKCkgPT0gMykKLSAgICAgICAg
ICAgICAgICB0LT5zZXRSb3RhdGUocGFyYW1zWzBdLnRvRG91YmxlKCksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBhcmFtc1sxXS50b0RvdWJsZSgpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGFyYW1zWzJdLnRvRG91YmxlKCkpOwotICAgICAgICAgICAgZWxzZSBpZiAo
cGFyYW1zLnNpemUoKSA9PSAxKQotICAgICAgICAgICAgICAgIHQtPnNldFJvdGF0ZShwYXJhbXNb
MF0udG9Eb3VibGUoKSwgMCwgMCk7Ci0gICAgICAgIH0gZWxzZSBpZiAoc3VidHJhbnNmb3JtWzBd
ID09ICJ0cmFuc2xhdGUiKSB7Ci0gICAgICAgICAgICBpZiAocGFyYW1zLnNpemUoKSA9PSAyKQot
ICAgICAgICAgICAgICAgIHQtPnNldFRyYW5zbGF0ZShwYXJhbXNbMF0udG9Eb3VibGUoKSwgcGFy
YW1zWzFdLnRvRG91YmxlKCkpOwotICAgICAgICAgICAgZWxzZSBpZiAocGFyYW1zLnNpemUoKSA9
PSAxKSAvLyBTcGVjOiBpZiBvbmx5IG9uZSBwYXJhbSBnaXZlbiwgYXNzdW1lIDJuZCBwYXJhbSB0
byBiZSAwCi0gICAgICAgICAgICAgICAgdC0+c2V0VHJhbnNsYXRlKHBhcmFtc1swXS50b0RvdWJs
ZSgpLCAwKTsKLSAgICAgICAgfSBlbHNlIGlmIChzdWJ0cmFuc2Zvcm1bMF0gPT0gInNjYWxlIikg
ewotICAgICAgICAgICAgaWYgKHBhcmFtcy5zaXplKCkgPT0gMikKLSAgICAgICAgICAgICAgICB0
LT5zZXRTY2FsZShwYXJhbXNbMF0udG9Eb3VibGUoKSwgcGFyYW1zWzFdLnRvRG91YmxlKCkpOwot
ICAgICAgICAgICAgZWxzZSBpZiAocGFyYW1zLnNpemUoKSA9PSAxKSAvLyBTcGVjOiBpZiBvbmx5
IG9uZSBwYXJhbSBnaXZlbiwgYXNzdW1lIHVuaWZvcm0gc2NhbGluZwotICAgICAgICAgICAgICAg
IHQtPnNldFNjYWxlKHBhcmFtc1swXS50b0RvdWJsZSgpLCBwYXJhbXNbMF0udG9Eb3VibGUoKSk7
Ci0gICAgICAgIH0gZWxzZSBpZiAoc3VidHJhbnNmb3JtWzBdID09ICJza2V3eCIgJiYgKHBhcmFt
cy5zaXplKCkgPT0gMSkpCi0gICAgICAgICAgICB0LT5zZXRTa2V3WChwYXJhbXNbMF0udG9Eb3Vi
bGUoKSk7Ci0gICAgICAgIGVsc2UgaWYgKHN1YnRyYW5zZm9ybVswXSA9PSAic2tld3kiICYmIChw
YXJhbXMuc2l6ZSgpID09IDEpKQotICAgICAgICAgICAgdC0+c2V0U2tld1kocGFyYW1zWzBdLnRv
RG91YmxlKCkpOwotICAgICAgICBlbHNlIGlmIChzdWJ0cmFuc2Zvcm1bMF0gPT0gIm1hdHJpeCIg
JiYgKHBhcmFtcy5zaXplKCkgPT0gNikpIHsKLSAgICAgICAgICAgIFNWR01hdHJpeCAqcmV0ID0g
bmV3IFNWR01hdHJpeChwYXJhbXNbMF0udG9Eb3VibGUoKSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1sxXS50b0RvdWJsZSgpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zWzJd
LnRvRG91YmxlKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwYXJhbXNbM10udG9Eb3VibGUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1s0XS50b0RvdWJsZSgpLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zWzVdLnRvRG91
YmxlKCkpOwotICAgICAgICAgICAgdC0+c2V0TWF0cml4KHJldCk7CisgICAgICAgIHN3aXRjaCAo
dHlwZSkKKyAgICAgICAgeworICAgICAgICAgICAgY2FzZSBTVkdUcmFuc2Zvcm06OlNWR19UUkFO
U0ZPUk1fU0tFV1g6CisgICAgICAgICAgICAgICB0LT5zZXRTa2V3WCh4WzBdKTsKKyAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNG
T1JNX1NLRVdZOgorICAgICAgICAgICAgICAgdC0+c2V0U2tld1koeFswXSk7CisgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9S
TV9TQ0FMRToKKyAgICAgICAgICAgICAgICAgIGlmIChuciA9PSAxKSAvLyBTcGVjOiBpZiBvbmx5
IG9uZSBwYXJhbSBnaXZlbiwgYXNzdW1lIHVuaWZvcm0gc2NhbGluZworICAgICAgICAgICAgICAg
ICAgICAgIHQtPnNldFNjYWxlKHhbMF0sIHhbMF0pOworICAgICAgICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgICAgICAgIHQtPnNldFNjYWxlKHhbMF0sIHhbMV0pOworICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZP
Uk1fVFJBTlNMQVRFOgorICAgICAgICAgICAgICAgICAgaWYgKG5yID09IDEpIC8vIFNwZWM6IGlm
IG9ubHkgb25lIHBhcmFtIGdpdmVuLCBhc3N1bWUgMm5kIHBhcmFtIHRvIGJlIDAKKyAgICAgICAg
ICAgICAgICAgICAgICB0LT5zZXRUcmFuc2xhdGUoeFswXSwgMCk7CisgICAgICAgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgdC0+c2V0VHJhbnNsYXRlKHhbMF0sIHhbMV0p
OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBTVkdUcmFuc2Zvcm06
OlNWR19UUkFOU0ZPUk1fUk9UQVRFOgorICAgICAgICAgICAgICAgICAgaWYgKG5yID09IDEpCisg
ICAgICAgICAgICAgICAgICAgICAgdC0+c2V0Um90YXRlKHhbMF0sIDAsIDApOworICAgICAgICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgIHQtPnNldFJvdGF0ZSh4WzBdLCB4
WzFdLCB4WzJdKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgU1ZH
VHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX01BVFJJWDoKKyAgICAgICAgICAgICAgICB0LT5zZXRN
YXRyaXgobmV3IFNWR01hdHJpeCh4WzBdLCB4WzFdLCB4WzJdLCB4WzNdLCB4WzRdLCB4WzVdKSk7
CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGlm
ICh0LT50eXBlKCkgPT0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1VOS05PV04pIHsKLSAg
ICAgICAgICAgIGRlbGV0ZSB0OwotICAgICAgICAgICAgYnJlYWs7IC8vIGZhaWxlZCB0byBwYXJz
ZSBhIHZhbGlkIHRyYW5zZm9ybSwgYWJvcnQuCi0gICAgICAgIH0KLQogICAgICAgICBFeGNlcHRp
b25Db2RlIGVjID0gMDsKICAgICAgICAgbGlzdC0+YXBwZW5kSXRlbSh0LCBlYyk7CisgICAgICAg
IHNraXBPcHRpb25hbFNwYWNlc09yQ29tbWEoY3VyclRyYW5zZm9ybSk7CiAgICAgfQorYmFpbF9v
dXQ6IDsKIH0KIAorfQorCisKIC8vIHZpbTp0cz00Om5vZXQKICNlbmRpZiAvLyBTVkdfU1VQUE9S
VAogCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9zdmdwYXRocGFyc2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9zdmdwYXRocGFyc2VyLmNwcAkocmV2aXNpb24gMTY3MzUp
CisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9zdmdwYXRocGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjEsNDIgKzIxLDEzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaWZkZWYgU1ZHX1NVUFBP
UlQKICNpbmNsdWRlICJzdmdwYXRocGFyc2VyLmgiCi0jaW5jbHVkZSAiRGVwcmVjYXRlZFN0cmlu
Zy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8bWF0aC5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLS8vIFNWRyBhbGxvd3Mgc2V2ZXJhbCBkaWZmZXJlbnQgd2hp
dGVzcGFjZSBjaGFyYWN0ZXJzOgotLy8gaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHL3BhdGhzLmh0
bWwjUGF0aERhdGFCTkYKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc1doaXRlc3BhY2UoY2hhciBjKSB7
Ci0gICAgcmV0dXJuIChjID09ICcgJyB8fCBjID09ICdcdCcgfHwgYyA9PSAnXG4nIHx8IGMgPT0g
J1xyJyk7Ci19Ci0KLS8vIEFsbCBzdHJpbmdzIGFyZSBhc3N1bWVkIHRvIGJlIG51bGwgdGVybWlu
YXRlZAotc3RhdGljIGlubGluZSBib29sIHNraXBPcHRpb25hbFNwYWNlcyhjb25zdCBjaGFyKiYg
cHRyKSAvLyB0cnVlIG1lYW5zICJmb3VuZCBzcGFjZSIKK2NvbnN0IFVDaGFyKiBwYXJzZUNvb3Jk
KGNvbnN0IFVDaGFyKiBwdHIsIGRvdWJsZSAmbnVtYmVyKQogewotICAgIGlmICghaXNXaGl0ZXNw
YWNlKCpwdHIpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgd2hpbGUgKGlzV2hpdGVzcGFj
ZSgqcHRyKSkKLSAgICAgICAgcHRyKys7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXN0YXRpYyBp
bmxpbmUgYm9vbCBza2lwT3B0aW9uYWxTcGFjZXNPckNvbW1hKGNvbnN0IGNoYXIqJiBwdHIpCi17
Ci0gICAgaWYgKCFpc1doaXRlc3BhY2UoKnB0cikgJiYgKnB0ciAhPSAnLCcpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsKLSAgICBpZiAoKnB0ciA9
PSAnLCcpIHsKLSAgICAgICAgcHRyKys7Ci0gICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIp
OwotICAgIH0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotCi1jb25zdCBjaGFyKiBwYXJzZUNvb3Jk
KGNvbnN0IGNoYXIqIHB0ciwgZG91YmxlICZudW1iZXIpCi17CiAgICAgaW50IGludGVnZXIsIGV4
cG9uZW50OwogICAgIGRvdWJsZSBkZWNpbWFsLCBmcmFjOwogICAgIGludCBzaWduLCBleHBzaWdu
OwpAQCAtMTAyLDYgKzczLDggQEAKICAgICAgICAgICAgIGV4cG9uZW50ICs9ICpwdHIgLSAnMCc7
CiAgICAgICAgICAgICBwdHIrKzsKICAgICAgICAgfQorICAgICAgICBpZiAocHRyWy0xXSA9PSAn
ZScpCisgICAgICAgICAgICBwdHItLTsKICAgICB9CiAKICAgICBudW1iZXIgPSBpbnRlZ2VyICsg
ZGVjaW1hbDsKQEAgLTExMiwxOSArODUsMjAgQEAKICAgICByZXR1cm4gcHRyOwogfQogCi12b2lk
IFNWR1BvbHlQYXJzZXI6OnBhcnNlUG9pbnRzKGNvbnN0IERlcHJlY2F0ZWRTdHJpbmcmIHMpIGNv
bnN0Cit2b2lkIFNWR1BvbHlQYXJzZXI6OnBhcnNlUG9pbnRzKGNvbnN0IFN0cmluZyYgcykgY29u
c3QKIHsKICAgICBpZiAocy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKLSAgICBEZXByZWNh
dGVkU3RyaW5nIHBvaW50RGF0YSA9IHM7Ci0gICAgY29uc3QgY2hhciogY3VyclNlZ21lbnQgPSBw
b2ludERhdGEubGF0aW4xKCk7Ci0gICAgY29uc3QgY2hhciogZW9TdHJpbmcgPSBwb2ludERhdGEu
bGF0aW4xKCkgKyBwb2ludERhdGEubGVuZ3RoKCk7CisKKyAgICBTdHJpbmcgcG9pbnRzID0gczsK
KyAgICBjb25zdCBVQ2hhciogY3VyclNlZ21lbnQgPSByZWludGVycHJldF9jYXN0PGNvbnN0IFVD
aGFyKj4ocG9pbnRzLmNoYXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9uKCkpOworICAgIGNvbnN0
IFVDaGFyKiBlb1N0cmluZyA9IGN1cnJTZWdtZW50ICsgcG9pbnRzLmxlbmd0aCgpOwogICAgIAog
ICAgIHNraXBPcHRpb25hbFNwYWNlcyhjdXJyU2VnbWVudCk7CiAgICAgCiAgICAgaW50IHNlZ21l
bnROdW0gPSAwOwogICAgIHdoaWxlIChjdXJyU2VnbWVudCA8IGVvU3RyaW5nKSB7Ci0gICAgICAg
IGNvbnN0IGNoYXIqIHByZXZTZWdtZW50ID0gY3VyclNlZ21lbnQ7CisgICAgICAgIGNvbnN0IFVD
aGFyKiBwcmV2U2VnbWVudCA9IGN1cnJTZWdtZW50OwogICAgICAgICBkb3VibGUgeFBvcyA9IDA7
CiAgICAgICAgIGN1cnJTZWdtZW50ID0gcGFyc2VDb29yZChjdXJyU2VnbWVudCwgeFBvcyk7IAog
ICAgICAgICBpZiAoY3VyclNlZ21lbnQgPT0gcHJldlNlZ21lbnQpCkBAIC0xNDAsMTQgKzExNCwx
NCBAQAogICAgIH0KIH0KIAotdm9pZCBTVkdQYXRoUGFyc2VyOjpwYXJzZVNWRyhjb25zdCBEZXBy
ZWNhdGVkU3RyaW5nJiBzLCBib29sIHByb2Nlc3MpCit2b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNl
U1ZHKGNvbnN0IFN0cmluZyYgcywgYm9vbCBwcm9jZXNzKQogewogICAgIGlmIChzLmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgRGVwcmVjYXRlZFN0cmluZyBkID0gczsKLSAgICBj
b25zdCBjaGFyKiBwdHIgPSBkLmxhdGluMSgpOwotICAgIGNvbnN0IGNoYXIqIGVuZCA9IGQubGF0
aW4xKCkgKyBkLmxlbmd0aCgpICsgMTsKKyAgICBTdHJpbmcgZGF0YSA9IHM7CisgICAgY29uc3Qg
VUNoYXIqIHB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPihkYXRhLmNoYXJhY3Rl
cnNXaXRoTnVsbFRlcm1pbmF0aW9uKCkpOworICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBwdHIgKyBk
YXRhLmxlbmd0aCgpICsgMTsKIAogICAgIGRvdWJsZSBjb250cmx4LCBjb250cmx5LCBjdXJ4LCBj
dXJ5LCBzdWJwYXRoeCwgc3VicGF0aHksIHRveCwgdG95LCB4MSwgeTEsIHgyLCB5MiwgeGMsIHlj
OwogICAgIGRvdWJsZSBweDEsIHB5MSwgcHgyLCBweTIsIHB4MywgcHkzOwpJbmRleDogV2ViQ29y
ZS9rc3ZnMi9zdmcvU1ZHTGVuZ3RoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2
Zy9TVkdMZW5ndGguY3BwCShyZXZpc2lvbiAxNjczNSkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NW
R0xlbmd0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMSw0MiArMTExLDU3IEBACiAgICAgaWYo
cy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIERlcHJlY2F0ZWRTdHJpbmcgdmFs
dWVBc1FTdHJpbmcgPSBzLmRlcHJlY2F0ZWRTdHJpbmcoKTsKLQogICAgIGRvdWJsZSBjb252ZXJ0
ZWROdW1iZXIgPSAwOwotICAgIGNvbnN0IGNoYXIgKnN0YXJ0ID0gdmFsdWVBc1FTdHJpbmcubGF0
aW4xKCk7Ci0gICAgY29uc3QgY2hhciAqZW5kID0gcGFyc2VDb29yZChzdGFydCwgY29udmVydGVk
TnVtYmVyKTsKLSAgICBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cyA9IGNvbnZlcnRlZE51bWJlcjsK
LQotICAgIHVuc2lnbmVkIGludCBkaWZmID0gZW5kIC0gc3RhcnQ7Ci0gICAgaWYgKGRpZmYgPCB2
YWx1ZUFzUVN0cmluZy5sZW5ndGgoKSkgewotICAgICAgICBpZiAocy5lbmRzV2l0aChVbml0VGV4
dFtTVkdfTEVOR1RIVFlQRV9QWF0pKQotICAgICAgICAgICAgbV91bml0VHlwZSA9IFNWR19MRU5H
VEhUWVBFX1BYOwotICAgICAgICBlbHNlIGlmIChzLmVuZHNXaXRoKFVuaXRUZXh0W1NWR19MRU5H
VEhUWVBFX0NNXSkpCi0gICAgICAgICAgICBtX3VuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfQ007
Ci0gICAgICAgIGVsc2UgaWYgKHMuZW5kc1dpdGgoVW5pdFRleHRbU1ZHX0xFTkdUSFRZUEVfUENd
KSkKLSAgICAgICAgICAgIG1fdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9QQzsKLSAgICAgICAg
ZWxzZSBpZiAocy5lbmRzV2l0aChVbml0VGV4dFtTVkdfTEVOR1RIVFlQRV9NTV0pKQotICAgICAg
ICAgICAgbV91bml0VHlwZSA9IFNWR19MRU5HVEhUWVBFX01NOwotICAgICAgICBlbHNlIGlmIChz
LmVuZHNXaXRoKFVuaXRUZXh0W1NWR19MRU5HVEhUWVBFX0lOXSkpCi0gICAgICAgICAgICBtX3Vu
aXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfSU47Ci0gICAgICAgIGVsc2UgaWYgKHMuZW5kc1dpdGgo
VW5pdFRleHRbU1ZHX0xFTkdUSFRZUEVfUFRdKSkKLSAgICAgICAgICAgIG1fdW5pdFR5cGUgPSBT
VkdfTEVOR1RIVFlQRV9QVDsKLSAgICAgICAgIGVsc2UgaWYgKHMuZW5kc1dpdGgoVW5pdFRleHRb
U1ZHX0xFTkdUSFRZUEVfUEVSQ0VOVEFHRV0pKQotICAgICAgICAgICAgbV91bml0VHlwZSA9IFNW
R19MRU5HVEhUWVBFX1BFUkNFTlRBR0U7Ci0gICAgICAgIGVsc2UgaWYgKHMuZW5kc1dpdGgoVW5p
dFRleHRbU1ZHX0xFTkdUSFRZUEVfRU1TXSkpCi0gICAgICAgICAgICBtX3VuaXRUeXBlID0gU1ZH
X0xFTkdUSFRZUEVfRU1TOwotICAgICAgICBlbHNlIGlmIChzLmVuZHNXaXRoKFVuaXRUZXh0W1NW
R19MRU5HVEhUWVBFX0VYU10pKQotICAgICAgICAgICAgbV91bml0VHlwZSA9IFNWR19MRU5HVEhU
WVBFX0VYUzsKLSAgICAgICAgZWxzZSBpZiAocy5pc0VtcHR5KCkpCi0gICAgICAgICAgICBtX3Vu
aXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfTlVNQkVSOwotICAgICAgICBlbHNlCi0gICAgICAgICAg
ICBtX3VuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfVU5LTk9XTjsKKyAgICBTVkdMZW5ndGhUeXBl
IHVuaXRUeXBlOworICAgIFN0cmluZyBsZW5ndGggPSBzOworICAgIGNvbnN0IFVDaGFyKiBwdHIg
PSByZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4obGVuZ3RoLmNoYXJhY3RlcnNXaXRoTnVs
bFRlcm1pbmF0aW9uKCkpOworICAgIGNvbnN0IFVDaGFyKiBlb1N0cmluZyA9IHB0ciArIGxlbmd0
aC5sZW5ndGgoKTsKKyAgICBpZiAodHJ5UGFyc2VDb29yZChwdHIsIGNvbnZlcnRlZE51bWJlcikp
IHsKKyAgICAgICAgaWYgKCF0cnlQYXJzZUxlbmd0aFVuaXQocHRyLCBlb1N0cmluZywgdW5pdFR5
cGUpKQorICAgICAgICAgICAgdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9QWDsKKyAgICAgICAg
aWYgKHB0ciA9PSBlb1N0cmluZykgeworICAgICAgICAgICAgbV92YWx1ZUluU3BlY2lmaWVkVW5p
dHMgPSBjb252ZXJ0ZWROdW1iZXI7CisgICAgICAgICAgICBtX3VuaXRUeXBlID0gdW5pdFR5cGU7
CisgICAgICAgICAgICB1cGRhdGVWYWx1ZSgpOworICAgICAgICB9CiAgICAgfQotICAgIGVsc2UK
LSAgICAgICAgbV91bml0VHlwZSA9IFNWR19MRU5HVEhUWVBFX1BYOworfQogCi0gICAgdXBkYXRl
VmFsdWUoKTsKK2Jvb2wgU1ZHTGVuZ3RoOjp0cnlQYXJzZUxlbmd0aFVuaXQoY29uc3QgVUNoYXIq
JiBwdHIsIGNvbnN0IFVDaGFyKiYgZW5kLCBTVkdMZW5ndGhUeXBlICZ1bml0VHlwZSkKK3sKKyAg
ICBpZiAocHRyID49IGVuZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmKCpwdHIgPT0g
J3AnICYmIHB0clsxXSA9PSAneCcpIHsKKyAgICAgICAgdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQ
RV9QWDsKKyAgICAgICAgcHRyICs9IDI7CisgICAgfSBlbHNlIGlmKCpwdHIgPT0gJ2MnICYmIHB0
clsxXSA9PSAnbScpIHsKKyAgICAgICAgdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9DTTsKKyAg
ICAgICAgcHRyICs9IDI7CisgICAgfSBlbHNlIGlmKCpwdHIgPT0gJ3AnICYmIHB0clsxXSA9PSAn
YycpIHsKKyAgICAgICAgdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9QQzsKKyAgICAgICAgcHRy
ICs9IDI7CisgICAgfSBlbHNlIGlmKCpwdHIgPT0gJ20nICYmIHB0clsxXSA9PSAnbScpIHsKKyAg
ICAgICAgdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9NTTsKKyAgICAgICAgcHRyICs9IDI7Cisg
ICAgfSBlbHNlIGlmKCpwdHIgPT0gJ2knICYmIHB0clsxXSA9PSAnbicpIHsKKyAgICAgICAgdW5p
dFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9JTjsKKyAgICAgICAgcHRyICs9IDI7CisgICAgfSBlbHNl
IGlmKCpwdHIgPT0gJ3AnICYmIHB0clsxXSA9PSAndCcpIHsKKyAgICAgICAgdW5pdFR5cGUgPSBT
VkdfTEVOR1RIVFlQRV9QVDsKKyAgICAgICAgcHRyICs9IDI7CisgICAgfSBlbHNlIGlmKCpwdHIg
PT0gJyUnKSB7CisgICAgICAgIHVuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfUEVSQ0VOVEFHRTsK
KyAgICAgICAgcHRyKys7CisgICAgfSBlbHNlIGlmKCpwdHIgPT0gJ2UnICYmIHB0clsxXSA9PSAn
bScpIHsKKyAgICAgICAgdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9FTVM7CisgICAgICAgIHB0
ciArPSAyOworICAgIH0gZWxzZSBpZigqcHRyID09ICdlJyAmJiBwdHJbMV0gPT0gJ3gnKSB7Cisg
ICAgICAgIHVuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfRVhTOworICAgICAgICBwdHIgKz0gMjsK
KyAgICB9IGVsc2UKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7CiB9
CiAKIFN0cmluZyBTVkdMZW5ndGg6OnZhbHVlQXNTdHJpbmcoKSBjb25zdApJbmRleDogV2ViQ29y
ZS9rc3ZnMi9zdmcvU1ZHTnVtYmVyTGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIv
c3ZnL1NWR051bWJlckxpc3QuaAkocmV2aXNpb24gMTY3MzUpCisrKyBXZWJDb3JlL2tzdmcyL3N2
Zy9TVkdOdW1iZXJMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUKIHsKLSAgICBjbGFzcyBEZXByZWNhdGVkU3RyaW5nOworICAgIGNsYXNz
IFN0cmluZzsKIAogICAgIGNsYXNzIFNWR051bWJlckxpc3QgOiBwdWJsaWMgU1ZHTGlzdDxkb3Vi
bGU+CiAgICAgewpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL3N2Z3BhdGhwYXJzZXIuaAkocmV2aXNpb24gMTY3
MzUpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9zdmdwYXRocGFyc2VyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTIxLDIwICsyMSwyMiBAQAogI2RlZmluZSBfX1NWR1BBVEhQQVJTRVJfSF9fCiAjaWZkZWYg
U1ZHX1NVUFBPUlQKIAorI2luY2x1ZGUgPFVDaGFyLmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlCiB7
Ci0gICAgY2xhc3MgRGVwcmVjYXRlZFN0cmluZzsKKyAgICBjbGFzcyBTdHJpbmc7CiAKLSAgICBj
b25zdCBjaGFyICpwYXJzZUNvb3JkKGNvbnN0IGNoYXIgKnB0ciwgZG91YmxlICZudW1iZXIpOwor
ICAgIGNvbnN0IFVDaGFyKiBwYXJzZUNvb3JkKGNvbnN0IFVDaGFyKiBwdHIsIGRvdWJsZSYgbnVt
YmVyKTsKIAogICAgIGNsYXNzIFNWR1BvbHlQYXJzZXIKICAgICB7CiAgICAgcHVibGljOgogICAg
ICAgICB2aXJ0dWFsIH5TVkdQb2x5UGFyc2VyKCkgeyB9Ci0gICAgICAgIHZvaWQgcGFyc2VQb2lu
dHMoIGNvbnN0IERlcHJlY2F0ZWRTdHJpbmcgJnBvaW50cyApIGNvbnN0OworICAgICAgICB2b2lk
IHBhcnNlUG9pbnRzKGNvbnN0IFN0cmluZyYgcG9pbnRzKSBjb25zdDsKIAogICAgIHByb3RlY3Rl
ZDoKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z1BvbHlUbyggZG91YmxlIHgxLCBkb3VibGUgeTEs
IGludCBuciApIGNvbnN0ID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN2Z1BvbHlUbyhkb3Vi
bGUgeDEsIGRvdWJsZSB5MSwgaW50IG5yKSBjb25zdCA9IDA7CiAgICAgfTsKIAogICAgIC8qKgpA
QCAtNTIsNyArNTQsNyBAQAogICAgIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflNW
R1BhdGhQYXJzZXIoKSB7IH0KLSAgICAgICAgdm9pZCBwYXJzZVNWRyggY29uc3QgRGVwcmVjYXRl
ZFN0cmluZyAmZCwgYm9vbCBwcm9jZXNzID0gZmFsc2UgKTsKKyAgICAgICAgdm9pZCBwYXJzZVNW
RyggY29uc3QgU3RyaW5nICZkLCBib29sIHByb2Nlc3MgPSBmYWxzZSApOwogCiAgICAgcHJvdGVj
dGVkOgogICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnTW92ZVRvKCBkb3VibGUgeDEsIGRvdWJsZSB5
MSwgYm9vbCBjbG9zZWQsIGJvb2wgYWJzID0gdHJ1ZSApID0gMDsKQEAgLTY5LDYgKzcxLDU1IEBA
CiAgICAgICAgIHZvaWQgY2FsY3VsYXRlQXJjKCBib29sIHJlbGF0aXZlLCBkb3VibGUgJmN1cngs
IGRvdWJsZSAmY3VyeSwgZG91YmxlIGFuZ2xlLCBkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSBy
MSwgZG91YmxlIHIyLCBib29sIGxhcmdlQXJjRmxhZywgYm9vbCBzd2VlcEZsYWcgKTsKICAgICB9
OwogCisgICAgLy8gU1ZHIGFsbG93cyBzZXZlcmFsIGRpZmZlcmVudCB3aGl0ZXNwYWNlIGNoYXJh
Y3RlcnM6CisgICAgLy8gaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHL3BhdGhzLmh0bWwjUGF0aERh
dGFCTkYKKyAgICBzdGF0aWMgaW5saW5lIGJvb2wgaXNXaGl0ZXNwYWNlKGNvbnN0IFVDaGFyIGMp
IHsKKyAgICAgICAgcmV0dXJuIChjID09ICcgJyB8fCBjID09ICdcdCcgfHwgYyA9PSAnXG4nIHx8
IGMgPT0gJ1xyJyk7CisgICAgfQorCisgICAgLy8gQWxsIHN0cmluZ3MgYXJlIGFzc3VtZWQgdG8g
YmUgbnVsbCB0ZXJtaW5hdGVkCisgICAgc3RhdGljIGlubGluZSBib29sIHNraXBPcHRpb25hbFNw
YWNlcyhjb25zdCBVQ2hhciomIHB0cikgLy8gdHJ1ZSBtZWFucyAiZm91bmQgc3BhY2UiCit7Cisg
ICAgICAgIGlmICghaXNXaGl0ZXNwYWNlKCpwdHIpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICB3aGlsZSAoaXNXaGl0ZXNwYWNlKCpwdHIpKQorICAgICAgICAgICAgcHRyKys7
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHN0YXRpYyBpbmxpbmUgYm9vbCBz
a2lwT3B0aW9uYWxTcGFjZXNPckNvbW1hKGNvbnN0IFVDaGFyKiYgcHRyKQorICAgIHsKKyAgICAg
ICAgaWYgKCFpc1doaXRlc3BhY2UoKnB0cikgJiYgKnB0ciAhPSAnLCcpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIpOworICAgICAgICBp
ZiAoKnB0ciA9PSAnLCcpIHsKKyAgICAgICAgICAgIHB0cisrOworICAgICAgICAgICAgc2tpcE9w
dGlvbmFsU3BhY2VzKHB0cik7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorCisgICAgc3RhdGljIGlubGluZSBib29sIHRyeVBhcnNlQ29vcmQoY29uc3QgVUNoYXIqJiBw
dHIsIGRvdWJsZSAmYykKKyAgICB7CisgICAgICAgICBjb25zdCBVQ2hhciogcCA9IHBhcnNlQ29v
cmQocHRyLCBjKTsKKyAgICAgICAgIGlmIChwID09IHB0cikKKyAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgICBwdHIgPSBwOworICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
CisgICAgc3RhdGljIGlubGluZSBpbnQgdHJ5UGFyc2VOdW1iZXJMaXN0KGNvbnN0IFVDaGFyKiYg
cHRyLCBkb3VibGUgJm4xLCBkb3VibGUgJm4yKQorICAgIHsKKyAgICAgICAgaW50IHJldCA9IDA7
CisgICAgICAgIGlmICh0cnlQYXJzZUNvb3JkKHB0ciwgbjEpKSB7CisgICAgICAgICAgICByZXQr
KzsKKyAgICAgICAgICAgIHNraXBPcHRpb25hbFNwYWNlc09yQ29tbWEocHRyKTsKKyAgICAgICAg
ICAgIGlmICh0cnlQYXJzZUNvb3JkKHB0ciwgbjIpKQorICAgICAgICAgICAgICAgIHJldCsrOwor
ICAgICAgICB9CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjZW5kaWYgLy8gU1ZHX1NVUFBPUlQKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3Zn
L1NWR0xlbmd0aC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0xlbmd0aC5o
CShyZXZpc2lvbiAxNjczNSkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0xlbmd0aC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC03NCw2ICs3NCw4IEBACiAgICAgICAgIGNvbnN0IFNWR1N0eWxlZEVsZW1l
bnQqIGNvbnRleHQoKSBjb25zdDsKICAgICAgICAgdm9pZCBzZXRDb250ZXh0KGNvbnN0IFNWR1N0
eWxlZEVsZW1lbnQgKmNvbnRleHQpOwogCisgICAgICAgIHN0YXRpYyBib29sIHRyeVBhcnNlTGVu
Z3RoVW5pdChjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIqJiBlbmQsIFNWR0xlbmd0aFR5
cGUgJnVuaXRUeXBlKTsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIGJvb2wgdXBkYXRlVmFsdWVJ
blNwZWNpZmllZFVuaXRzKGJvb2wgbm90aWZ5ID0gdHJ1ZSk7CiAgICAgICAgIHZvaWQgdXBkYXRl
VmFsdWUoYm9vbCBub3RpZnkgPSB0cnVlKTsKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR051
bWJlckxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR051bWJlckxp
c3QuY3BwCShyZXZpc2lvbiAxNjczNSkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR051bWJlckxp
c3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw4ICsyNCw5IEBACiAKICNpZmRlZiBTVkdfU1VQ
UE9SVAogI2luY2x1ZGUgIlNWR01hdHJpeC5oIgorI2luY2x1ZGUgIlNWR051bWJlckxpc3QuaCIK
KyNpbmNsdWRlICJzdmdwYXRocGFyc2VyLmgiCiAjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgot
I2luY2x1ZGUgIlNWR051bWJlckxpc3QuaCIKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAK
QEAgLTQyLDkgKzQzLDE3IEBACiB7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAKLSAgICBW
ZWN0b3I8U3RyaW5nPiBudW1iZXJzID0gdmFsdWUuc3BsaXQoJyAnKTsKLSAgICBmb3IgKHVuc2ln
bmVkIGludCBpID0gMDsgaSA8IG51bWJlcnMuc2l6ZSgpOyBpKyspCi0gICAgICAgIGFwcGVuZEl0
ZW0obnVtYmVyc1tpXS50b0RvdWJsZSgpLCBlYyk7CisgICAgZG91YmxlIG51bWJlciA9IDA7Cisg
ICAKKyAgICBTdHJpbmcgbnVtYmVycyA9IHZhbHVlOyAKKyAgICBjb25zdCBVQ2hhciogY3Vyck51
bWJlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPihudW1iZXJzLmNoYXJhY3RlcnNX
aXRoTnVsbFRlcm1pbmF0aW9uKCkpOworICAgIGNvbnN0IFVDaGFyKiBlb1N0cmluZyA9IGN1cnJO
dW1iZXIgKyBudW1iZXJzLmxlbmd0aCgpOworICAgIHdoaWxlIChjdXJyTnVtYmVyIDwgZW9TdHJp
bmcpIHsKKyAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzT3JDb21tYShjdXJyTnVtYmVyKTsKKyAg
ICAgICAgaWYgKCF0cnlQYXJzZUNvb3JkKGN1cnJOdW1iZXIsIG51bWJlcikpCisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIGFwcGVuZEl0ZW0obnVtYmVyLCBlYyk7CisgICAgfQogfQogCiAv
LyB2aW06dHM9NDpub2V0CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXRoRWxlbWVudC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCShy
ZXZpc2lvbiAxNjczNSkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMzU5LDcgKzM1OSw3IEBACiAgICAgaWYgKGF0dHItPm5hbWUoKSA9
PSBTVkdOYW1lczo6ZEF0dHIpIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsKICAgICAgICAg
cGF0aFNlZ0xpc3QoKS0+Y2xlYXIoZWMpOwotICAgICAgICBwYXJzZVNWRyhhdHRyLT52YWx1ZSgp
LmRlcHJlY2F0ZWRTdHJpbmcoKSwgdHJ1ZSk7CisgICAgICAgIHBhcnNlU1ZHKGF0dHItPnZhbHVl
KCksIHRydWUpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmKFNWR1Rlc3RzOjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShhdHRyKSkgcmV0dXJuOwogICAgICAgICBpZihTVkdMYW5nU3BhY2U6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKGF0dHIpKSByZXR1cm47CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9T
VkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2
Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcAkocmV2aXNpb24gMTY3MzUpCisrKyBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAia3N2Zy5oIgogI2luY2x1ZGUgIlNWR0hlbHBlci5o
IgorI2luY2x1ZGUgInN2Z3BhdGhwYXJzZXIuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZS5o
IgogI2luY2x1ZGUgIlNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaCIKIApAQCAtNzgsMTIgKzc5LDE2
IEBACiAgICAgfQogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6YmFzZUZy
ZXF1ZW5jeUF0dHIpCiAgICAgewotICAgICAgICBWZWN0b3I8U3RyaW5nPiBudW1iZXJzID0gdmFs
dWUuc3BsaXQoJyAnKTsKLSAgICAgICAgc2V0QmFzZUZyZXF1ZW5jeVhCYXNlVmFsdWUobnVtYmVy
c1swXS50b0RvdWJsZSgpKTsKLSAgICAgICAgaWYobnVtYmVycy5zaXplKCkgPT0gMSkKLSAgICAg
ICAgICAgIHNldEJhc2VGcmVxdWVuY3lZQmFzZVZhbHVlKG51bWJlcnNbMF0udG9Eb3VibGUoKSk7
Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHNldEJhc2VGcmVxdWVuY3lZQmFzZVZhbHVlKG51
bWJlcnNbMV0udG9Eb3VibGUoKSk7CisgICAgICAgIGRvdWJsZSB4ID0gMCwgeSA9IDA7CisgICAg
ICAgIGNvbnN0IFVDaGFyKiBwdHIgPSByZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4odmFs
dWUuY2hhcmFjdGVycygpKTsKKyAgICAgICAgaW50IG5yID0gdHJ5UGFyc2VOdW1iZXJMaXN0KHB0
ciwgeCwgeSk7CisgICAgICAgIGlmKG5yID4gMCkgeworICAgICAgICAgICAgc2V0QmFzZUZyZXF1
ZW5jeVhCYXNlVmFsdWUoeCk7CisgICAgICAgICAgICBpZihuciA9PSAxKQorICAgICAgICAgICAg
ICAgIHNldEJhc2VGcmVxdWVuY3lZQmFzZVZhbHVlKHgpOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIHNldEJhc2VGcmVxdWVuY3lZQmFzZVZhbHVlKHkpOworICAgICAgICB9CiAg
ICAgfQogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6c2VlZEF0dHIpCiAg
ICAgICAgIHNldFNlZWRCYXNlVmFsdWUodmFsdWUudG9Eb3VibGUoKSk7CkluZGV4OiBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdQb2x5RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3Zn
Mi9zdmcvU1ZHUG9seUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNjczNSkKKysrIFdlYkNvcmUva3N2
ZzIvc3ZnL1NWR1BvbHlFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYsNyArNTYsNyBA
QAogICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnBvaW50c0F0dHIpIHsKICAgICAg
ICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgICAgIHBvaW50cygpLT5jbGVhcihlYyk7Ci0g
ICAgICAgIHBhcnNlUG9pbnRzKGF0dHItPnZhbHVlKCkuZGVwcmVjYXRlZFN0cmluZygpKTsKKyAg
ICAgICAgcGFyc2VQb2ludHMoYXR0ci0+dmFsdWUoKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAg
aWYoU1ZHVGVzdHM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKSByZXR1cm47CiAgICAgICAg
IGlmKFNWR0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpIHJldHVybjsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10908</attachid>
            <date>2006-10-04 12:23:53 -0700</date>
            <delta_ts>2006-10-06 01:10:08 -0700</delta_ts>
            <desc>Improved patch</desc>
            <filename>11108-6.diff</filename>
            <type>text/plain</type>
            <size>137599</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE2NzgxKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjcgQEAKKzIwMDYtMTAtMDQgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTExMDgKKyAgICAgICAgUmVwbGFjZSB1c2FnZSBvZiBzcGxpdCBieSBwcm9wZXIgcGFy
c2VycworCisgICAgICAgIFRlc3RpbmcgbmV3IGtleXdvcmQgZGVmZXIgaW4gcHJlc2VydmVBc3Bl
Y3RSYXRpbywgZW1wdHkKKyAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbyBhbmQgaW1wcm92ZWQg
dGVzdGluZyBmb3IgaW52YWxpZCB0cmFuc2Zvcm1zLgorCisgICAgICAgICogc3ZnL2N1c3RvbS9l
bXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAg
ICAgICAqIHN2Zy9jdXN0b20vZW1wdHktcHJlc2VydmUtYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnBu
ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0
aW8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL2VtcHR5LXByZXNl
cnZlLWFzcGVjdC1yYXRpby5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vcHJlc2Vy
dmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAg
ICogc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnBuZzog
QWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3Bl
Y3QtcmF0aW8tc3ludGF4LnN2ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS90cmFuc2Zv
cm0taW52YWxpZC1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBzdmcvY3VzdG9tL3RyYW5z
Zm9ybS1pbnZhbGlkLWV4cGVjdGVkLnBuZzoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3RyYW5zZm9y
bS1pbnZhbGlkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3RyYW5zZm9ybS1p
bnZhbGlkLnN2ZzoKKwogMjAwNi0xMC0wMyAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQG55cG9w
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBUaW0gSC4KSW5kZXg6IExheW91dFRlc3RzL3N2
Zy9jdXN0b20vZW1wdHktcHJlc2VydmUtYXNwZWN0LXJhdGlvLWV4cGVjdGVkLmNoZWNrc3VtCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1wdHktcHJlc2VydmUtYXNwZWN0
LXJhdGlvLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQuY2hlY2tzdW0JKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKKzE2MzEwNTg4NDY3Y2ZjMjBkNTUxNjM1YWJjNTliNzg0
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1wdHktcHJlc2VydmUtYXNwZWN0LXJhdGlvLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1wdHktcHJl
c2VydmUtYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0
IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgICBLQ2FudmFzQ29udGFpbmVyIHtzdmd9IGF0ICgwLDApIHNpemUgMTAw
eDEwMAorICAgICAgS0NhbnZhc0l0ZW0ge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4w
MCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAiXQpJbmRleDogTGF5b3V0VGVzdHMvc3Zn
L2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8uc3ZnCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3N2Zy9jdXN0b20vZW1wdHktcHJlc2VydmUtYXNwZWN0LXJhdGlvLnN2ZwkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1wdHktcHJlc2VydmUtYXNwZWN0
LXJhdGlvLnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACis8c3ZnIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0iIiA+CisgPHJlY3Qg
ZmlsbD0iZ3JlZW4iIHRyYW5zZm9ybT0ic2NhbGUoKSAiIHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAi
IGhlaWdodD0iMTAwIiAvPgorPC9zdmc+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3By
ZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4
cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9w
cmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxIEBACis2NjMzNTFkZmEyNzBmNmI2NDM5NTEzMDU3ZWQ2YWY5MQpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vcHJlc2Vy
dmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0
LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAgQEAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAorICAgIEtDYW52YXNDb250YWluZXIge3N2Z30gYXQgKDAsODMuMzMpIHNpemUgMzAw
eDY2LjY3CisgICAgICBLQ2FudmFzQ29udGFpbmVyIHtnfSBhdCAoMCw4My4zMykgc2l6ZSAzMDB4
NjYuNjcKKyAgICAgICAgS0NhbnZhc0NvbnRhaW5lciB7Z30gYXQgKDAsODMuMzMpIHNpemUgMzAw
eDY2LjY3CisgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6ZSA4MDB4
MTAKKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ2NXgxMAor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0NjU6ICJBbGwgc3ZncyBiZWxv
dyBzaG91bGQgbG9vayB0aGUgc2FtZSwgc2luY2UgYWxsIGhhdmUgcHJlc2VydmVBc3BlY3RSYXRp
byB3aXRoIHN5bnRheCBlcnJvcnMgYW5kIGRlZmF1bHQgc2hvdWxkIGJlIGNob3Nlbi4iCisgICAg
ICAgICAgS0NhbnZhc0NvbnRhaW5lciB7Z30gYXQgKDAsODMuMzMpIHNpemUgNTB4NjYuNjcgW3Ry
YW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCw1MC4wMCl9XQorICAg
ICAgICAgICAgS0NhbnZhc0NvbnRhaW5lciB7c3ZnfSBhdCAoMCw4My4zMykgc2l6ZSA1MHgxMDAK
KyAgICAgICAgICAgICAgS0NhbnZhc0l0ZW0ge3JlY3R9IGF0ICgwLDgzLjMzKSBzaXplIDUweDEw
MCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNP
TElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTAuNTAsMC41MEwyOS41MCwwLjUwTDI5LjUw
LDM5LjUwTDAuNTAsMzkuNTAiXQorICAgICAgICAgICAgICBLQ2FudmFzQ29udGFpbmVyIHtnfSBh
dCAoOC4zMywxMDguMzMpIHNpemUgMzMuMzN4NTAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCko
MC4wMCwxLjAwKSkgdD0oMC4wMCw1LjAwKX1dCisgICAgICAgICAgICAgICAgS0NhbnZhc0l0ZW0g
e2NpcmNsZX0gYXQgKDguMzMsMTA4LjMzKSBzaXplIDMzLjMzeDUwIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSNGRkZGMDBdfV0gW2RhdGE9Ik0yNS4wMCwxNS4wMEwyNC45OCwxNS42M0wyNC45
MiwxNi4yNUwyNC44MiwxNi44N0wyNC42OSwxNy40OUwyNC41MSwxOC4wOUwyNC4zMCwxOC42OEwy
NC4wNSwxOS4yNkwyMy43NiwxOS44MkwyMy40NCwyMC4zNkwyMy4wOSwyMC44OEwyMi43MSwyMS4z
N0wyMi4yOSwyMS44NUwyMS44NSwyMi4yOUwyMS4zNywyMi43MUwyMC44OCwyMy4wOUwyMC4zNiwy
My40NEwxOS44MiwyMy43NkwxOS4yNiwyNC4wNUwxOC42OCwyNC4zMEwxOC4wOSwyNC41MUwxNy40
OSwyNC42OUwxNi44NywyNC44MkwxNi4yNSwyNC45MkwxNS42MywyNC45OEwxNS4wMCwyNS4wMEwx
NC4zNywyNC45OEwxMy43NSwyNC45MkwxMy4xMywyNC44MkwxMi41MSwyNC42OUwxMS45MSwyNC41
MUwxMS4zMiwyNC4zMEwxMC43NCwyNC4wNUwxMC4xOCwyMy43Nkw5LjY0LDIzLjQ0TDkuMTIsMjMu
MDlMOC42MywyMi43MUw4LjE1LDIyLjI5TDcuNzEsMjEuODVMNy4yOSwyMS4zN0w2LjkxLDIwLjg4
TDYuNTYsMjAuMzZMNi4yNCwxOS44Mkw1Ljk1LDE5LjI2TDUuNzAsMTguNjhMNS40OSwxOC4wOUw1
LjMxLDE3LjQ5TDUuMTgsMTYuODdMNS4wOCwxNi4yNUw1LjAyLDE1LjYzTDUuMDAsMTUuMDBMNS4w
MiwxNC4zN0w1LjA4LDEzLjc1TDUuMTgsMTMuMTNMNS4zMSwxMi41MUw1LjQ5LDExLjkxTDUuNzAs
MTEuMzJMNS45NSwxMC43NEw2LjI0LDEwLjE4TDYuNTYsOS42NEw2LjkxLDkuMTJMNy4yOSw4LjYz
TDcuNzEsOC4xNUw4LjE1LDcuNzFMOC42Myw3LjI5TDkuMTIsNi45MUw5LjY0LDYuNTZMMTAuMTgs
Ni4yNEwxMC43NCw1Ljk1TDExLjMyLDUuNzBMMTEuOTEsNS40OUwxMi41MSw1LjMxTDEzLjEzLDUu
MThMMTMuNzUsNS4wOEwxNC4zNyw1LjAyTDE1LjAwLDUuMDBMMTUuNjMsNS4wMkwxNi4yNSw1LjA4
TDE2Ljg3LDUuMThMMTcuNDksNS4zMUwxOC4wOSw1LjQ5TDE4LjY4LDUuNzBMMTkuMjYsNS45NUwx
OS44Miw2LjI0TDIwLjM2LDYuNTZMMjAuODgsNi45MUwyMS4zNyw3LjI5TDIxLjg1LDcuNzFMMjIu
MjksOC4xNUwyMi43MSw4LjYzTDIzLjA5LDkuMTJMMjMuNDQsOS42NEwyMy43NiwxMC4xOEwyNC4w
NSwxMC43NEwyNC4zMCwxMS4zMkwyNC41MSwxMS45MUwyNC42OSwxMi41MUwyNC44MiwxMy4xM0wy
NC45MiwxMy43NUwyNC45OCwxNC4zNyJdCisgICAgICAgICAgICAgICAgS0NhbnZhc0l0ZW0ge2Np
cmNsZX0gYXQgKDE3LjUwLDEyMi4wOCkgc2l6ZSA1eDcuNTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBb
Y29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTEzLjUwLDEyLjAwTDEzLjUwLDEyLjA5TDEzLjQ5LDEy
LjE5TDEzLjQ3LDEyLjI4TDEzLjQ1LDEyLjM3TDEzLjQzLDEyLjQ2TDEzLjM5LDEyLjU1TDEzLjM2
LDEyLjY0TDEzLjMxLDEyLjcyTDEzLjI3LDEyLjgwTDEzLjIxLDEyLjg4TDEzLjE2LDEyLjk2TDEz
LjA5LDEzLjAzTDEzLjAzLDEzLjA5TDEyLjk2LDEzLjE2TDEyLjg4LDEzLjIxTDEyLjgwLDEzLjI3
TDEyLjcyLDEzLjMxTDEyLjY0LDEzLjM2TDEyLjU1LDEzLjM5TDEyLjQ2LDEzLjQzTDEyLjM3LDEz
LjQ1TDEyLjI4LDEzLjQ3TDEyLjE5LDEzLjQ5TDEyLjA5LDEzLjUwTDEyLjAwLDEzLjUwTDExLjkx
LDEzLjUwTDExLjgxLDEzLjQ5TDExLjcyLDEzLjQ3TDExLjYzLDEzLjQ1TDExLjU0LDEzLjQzTDEx
LjQ1LDEzLjM5TDExLjM2LDEzLjM2TDExLjI4LDEzLjMxTDExLjIwLDEzLjI3TDExLjEyLDEzLjIx
TDExLjA0LDEzLjE2TDEwLjk3LDEzLjA5TDEwLjkxLDEzLjAzTDEwLjg0LDEyLjk2TDEwLjc5LDEy
Ljg4TDEwLjczLDEyLjgwTDEwLjY5LDEyLjcyTDEwLjY0LDEyLjY0TDEwLjYxLDEyLjU1TDEwLjU3
LDEyLjQ2TDEwLjU1LDEyLjM3TDEwLjUzLDEyLjI4TDEwLjUxLDEyLjE5TDEwLjUwLDEyLjA5TDEw
LjUwLDEyLjAwTDEwLjUwLDExLjkxTDEwLjUxLDExLjgxTDEwLjUzLDExLjcyTDEwLjU1LDExLjYz
TDEwLjU3LDExLjU0TDEwLjYxLDExLjQ1TDEwLjY0LDExLjM2TDEwLjY5LDExLjI4TDEwLjczLDEx
LjIwTDEwLjc5LDExLjEyTDEwLjg0LDExLjA0TDEwLjkxLDEwLjk3TDEwLjk3LDEwLjkxTDExLjA0
LDEwLjg0TDExLjEyLDEwLjc5TDExLjIwLDEwLjczTDExLjI4LDEwLjY5TDExLjM2LDEwLjY0TDEx
LjQ1LDEwLjYxTDExLjU0LDEwLjU3TDExLjYzLDEwLjU1TDExLjcyLDEwLjUzTDExLjgxLDEwLjUx
TDExLjkxLDEwLjUwTDEyLjAwLDEwLjUwTDEyLjA5LDEwLjUwTDEyLjE5LDEwLjUxTDEyLjI4LDEw
LjUzTDEyLjM3LDEwLjU1TDEyLjQ2LDEwLjU3TDEyLjU1LDEwLjYxTDEyLjY0LDEwLjY0TDEyLjcy
LDEwLjY5TDEyLjgwLDEwLjczTDEyLjg4LDEwLjc5TDEyLjk2LDEwLjg0TDEzLjAzLDEwLjkxTDEz
LjA5LDEwLjk3TDEzLjE2LDExLjA0TDEzLjIxLDExLjEyTDEzLjI3LDExLjIwTDEzLjMxLDExLjI4
TDEzLjM2LDExLjM2TDEzLjM5LDExLjQ1TDEzLjQzLDExLjU0TDEzLjQ1LDExLjYzTDEzLjQ3LDEx
LjcyTDEzLjQ5LDExLjgxTDEzLjUwLDExLjkxIl0KKyAgICAgICAgICAgICAgICBLQ2FudmFzSXRl
bSB7Y2lyY2xlfSBhdCAoMjUuODMsMTIyLjA4KSBzaXplIDV4Ny41MCBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMTguNTAsMTIuMDBMMTguNTAsMTIuMDlMMTgu
NDksMTIuMTlMMTguNDcsMTIuMjhMMTguNDUsMTIuMzdMMTguNDMsMTIuNDZMMTguMzksMTIuNTVM
MTguMzYsMTIuNjRMMTguMzEsMTIuNzJMMTguMjcsMTIuODBMMTguMjEsMTIuODhMMTguMTYsMTIu
OTZMMTguMDksMTMuMDNMMTguMDMsMTMuMDlMMTcuOTYsMTMuMTZMMTcuODgsMTMuMjFMMTcuODAs
MTMuMjdMMTcuNzIsMTMuMzFMMTcuNjQsMTMuMzZMMTcuNTUsMTMuMzlMMTcuNDYsMTMuNDNMMTcu
MzcsMTMuNDVMMTcuMjgsMTMuNDdMMTcuMTksMTMuNDlMMTcuMDksMTMuNTBMMTcuMDAsMTMuNTBM
MTYuOTEsMTMuNTBMMTYuODEsMTMuNDlMMTYuNzIsMTMuNDdMMTYuNjMsMTMuNDVMMTYuNTQsMTMu
NDNMMTYuNDUsMTMuMzlMMTYuMzYsMTMuMzZMMTYuMjgsMTMuMzFMMTYuMjAsMTMuMjdMMTYuMTIs
MTMuMjFMMTYuMDQsMTMuMTZMMTUuOTcsMTMuMDlMMTUuOTEsMTMuMDNMMTUuODQsMTIuOTZMMTUu
NzksMTIuODhMMTUuNzMsMTIuODBMMTUuNjksMTIuNzJMMTUuNjQsMTIuNjRMMTUuNjEsMTIuNTVM
MTUuNTcsMTIuNDZMMTUuNTUsMTIuMzdMMTUuNTMsMTIuMjhMMTUuNTEsMTIuMTlMMTUuNTAsMTIu
MDlMMTUuNTAsMTIuMDBMMTUuNTAsMTEuOTFMMTUuNTEsMTEuODFMMTUuNTMsMTEuNzJMMTUuNTUs
MTEuNjNMMTUuNTcsMTEuNTRMMTUuNjEsMTEuNDVMMTUuNjQsMTEuMzZMMTUuNjksMTEuMjhMMTUu
NzMsMTEuMjBMMTUuNzksMTEuMTJMMTUuODQsMTEuMDRMMTUuOTEsMTAuOTdMMTUuOTcsMTAuOTFM
MTYuMDQsMTAuODRMMTYuMTIsMTAuNzlMMTYuMjAsMTAuNzNMMTYuMjgsMTAuNjlMMTYuMzYsMTAu
NjRMMTYuNDUsMTAuNjFMMTYuNTQsMTAuNTdMMTYuNjMsMTAuNTVMMTYuNzIsMTAuNTNMMTYuODEs
MTAuNTFMMTYuOTEsMTAuNTBMMTcuMDAsMTAuNTBMMTcuMDksMTAuNTBMMTcuMTksMTAuNTFMMTcu
MjgsMTAuNTNMMTcuMzcsMTAuNTVMMTcuNDYsMTAuNTdMMTcuNTUsMTAuNjFMMTcuNjQsMTAuNjRM
MTcuNzIsMTAuNjlMMTcuODAsMTAuNzNMMTcuODgsMTAuNzlMMTcuOTYsMTAuODRMMTguMDMsMTAu
OTFMMTguMDksMTAuOTdMMTguMTYsMTEuMDRMMTguMjEsMTEuMTJMMTguMjcsMTEuMjBMMTguMzEs
MTEuMjhMMTguMzYsMTEuMzZMMTguMzksMTEuNDVMMTguNDMsMTEuNTRMMTguNDUsMTEuNjNMMTgu
NDcsMTEuNzJMMTguNDksMTEuODFMMTguNTAsMTEuOTEiXQorICAgICAgICAgICAgICAgIEtDYW52
YXNJdGVtIHtwYXRofSBhdCAoMTUuNjMsMTQxLjM4KSBzaXplIDE4Ljc1eDE1LjE1IFtzdHJva2U9
e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0yLjAwXX1dIFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xMC4wMCwxOS4wMEwxNS4w
MCwyMy4wMEwyMC4wMCwxOS4wMCJdCisgICAgICAgICAgS0NhbnZhc0NvbnRhaW5lciB7Z30gYXQg
KDgzLjMzLDgzLjMzKSBzaXplIDUweDY2LjY3IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAu
MDAsMS4wMCkpIHQ9KDUwLjAwLDUwLjAwKX1dCisgICAgICAgICAgICBLQ2FudmFzQ29udGFpbmVy
IHtzdmd9IGF0ICg4My4zMyw4My4zMykgc2l6ZSA1MHgxMDAKKyAgICAgICAgICAgICAgS0NhbnZh
c0l0ZW0ge3JlY3R9IGF0ICg4My4zMyw4My4zMykgc2l6ZSA1MHgxMDAgW3N0cm9rZT17W3R5cGU9
U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAw
MDBdfV0gW2RhdGE9Ik0wLjUwLDAuNTBMMjkuNTAsMC41MEwyOS41MCwzOS41MEwwLjUwLDM5LjUw
Il0KKyAgICAgICAgICAgICAgS0NhbnZhc0NvbnRhaW5lciB7Z30gYXQgKDkxLjY3LDEwOC4zMykg
c2l6ZSAzMy4zM3g1MCBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgw
LjAwLDUuMDApfV0KKyAgICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7Y2lyY2xlfSBhdCAoOTEu
NjcsMTA4LjMzKSBzaXplIDMzLjMzeDUwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkZG
MDBdfV0gW2RhdGE9Ik0yNS4wMCwxNS4wMEwyNC45OCwxNS42M0wyNC45MiwxNi4yNUwyNC44Miwx
Ni44N0wyNC42OSwxNy40OUwyNC41MSwxOC4wOUwyNC4zMCwxOC42OEwyNC4wNSwxOS4yNkwyMy43
NiwxOS44MkwyMy40NCwyMC4zNkwyMy4wOSwyMC44OEwyMi43MSwyMS4zN0wyMi4yOSwyMS44NUwy
MS44NSwyMi4yOUwyMS4zNywyMi43MUwyMC44OCwyMy4wOUwyMC4zNiwyMy40NEwxOS44MiwyMy43
NkwxOS4yNiwyNC4wNUwxOC42OCwyNC4zMEwxOC4wOSwyNC41MUwxNy40OSwyNC42OUwxNi44Nywy
NC44MkwxNi4yNSwyNC45MkwxNS42MywyNC45OEwxNS4wMCwyNS4wMEwxNC4zNywyNC45OEwxMy43
NSwyNC45MkwxMy4xMywyNC44MkwxMi41MSwyNC42OUwxMS45MSwyNC41MUwxMS4zMiwyNC4zMEwx
MC43NCwyNC4wNUwxMC4xOCwyMy43Nkw5LjY0LDIzLjQ0TDkuMTIsMjMuMDlMOC42MywyMi43MUw4
LjE1LDIyLjI5TDcuNzEsMjEuODVMNy4yOSwyMS4zN0w2LjkxLDIwLjg4TDYuNTYsMjAuMzZMNi4y
NCwxOS44Mkw1Ljk1LDE5LjI2TDUuNzAsMTguNjhMNS40OSwxOC4wOUw1LjMxLDE3LjQ5TDUuMTgs
MTYuODdMNS4wOCwxNi4yNUw1LjAyLDE1LjYzTDUuMDAsMTUuMDBMNS4wMiwxNC4zN0w1LjA4LDEz
Ljc1TDUuMTgsMTMuMTNMNS4zMSwxMi41MUw1LjQ5LDExLjkxTDUuNzAsMTEuMzJMNS45NSwxMC43
NEw2LjI0LDEwLjE4TDYuNTYsOS42NEw2LjkxLDkuMTJMNy4yOSw4LjYzTDcuNzEsOC4xNUw4LjE1
LDcuNzFMOC42Myw3LjI5TDkuMTIsNi45MUw5LjY0LDYuNTZMMTAuMTgsNi4yNEwxMC43NCw1Ljk1
TDExLjMyLDUuNzBMMTEuOTEsNS40OUwxMi41MSw1LjMxTDEzLjEzLDUuMThMMTMuNzUsNS4wOEwx
NC4zNyw1LjAyTDE1LjAwLDUuMDBMMTUuNjMsNS4wMkwxNi4yNSw1LjA4TDE2Ljg3LDUuMThMMTcu
NDksNS4zMUwxOC4wOSw1LjQ5TDE4LjY4LDUuNzBMMTkuMjYsNS45NUwxOS44Miw2LjI0TDIwLjM2
LDYuNTZMMjAuODgsNi45MUwyMS4zNyw3LjI5TDIxLjg1LDcuNzFMMjIuMjksOC4xNUwyMi43MSw4
LjYzTDIzLjA5LDkuMTJMMjMuNDQsOS42NEwyMy43NiwxMC4xOEwyNC4wNSwxMC43NEwyNC4zMCwx
MS4zMkwyNC41MSwxMS45MUwyNC42OSwxMi41MUwyNC44MiwxMy4xM0wyNC45MiwxMy43NUwyNC45
OCwxNC4zNyJdCisgICAgICAgICAgICAgICAgS0NhbnZhc0l0ZW0ge2NpcmNsZX0gYXQgKDEwMC44
MywxMjIuMDgpIHNpemUgNXg3LjUwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBd
fV0gW2RhdGE9Ik0xMy41MCwxMi4wMEwxMy41MCwxMi4wOUwxMy40OSwxMi4xOUwxMy40NywxMi4y
OEwxMy40NSwxMi4zN0wxMy40MywxMi40NkwxMy4zOSwxMi41NUwxMy4zNiwxMi42NEwxMy4zMSwx
Mi43MkwxMy4yNywxMi44MEwxMy4yMSwxMi44OEwxMy4xNiwxMi45NkwxMy4wOSwxMy4wM0wxMy4w
MywxMy4wOUwxMi45NiwxMy4xNkwxMi44OCwxMy4yMUwxMi44MCwxMy4yN0wxMi43MiwxMy4zMUwx
Mi42NCwxMy4zNkwxMi41NSwxMy4zOUwxMi40NiwxMy40M0wxMi4zNywxMy40NUwxMi4yOCwxMy40
N0wxMi4xOSwxMy40OUwxMi4wOSwxMy41MEwxMi4wMCwxMy41MEwxMS45MSwxMy41MEwxMS44MSwx
My40OUwxMS43MiwxMy40N0wxMS42MywxMy40NUwxMS41NCwxMy40M0wxMS40NSwxMy4zOUwxMS4z
NiwxMy4zNkwxMS4yOCwxMy4zMUwxMS4yMCwxMy4yN0wxMS4xMiwxMy4yMUwxMS4wNCwxMy4xNkwx
MC45NywxMy4wOUwxMC45MSwxMy4wM0wxMC44NCwxMi45NkwxMC43OSwxMi44OEwxMC43MywxMi44
MEwxMC42OSwxMi43MkwxMC42NCwxMi42NEwxMC42MSwxMi41NUwxMC41NywxMi40NkwxMC41NSwx
Mi4zN0wxMC41MywxMi4yOEwxMC41MSwxMi4xOUwxMC41MCwxMi4wOUwxMC41MCwxMi4wMEwxMC41
MCwxMS45MUwxMC41MSwxMS44MUwxMC41MywxMS43MkwxMC41NSwxMS42M0wxMC41NywxMS41NEwx
MC42MSwxMS40NUwxMC42NCwxMS4zNkwxMC42OSwxMS4yOEwxMC43MywxMS4yMEwxMC43OSwxMS4x
MkwxMC44NCwxMS4wNEwxMC45MSwxMC45N0wxMC45NywxMC45MUwxMS4wNCwxMC44NEwxMS4xMiwx
MC43OUwxMS4yMCwxMC43M0wxMS4yOCwxMC42OUwxMS4zNiwxMC42NEwxMS40NSwxMC42MUwxMS41
NCwxMC41N0wxMS42MywxMC41NUwxMS43MiwxMC41M0wxMS44MSwxMC41MUwxMS45MSwxMC41MEwx
Mi4wMCwxMC41MEwxMi4wOSwxMC41MEwxMi4xOSwxMC41MUwxMi4yOCwxMC41M0wxMi4zNywxMC41
NUwxMi40NiwxMC41N0wxMi41NSwxMC42MUwxMi42NCwxMC42NEwxMi43MiwxMC42OUwxMi44MCwx
MC43M0wxMi44OCwxMC43OUwxMi45NiwxMC44NEwxMy4wMywxMC45MUwxMy4wOSwxMC45N0wxMy4x
NiwxMS4wNEwxMy4yMSwxMS4xMkwxMy4yNywxMS4yMEwxMy4zMSwxMS4yOEwxMy4zNiwxMS4zNkwx
My4zOSwxMS40NUwxMy40MywxMS41NEwxMy40NSwxMS42M0wxMy40NywxMS43MkwxMy40OSwxMS44
MUwxMy41MCwxMS45MSJdCisgICAgICAgICAgICAgICAgS0NhbnZhc0l0ZW0ge2NpcmNsZX0gYXQg
KDEwOS4xNywxMjIuMDgpIHNpemUgNXg3LjUwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDAwMDBdfV0gW2RhdGE9Ik0xOC41MCwxMi4wMEwxOC41MCwxMi4wOUwxOC40OSwxMi4xOUwxOC40
NywxMi4yOEwxOC40NSwxMi4zN0wxOC40MywxMi40NkwxOC4zOSwxMi41NUwxOC4zNiwxMi42NEwx
OC4zMSwxMi43MkwxOC4yNywxMi44MEwxOC4yMSwxMi44OEwxOC4xNiwxMi45NkwxOC4wOSwxMy4w
M0wxOC4wMywxMy4wOUwxNy45NiwxMy4xNkwxNy44OCwxMy4yMUwxNy44MCwxMy4yN0wxNy43Miwx
My4zMUwxNy42NCwxMy4zNkwxNy41NSwxMy4zOUwxNy40NiwxMy40M0wxNy4zNywxMy40NUwxNy4y
OCwxMy40N0wxNy4xOSwxMy40OUwxNy4wOSwxMy41MEwxNy4wMCwxMy41MEwxNi45MSwxMy41MEwx
Ni44MSwxMy40OUwxNi43MiwxMy40N0wxNi42MywxMy40NUwxNi41NCwxMy40M0wxNi40NSwxMy4z
OUwxNi4zNiwxMy4zNkwxNi4yOCwxMy4zMUwxNi4yMCwxMy4yN0wxNi4xMiwxMy4yMUwxNi4wNCwx
My4xNkwxNS45NywxMy4wOUwxNS45MSwxMy4wM0wxNS44NCwxMi45NkwxNS43OSwxMi44OEwxNS43
MywxMi44MEwxNS42OSwxMi43MkwxNS42NCwxMi42NEwxNS42MSwxMi41NUwxNS41NywxMi40Nkwx
NS41NSwxMi4zN0wxNS41MywxMi4yOEwxNS41MSwxMi4xOUwxNS41MCwxMi4wOUwxNS41MCwxMi4w
MEwxNS41MCwxMS45MUwxNS41MSwxMS44MUwxNS41MywxMS43MkwxNS41NSwxMS42M0wxNS41Nywx
MS41NEwxNS42MSwxMS40NUwxNS42NCwxMS4zNkwxNS42OSwxMS4yOEwxNS43MywxMS4yMEwxNS43
OSwxMS4xMkwxNS44NCwxMS4wNEwxNS45MSwxMC45N0wxNS45NywxMC45MUwxNi4wNCwxMC44NEwx
Ni4xMiwxMC43OUwxNi4yMCwxMC43M0wxNi4yOCwxMC42OUwxNi4zNiwxMC42NEwxNi40NSwxMC42
MUwxNi41NCwxMC41N0wxNi42MywxMC41NUwxNi43MiwxMC41M0wxNi44MSwxMC41MUwxNi45MSwx
MC41MEwxNy4wMCwxMC41MEwxNy4wOSwxMC41MEwxNy4xOSwxMC41MUwxNy4yOCwxMC41M0wxNy4z
NywxMC41NUwxNy40NiwxMC41N0wxNy41NSwxMC42MUwxNy42NCwxMC42NEwxNy43MiwxMC42OUwx
Ny44MCwxMC43M0wxNy44OCwxMC43OUwxNy45NiwxMC44NEwxOC4wMywxMC45MUwxOC4wOSwxMC45
N0wxOC4xNiwxMS4wNEwxOC4yMSwxMS4xMkwxOC4yNywxMS4yMEwxOC4zMSwxMS4yOEwxOC4zNiwx
MS4zNkwxOC4zOSwxMS40NUwxOC40MywxMS41NEwxOC40NSwxMS42M0wxOC40NywxMS43MkwxOC40
OSwxMS44MUwxOC41MCwxMS45MSJdCisgICAgICAgICAgICAgICAgS0NhbnZhc0l0ZW0ge3BhdGh9
IGF0ICg5OC45NiwxNDEuMzgpIHNpemUgMTguNzV4MTUuMTUgW3N0cm9rZT17W3R5cGU9U09MSURd
IFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTEwLjAwLDE5LjAwTDE1LjAwLDIzLjAwTDIwLjAw
LDE5LjAwIl0KKyAgICAgICAgICBLQ2FudmFzQ29udGFpbmVyIHtnfSBhdCAoMTY2LjY3LDgzLjMz
KSBzaXplIDUweDY2LjY3IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9
KDEwMC4wMCw1MC4wMCl9XQorICAgICAgICAgICAgS0NhbnZhc0NvbnRhaW5lciB7c3ZnfSBhdCAo
MTY2LjY3LDgzLjMzKSBzaXplIDUweDEwMAorICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7cmVj
dH0gYXQgKDE2Ni42Nyw4My4zMykgc2l6ZSA1MHgxMDAgW3N0cm9rZT17W3R5cGU9U09MSURdIFtj
b2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2Rh
dGE9Ik0wLjUwLDAuNTBMMjkuNTAsMC41MEwyOS41MCwzOS41MEwwLjUwLDM5LjUwIl0KKyAgICAg
ICAgICAgICAgS0NhbnZhc0NvbnRhaW5lciB7Z30gYXQgKDE3NS4wMCwxMDguMzMpIHNpemUgMzMu
MzN4NTAgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCw1LjAw
KX1dCisgICAgICAgICAgICAgICAgS0NhbnZhc0l0ZW0ge2NpcmNsZX0gYXQgKDE3NS4wMCwxMDgu
MzMpIHNpemUgMzMuMzN4NTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGRkYwMF19XSBb
ZGF0YT0iTTI1LjAwLDE1LjAwTDI0Ljk4LDE1LjYzTDI0LjkyLDE2LjI1TDI0LjgyLDE2Ljg3TDI0
LjY5LDE3LjQ5TDI0LjUxLDE4LjA5TDI0LjMwLDE4LjY4TDI0LjA1LDE5LjI2TDIzLjc2LDE5Ljgy
TDIzLjQ0LDIwLjM2TDIzLjA5LDIwLjg4TDIyLjcxLDIxLjM3TDIyLjI5LDIxLjg1TDIxLjg1LDIy
LjI5TDIxLjM3LDIyLjcxTDIwLjg4LDIzLjA5TDIwLjM2LDIzLjQ0TDE5LjgyLDIzLjc2TDE5LjI2
LDI0LjA1TDE4LjY4LDI0LjMwTDE4LjA5LDI0LjUxTDE3LjQ5LDI0LjY5TDE2Ljg3LDI0LjgyTDE2
LjI1LDI0LjkyTDE1LjYzLDI0Ljk4TDE1LjAwLDI1LjAwTDE0LjM3LDI0Ljk4TDEzLjc1LDI0Ljky
TDEzLjEzLDI0LjgyTDEyLjUxLDI0LjY5TDExLjkxLDI0LjUxTDExLjMyLDI0LjMwTDEwLjc0LDI0
LjA1TDEwLjE4LDIzLjc2TDkuNjQsMjMuNDRMOS4xMiwyMy4wOUw4LjYzLDIyLjcxTDguMTUsMjIu
MjlMNy43MSwyMS44NUw3LjI5LDIxLjM3TDYuOTEsMjAuODhMNi41NiwyMC4zNkw2LjI0LDE5Ljgy
TDUuOTUsMTkuMjZMNS43MCwxOC42OEw1LjQ5LDE4LjA5TDUuMzEsMTcuNDlMNS4xOCwxNi44N0w1
LjA4LDE2LjI1TDUuMDIsMTUuNjNMNS4wMCwxNS4wMEw1LjAyLDE0LjM3TDUuMDgsMTMuNzVMNS4x
OCwxMy4xM0w1LjMxLDEyLjUxTDUuNDksMTEuOTFMNS43MCwxMS4zMkw1Ljk1LDEwLjc0TDYuMjQs
MTAuMThMNi41Niw5LjY0TDYuOTEsOS4xMkw3LjI5LDguNjNMNy43MSw4LjE1TDguMTUsNy43MUw4
LjYzLDcuMjlMOS4xMiw2LjkxTDkuNjQsNi41NkwxMC4xOCw2LjI0TDEwLjc0LDUuOTVMMTEuMzIs
NS43MEwxMS45MSw1LjQ5TDEyLjUxLDUuMzFMMTMuMTMsNS4xOEwxMy43NSw1LjA4TDE0LjM3LDUu
MDJMMTUuMDAsNS4wMEwxNS42Myw1LjAyTDE2LjI1LDUuMDhMMTYuODcsNS4xOEwxNy40OSw1LjMx
TDE4LjA5LDUuNDlMMTguNjgsNS43MEwxOS4yNiw1Ljk1TDE5LjgyLDYuMjRMMjAuMzYsNi41Nkwy
MC44OCw2LjkxTDIxLjM3LDcuMjlMMjEuODUsNy43MUwyMi4yOSw4LjE1TDIyLjcxLDguNjNMMjMu
MDksOS4xMkwyMy40NCw5LjY0TDIzLjc2LDEwLjE4TDI0LjA1LDEwLjc0TDI0LjMwLDExLjMyTDI0
LjUxLDExLjkxTDI0LjY5LDEyLjUxTDI0LjgyLDEzLjEzTDI0LjkyLDEzLjc1TDI0Ljk4LDE0LjM3
Il0KKyAgICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7Y2lyY2xlfSBhdCAoMTg0LjE3LDEyMi4w
OCkgc2l6ZSA1eDcuNTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0
YT0iTTEzLjUwLDEyLjAwTDEzLjUwLDEyLjA5TDEzLjQ5LDEyLjE5TDEzLjQ3LDEyLjI4TDEzLjQ1
LDEyLjM3TDEzLjQzLDEyLjQ2TDEzLjM5LDEyLjU1TDEzLjM2LDEyLjY0TDEzLjMxLDEyLjcyTDEz
LjI3LDEyLjgwTDEzLjIxLDEyLjg4TDEzLjE2LDEyLjk2TDEzLjA5LDEzLjAzTDEzLjAzLDEzLjA5
TDEyLjk2LDEzLjE2TDEyLjg4LDEzLjIxTDEyLjgwLDEzLjI3TDEyLjcyLDEzLjMxTDEyLjY0LDEz
LjM2TDEyLjU1LDEzLjM5TDEyLjQ2LDEzLjQzTDEyLjM3LDEzLjQ1TDEyLjI4LDEzLjQ3TDEyLjE5
LDEzLjQ5TDEyLjA5LDEzLjUwTDEyLjAwLDEzLjUwTDExLjkxLDEzLjUwTDExLjgxLDEzLjQ5TDEx
LjcyLDEzLjQ3TDExLjYzLDEzLjQ1TDExLjU0LDEzLjQzTDExLjQ1LDEzLjM5TDExLjM2LDEzLjM2
TDExLjI4LDEzLjMxTDExLjIwLDEzLjI3TDExLjEyLDEzLjIxTDExLjA0LDEzLjE2TDEwLjk3LDEz
LjA5TDEwLjkxLDEzLjAzTDEwLjg0LDEyLjk2TDEwLjc5LDEyLjg4TDEwLjczLDEyLjgwTDEwLjY5
LDEyLjcyTDEwLjY0LDEyLjY0TDEwLjYxLDEyLjU1TDEwLjU3LDEyLjQ2TDEwLjU1LDEyLjM3TDEw
LjUzLDEyLjI4TDEwLjUxLDEyLjE5TDEwLjUwLDEyLjA5TDEwLjUwLDEyLjAwTDEwLjUwLDExLjkx
TDEwLjUxLDExLjgxTDEwLjUzLDExLjcyTDEwLjU1LDExLjYzTDEwLjU3LDExLjU0TDEwLjYxLDEx
LjQ1TDEwLjY0LDExLjM2TDEwLjY5LDExLjI4TDEwLjczLDExLjIwTDEwLjc5LDExLjEyTDEwLjg0
LDExLjA0TDEwLjkxLDEwLjk3TDEwLjk3LDEwLjkxTDExLjA0LDEwLjg0TDExLjEyLDEwLjc5TDEx
LjIwLDEwLjczTDExLjI4LDEwLjY5TDExLjM2LDEwLjY0TDExLjQ1LDEwLjYxTDExLjU0LDEwLjU3
TDExLjYzLDEwLjU1TDExLjcyLDEwLjUzTDExLjgxLDEwLjUxTDExLjkxLDEwLjUwTDEyLjAwLDEw
LjUwTDEyLjA5LDEwLjUwTDEyLjE5LDEwLjUxTDEyLjI4LDEwLjUzTDEyLjM3LDEwLjU1TDEyLjQ2
LDEwLjU3TDEyLjU1LDEwLjYxTDEyLjY0LDEwLjY0TDEyLjcyLDEwLjY5TDEyLjgwLDEwLjczTDEy
Ljg4LDEwLjc5TDEyLjk2LDEwLjg0TDEzLjAzLDEwLjkxTDEzLjA5LDEwLjk3TDEzLjE2LDExLjA0
TDEzLjIxLDExLjEyTDEzLjI3LDExLjIwTDEzLjMxLDExLjI4TDEzLjM2LDExLjM2TDEzLjM5LDEx
LjQ1TDEzLjQzLDExLjU0TDEzLjQ1LDExLjYzTDEzLjQ3LDExLjcyTDEzLjQ5LDExLjgxTDEzLjUw
LDExLjkxIl0KKyAgICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7Y2lyY2xlfSBhdCAoMTkyLjUw
LDEyMi4wOCkgc2l6ZSA1eDcuNTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19
XSBbZGF0YT0iTTE4LjUwLDEyLjAwTDE4LjUwLDEyLjA5TDE4LjQ5LDEyLjE5TDE4LjQ3LDEyLjI4
TDE4LjQ1LDEyLjM3TDE4LjQzLDEyLjQ2TDE4LjM5LDEyLjU1TDE4LjM2LDEyLjY0TDE4LjMxLDEy
LjcyTDE4LjI3LDEyLjgwTDE4LjIxLDEyLjg4TDE4LjE2LDEyLjk2TDE4LjA5LDEzLjAzTDE4LjAz
LDEzLjA5TDE3Ljk2LDEzLjE2TDE3Ljg4LDEzLjIxTDE3LjgwLDEzLjI3TDE3LjcyLDEzLjMxTDE3
LjY0LDEzLjM2TDE3LjU1LDEzLjM5TDE3LjQ2LDEzLjQzTDE3LjM3LDEzLjQ1TDE3LjI4LDEzLjQ3
TDE3LjE5LDEzLjQ5TDE3LjA5LDEzLjUwTDE3LjAwLDEzLjUwTDE2LjkxLDEzLjUwTDE2LjgxLDEz
LjQ5TDE2LjcyLDEzLjQ3TDE2LjYzLDEzLjQ1TDE2LjU0LDEzLjQzTDE2LjQ1LDEzLjM5TDE2LjM2
LDEzLjM2TDE2LjI4LDEzLjMxTDE2LjIwLDEzLjI3TDE2LjEyLDEzLjIxTDE2LjA0LDEzLjE2TDE1
Ljk3LDEzLjA5TDE1LjkxLDEzLjAzTDE1Ljg0LDEyLjk2TDE1Ljc5LDEyLjg4TDE1LjczLDEyLjgw
TDE1LjY5LDEyLjcyTDE1LjY0LDEyLjY0TDE1LjYxLDEyLjU1TDE1LjU3LDEyLjQ2TDE1LjU1LDEy
LjM3TDE1LjUzLDEyLjI4TDE1LjUxLDEyLjE5TDE1LjUwLDEyLjA5TDE1LjUwLDEyLjAwTDE1LjUw
LDExLjkxTDE1LjUxLDExLjgxTDE1LjUzLDExLjcyTDE1LjU1LDExLjYzTDE1LjU3LDExLjU0TDE1
LjYxLDExLjQ1TDE1LjY0LDExLjM2TDE1LjY5LDExLjI4TDE1LjczLDExLjIwTDE1Ljc5LDExLjEy
TDE1Ljg0LDExLjA0TDE1LjkxLDEwLjk3TDE1Ljk3LDEwLjkxTDE2LjA0LDEwLjg0TDE2LjEyLDEw
Ljc5TDE2LjIwLDEwLjczTDE2LjI4LDEwLjY5TDE2LjM2LDEwLjY0TDE2LjQ1LDEwLjYxTDE2LjU0
LDEwLjU3TDE2LjYzLDEwLjU1TDE2LjcyLDEwLjUzTDE2LjgxLDEwLjUxTDE2LjkxLDEwLjUwTDE3
LjAwLDEwLjUwTDE3LjA5LDEwLjUwTDE3LjE5LDEwLjUxTDE3LjI4LDEwLjUzTDE3LjM3LDEwLjU1
TDE3LjQ2LDEwLjU3TDE3LjU1LDEwLjYxTDE3LjY0LDEwLjY0TDE3LjcyLDEwLjY5TDE3LjgwLDEw
LjczTDE3Ljg4LDEwLjc5TDE3Ljk2LDEwLjg0TDE4LjAzLDEwLjkxTDE4LjA5LDEwLjk3TDE4LjE2
LDExLjA0TDE4LjIxLDExLjEyTDE4LjI3LDExLjIwTDE4LjMxLDExLjI4TDE4LjM2LDExLjM2TDE4
LjM5LDExLjQ1TDE4LjQzLDExLjU0TDE4LjQ1LDExLjYzTDE4LjQ3LDExLjcyTDE4LjQ5LDExLjgx
TDE4LjUwLDExLjkxIl0KKyAgICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7cGF0aH0gYXQgKDE4
Mi4yOSwxNDEuMzgpIHNpemUgMTguNzV4MTUuMTUgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDAwMF19XSBbZGF0YT0iTTEwLjAwLDE5LjAwTDE1LjAwLDIzLjAwTDIwLjAwLDE5LjAw
Il0KKyAgICAgICAgICBLQ2FudmFzQ29udGFpbmVyIHtnfSBhdCAoMjUwLDgzLjMzKSBzaXplIDUw
eDY2LjY3IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDE1MC4wMCw1
MC4wMCl9XQorICAgICAgICAgICAgS0NhbnZhc0NvbnRhaW5lciB7c3ZnfSBhdCAoMjUwLDgzLjMz
KSBzaXplIDUweDEwMAorICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQgKDI1MCw4
My4zMykgc2l6ZSA1MHgxMDAgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1d
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0wLjUwLDAuNTBM
MjkuNTAsMC41MEwyOS41MCwzOS41MEwwLjUwLDM5LjUwIl0KKyAgICAgICAgICAgICAgS0NhbnZh
c0NvbnRhaW5lciB7Z30gYXQgKDI1OC4zMywxMDguMzMpIHNpemUgMzMuMzN4NTAgW3RyYW5zZm9y
bT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCw1LjAwKX1dCisgICAgICAgICAg
ICAgICAgS0NhbnZhc0l0ZW0ge2NpcmNsZX0gYXQgKDI1OC4zMywxMDguMzMpIHNpemUgMzMuMzN4
NTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGRkYwMF19XSBbZGF0YT0iTTI1LjAwLDE1
LjAwTDI0Ljk4LDE1LjYzTDI0LjkyLDE2LjI1TDI0LjgyLDE2Ljg3TDI0LjY5LDE3LjQ5TDI0LjUx
LDE4LjA5TDI0LjMwLDE4LjY4TDI0LjA1LDE5LjI2TDIzLjc2LDE5LjgyTDIzLjQ0LDIwLjM2TDIz
LjA5LDIwLjg4TDIyLjcxLDIxLjM3TDIyLjI5LDIxLjg1TDIxLjg1LDIyLjI5TDIxLjM3LDIyLjcx
TDIwLjg4LDIzLjA5TDIwLjM2LDIzLjQ0TDE5LjgyLDIzLjc2TDE5LjI2LDI0LjA1TDE4LjY4LDI0
LjMwTDE4LjA5LDI0LjUxTDE3LjQ5LDI0LjY5TDE2Ljg3LDI0LjgyTDE2LjI1LDI0LjkyTDE1LjYz
LDI0Ljk4TDE1LjAwLDI1LjAwTDE0LjM3LDI0Ljk4TDEzLjc1LDI0LjkyTDEzLjEzLDI0LjgyTDEy
LjUxLDI0LjY5TDExLjkxLDI0LjUxTDExLjMyLDI0LjMwTDEwLjc0LDI0LjA1TDEwLjE4LDIzLjc2
TDkuNjQsMjMuNDRMOS4xMiwyMy4wOUw4LjYzLDIyLjcxTDguMTUsMjIuMjlMNy43MSwyMS44NUw3
LjI5LDIxLjM3TDYuOTEsMjAuODhMNi41NiwyMC4zNkw2LjI0LDE5LjgyTDUuOTUsMTkuMjZMNS43
MCwxOC42OEw1LjQ5LDE4LjA5TDUuMzEsMTcuNDlMNS4xOCwxNi44N0w1LjA4LDE2LjI1TDUuMDIs
MTUuNjNMNS4wMCwxNS4wMEw1LjAyLDE0LjM3TDUuMDgsMTMuNzVMNS4xOCwxMy4xM0w1LjMxLDEy
LjUxTDUuNDksMTEuOTFMNS43MCwxMS4zMkw1Ljk1LDEwLjc0TDYuMjQsMTAuMThMNi41Niw5LjY0
TDYuOTEsOS4xMkw3LjI5LDguNjNMNy43MSw4LjE1TDguMTUsNy43MUw4LjYzLDcuMjlMOS4xMiw2
LjkxTDkuNjQsNi41NkwxMC4xOCw2LjI0TDEwLjc0LDUuOTVMMTEuMzIsNS43MEwxMS45MSw1LjQ5
TDEyLjUxLDUuMzFMMTMuMTMsNS4xOEwxMy43NSw1LjA4TDE0LjM3LDUuMDJMMTUuMDAsNS4wMEwx
NS42Myw1LjAyTDE2LjI1LDUuMDhMMTYuODcsNS4xOEwxNy40OSw1LjMxTDE4LjA5LDUuNDlMMTgu
NjgsNS43MEwxOS4yNiw1Ljk1TDE5LjgyLDYuMjRMMjAuMzYsNi41NkwyMC44OCw2LjkxTDIxLjM3
LDcuMjlMMjEuODUsNy43MUwyMi4yOSw4LjE1TDIyLjcxLDguNjNMMjMuMDksOS4xMkwyMy40NCw5
LjY0TDIzLjc2LDEwLjE4TDI0LjA1LDEwLjc0TDI0LjMwLDExLjMyTDI0LjUxLDExLjkxTDI0LjY5
LDEyLjUxTDI0LjgyLDEzLjEzTDI0LjkyLDEzLjc1TDI0Ljk4LDE0LjM3Il0KKyAgICAgICAgICAg
ICAgICBLQ2FudmFzSXRlbSB7Y2lyY2xlfSBhdCAoMjY3LjUwLDEyMi4wOCkgc2l6ZSA1eDcuNTAg
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTEzLjUwLDEyLjAw
TDEzLjUwLDEyLjA5TDEzLjQ5LDEyLjE5TDEzLjQ3LDEyLjI4TDEzLjQ1LDEyLjM3TDEzLjQzLDEy
LjQ2TDEzLjM5LDEyLjU1TDEzLjM2LDEyLjY0TDEzLjMxLDEyLjcyTDEzLjI3LDEyLjgwTDEzLjIx
LDEyLjg4TDEzLjE2LDEyLjk2TDEzLjA5LDEzLjAzTDEzLjAzLDEzLjA5TDEyLjk2LDEzLjE2TDEy
Ljg4LDEzLjIxTDEyLjgwLDEzLjI3TDEyLjcyLDEzLjMxTDEyLjY0LDEzLjM2TDEyLjU1LDEzLjM5
TDEyLjQ2LDEzLjQzTDEyLjM3LDEzLjQ1TDEyLjI4LDEzLjQ3TDEyLjE5LDEzLjQ5TDEyLjA5LDEz
LjUwTDEyLjAwLDEzLjUwTDExLjkxLDEzLjUwTDExLjgxLDEzLjQ5TDExLjcyLDEzLjQ3TDExLjYz
LDEzLjQ1TDExLjU0LDEzLjQzTDExLjQ1LDEzLjM5TDExLjM2LDEzLjM2TDExLjI4LDEzLjMxTDEx
LjIwLDEzLjI3TDExLjEyLDEzLjIxTDExLjA0LDEzLjE2TDEwLjk3LDEzLjA5TDEwLjkxLDEzLjAz
TDEwLjg0LDEyLjk2TDEwLjc5LDEyLjg4TDEwLjczLDEyLjgwTDEwLjY5LDEyLjcyTDEwLjY0LDEy
LjY0TDEwLjYxLDEyLjU1TDEwLjU3LDEyLjQ2TDEwLjU1LDEyLjM3TDEwLjUzLDEyLjI4TDEwLjUx
LDEyLjE5TDEwLjUwLDEyLjA5TDEwLjUwLDEyLjAwTDEwLjUwLDExLjkxTDEwLjUxLDExLjgxTDEw
LjUzLDExLjcyTDEwLjU1LDExLjYzTDEwLjU3LDExLjU0TDEwLjYxLDExLjQ1TDEwLjY0LDExLjM2
TDEwLjY5LDExLjI4TDEwLjczLDExLjIwTDEwLjc5LDExLjEyTDEwLjg0LDExLjA0TDEwLjkxLDEw
Ljk3TDEwLjk3LDEwLjkxTDExLjA0LDEwLjg0TDExLjEyLDEwLjc5TDExLjIwLDEwLjczTDExLjI4
LDEwLjY5TDExLjM2LDEwLjY0TDExLjQ1LDEwLjYxTDExLjU0LDEwLjU3TDExLjYzLDEwLjU1TDEx
LjcyLDEwLjUzTDExLjgxLDEwLjUxTDExLjkxLDEwLjUwTDEyLjAwLDEwLjUwTDEyLjA5LDEwLjUw
TDEyLjE5LDEwLjUxTDEyLjI4LDEwLjUzTDEyLjM3LDEwLjU1TDEyLjQ2LDEwLjU3TDEyLjU1LDEw
LjYxTDEyLjY0LDEwLjY0TDEyLjcyLDEwLjY5TDEyLjgwLDEwLjczTDEyLjg4LDEwLjc5TDEyLjk2
LDEwLjg0TDEzLjAzLDEwLjkxTDEzLjA5LDEwLjk3TDEzLjE2LDExLjA0TDEzLjIxLDExLjEyTDEz
LjI3LDExLjIwTDEzLjMxLDExLjI4TDEzLjM2LDExLjM2TDEzLjM5LDExLjQ1TDEzLjQzLDExLjU0
TDEzLjQ1LDExLjYzTDEzLjQ3LDExLjcyTDEzLjQ5LDExLjgxTDEzLjUwLDExLjkxIl0KKyAgICAg
ICAgICAgICAgICBLQ2FudmFzSXRlbSB7Y2lyY2xlfSBhdCAoMjc1LjgzLDEyMi4wOCkgc2l6ZSA1
eDcuNTAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTE4LjUw
LDEyLjAwTDE4LjUwLDEyLjA5TDE4LjQ5LDEyLjE5TDE4LjQ3LDEyLjI4TDE4LjQ1LDEyLjM3TDE4
LjQzLDEyLjQ2TDE4LjM5LDEyLjU1TDE4LjM2LDEyLjY0TDE4LjMxLDEyLjcyTDE4LjI3LDEyLjgw
TDE4LjIxLDEyLjg4TDE4LjE2LDEyLjk2TDE4LjA5LDEzLjAzTDE4LjAzLDEzLjA5TDE3Ljk2LDEz
LjE2TDE3Ljg4LDEzLjIxTDE3LjgwLDEzLjI3TDE3LjcyLDEzLjMxTDE3LjY0LDEzLjM2TDE3LjU1
LDEzLjM5TDE3LjQ2LDEzLjQzTDE3LjM3LDEzLjQ1TDE3LjI4LDEzLjQ3TDE3LjE5LDEzLjQ5TDE3
LjA5LDEzLjUwTDE3LjAwLDEzLjUwTDE2LjkxLDEzLjUwTDE2LjgxLDEzLjQ5TDE2LjcyLDEzLjQ3
TDE2LjYzLDEzLjQ1TDE2LjU0LDEzLjQzTDE2LjQ1LDEzLjM5TDE2LjM2LDEzLjM2TDE2LjI4LDEz
LjMxTDE2LjIwLDEzLjI3TDE2LjEyLDEzLjIxTDE2LjA0LDEzLjE2TDE1Ljk3LDEzLjA5TDE1Ljkx
LDEzLjAzTDE1Ljg0LDEyLjk2TDE1Ljc5LDEyLjg4TDE1LjczLDEyLjgwTDE1LjY5LDEyLjcyTDE1
LjY0LDEyLjY0TDE1LjYxLDEyLjU1TDE1LjU3LDEyLjQ2TDE1LjU1LDEyLjM3TDE1LjUzLDEyLjI4
TDE1LjUxLDEyLjE5TDE1LjUwLDEyLjA5TDE1LjUwLDEyLjAwTDE1LjUwLDExLjkxTDE1LjUxLDEx
LjgxTDE1LjUzLDExLjcyTDE1LjU1LDExLjYzTDE1LjU3LDExLjU0TDE1LjYxLDExLjQ1TDE1LjY0
LDExLjM2TDE1LjY5LDExLjI4TDE1LjczLDExLjIwTDE1Ljc5LDExLjEyTDE1Ljg0LDExLjA0TDE1
LjkxLDEwLjk3TDE1Ljk3LDEwLjkxTDE2LjA0LDEwLjg0TDE2LjEyLDEwLjc5TDE2LjIwLDEwLjcz
TDE2LjI4LDEwLjY5TDE2LjM2LDEwLjY0TDE2LjQ1LDEwLjYxTDE2LjU0LDEwLjU3TDE2LjYzLDEw
LjU1TDE2LjcyLDEwLjUzTDE2LjgxLDEwLjUxTDE2LjkxLDEwLjUwTDE3LjAwLDEwLjUwTDE3LjA5
LDEwLjUwTDE3LjE5LDEwLjUxTDE3LjI4LDEwLjUzTDE3LjM3LDEwLjU1TDE3LjQ2LDEwLjU3TDE3
LjU1LDEwLjYxTDE3LjY0LDEwLjY0TDE3LjcyLDEwLjY5TDE3LjgwLDEwLjczTDE3Ljg4LDEwLjc5
TDE3Ljk2LDEwLjg0TDE4LjAzLDEwLjkxTDE4LjA5LDEwLjk3TDE4LjE2LDExLjA0TDE4LjIxLDEx
LjEyTDE4LjI3LDExLjIwTDE4LjMxLDExLjI4TDE4LjM2LDExLjM2TDE4LjM5LDExLjQ1TDE4LjQz
LDExLjU0TDE4LjQ1LDExLjYzTDE4LjQ3LDExLjcyTDE4LjQ5LDExLjgxTDE4LjUwLDExLjkxIl0K
KyAgICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7cGF0aH0gYXQgKDI2NS42MywxNDEuMzgpIHNp
emUgMTguNzV4MTUuMTUgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ry
b2tlIHdpZHRoPTIuMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBb
ZGF0YT0iTTEwLjAwLDE5LjAwTDE1LjAwLDIzLjAwTDIwLjAwLDE5LjAwIl0KSW5kZXg6IExheW91
dFRlc3RzL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC5zdmcKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3lu
dGF4LnN2ZwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vcHJlc2VydmUt
YXNwZWN0LXJhdGlvLXN5bnRheC5zdmcJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzMgQEAKKzw/
eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJ
QyAiLS8vVzNDLy9EVEQgU1ZHIDEuMSBCYXNpYy8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFw
aGljcy9TVkcvMS4xL0RURC9zdmcxMS1iYXNpYy5kdGQiIFsKKwk8IUVOVElUWSBTbWlsZSAiCis8
cmVjdCB4PScuNScgeT0nLjUnIHdpZHRoPScyOScgaGVpZ2h0PSczOScgZmlsbD0nYmxhY2snIHN0
cm9rZT0ncmVkJy8+Cis8ZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLCA1KSc+Cis8Y2lyY2xlIGN4
PScxNScgY3k9JzE1JyByPScxMCcgZmlsbD0neWVsbG93Jy8+Cis8Y2lyY2xlIGN4PScxMicgY3k9
JzEyJyByPScxLjUnIGZpbGw9J2JsYWNrJy8+Cis8Y2lyY2xlIGN4PScxNycgY3k9JzEyJyByPScx
LjUnIGZpbGw9J2JsYWNrJy8+Cis8cGF0aCBkPSdNIDEwIDE5IEwgMTUgMjMgMjAgMTknIHN0cm9r
ZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMicvPgorPC9nPgorIj4KKwk8IUVOVElUWSBWaWV3cG9y
dDIgIjxyZWN0IHg9Jy41JyB5PScuNScgd2lkdGg9JzI5JyBoZWlnaHQ9JzU5JworZmlsbD0nbm9u
ZScgc3Ryb2tlPSdibHVlJy8+Ij4KK10+Cis8c3ZnIHZlcnNpb249IjEuMSIgYmFzZVByb2ZpbGU9
ImJhc2ljIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJo
dHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnLXJvb3QiIHdpZHRoPSIxMDAlIiBo
ZWlnaHQ9IjEwMCUiIHZpZXdCb3g9IjAgMCA0ODAgMzYwIj4KKwk8ZyBpZD0idGVzdC1ib2R5LWNv
bnRlbnQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsIDApIj4KKwkJPGcgZm9udC1zaXplPSI5Ij4K
KwkJCTx0ZXh0IHg9IjAiIHk9IjMwIj5BbGwgc3ZncyBiZWxvdyBzaG91bGQgbG9vayB0aGUgc2Ft
ZSwgc2luY2UgYWxsIGhhdmUgcHJlc2VydmVBc3BlY3RSYXRpbyB3aXRoIHN5bnRheCBlcnJvcnMg
YW5kIGRlZmF1bHQgc2hvdWxkIGJlIGNob3Nlbi48L3RleHQ+CisJCTxnIGlkPSJtZWV0LWdyb3Vw
LTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsIDUwKSI+CisgICAgICAgICA8c3ZnIHZlcnNpb249
IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0
cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSIgdmll
d0JveD0iMCAwIDMwIDQwIiB3aWR0aD0iMzAiIGhlaWdodD0iNjAiPiZTbWlsZTs8L3N2Zz4KKwkJ
CTwvZz4KKwkJCTxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwLCA1MCkiPgorICAgICAgICAgPHN2
ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6
eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89
ImRlZmVyIiB2aWV3Qm94PSIwIDAgMzAgNDAiIHdpZHRoPSIzMCIgaGVpZ2h0PSI2MCI+JlNtaWxl
Ozwvc3ZnPgorCQkJPC9nPgorCQkJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAwLCA1MCkiPgor
ICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZl
QXNwZWN0UmF0aW89ImRlZmVyIG1lZXQiIHZpZXdCb3g9IjAgMCAzMCA0MCIgd2lkdGg9IjMwIiBo
ZWlnaHQ9IjYwIj4mU21pbGU7PC9zdmc+CisJCQk8L2c+CisJCQk8ZyB0cmFuc2Zvcm09InRyYW5z
bGF0ZSgxNTAsIDUwKSI+CisgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5
OS94bGluayIgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgeE1pZFlNaWQgbWVldCBhIiB2aWV3
Qm94PSIwIDAgMzAgNDAiIHdpZHRoPSIzMCIgaGVpZ2h0PSI2MCI+JlNtaWxlOzwvc3ZnPgorCQkJ
PC9nPgorICAgICAgICAgICAgPC9nPgorCTwvZz4KKzwvc3ZnPgpJbmRleDogTGF5b3V0VGVzdHMv
c3ZnL2N1c3RvbS90cmFuc2Zvcm0taW52YWxpZC1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RyYW5zZm9ybS1pbnZhbGlkLWV4cGVjdGVkLmNo
ZWNrc3VtCShyZXZpc2lvbiAxNjc4MSkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vdHJhbnNm
b3JtLWludmFsaWQtZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAK
LTc3ODgwM2RmMGE4MjRlZDhmMmM3ZGZhMDdjNTY4MzJlClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQorYmVkMjNiMGI0NGI2MTU1YWNiNmY1YjhjYzRiZTQxMDAKXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RyYW5zZm9ybS1pbnZhbGlk
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RyYW5z
Zm9ybS1pbnZhbGlkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTY3ODEpCisrKyBMYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL3RyYW5zZm9ybS1pbnZhbGlkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDcgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJW
aWV3IGF0ICgwLDApIHNpemUgODAweDYwMAotICAgIEtDYW52YXNDb250YWluZXIge3N2Z30gYXQg
KDAsMCkgc2l6ZSAxMDB4MTAwCi0gICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQgKDAsMCkgc2l6
ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0w
LjAwLDAuMDBMMTAwLjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCi0gICAgICBL
Q2FudmFzSXRlbSB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBMMTAwLjAw
LDEwMC4wMEwwLjAwLDEwMC4wMCJdCisgICAgS0NhbnZhc0NvbnRhaW5lciB7c3ZnfSBhdCAoMTAs
MCkgc2l6ZSA0MzB4MTAwCisgICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQgKDEwLDApIHNpemUg
MTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMTAu
MDAsMC4wMEwxMTAuMDAsMC4wMEwxMTAuMDAsMTAwLjAwTDEwLjAwLDEwMC4wMCJdCisgICAgICBL
Q2FudmFzSXRlbSB7cmVjdH0gYXQgKDEyMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNP
TElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTEyMC4wMCwwLjAwTDIyMC4wMCwwLjAwTDIy
MC4wMCwxMDAuMDBMMTIwLjAwLDEwMC4wMCJdCisgICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQg
KDIzMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19
XSBbZGF0YT0iTTIzMC4wMCwwLjAwTDMzMC4wMCwwLjAwTDMzMC4wMCwxMDAuMDBMMjMwLjAwLDEw
MC4wMCJdCisgICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQgKDM0MCwwKSBzaXplIDEwMHgxMDAg
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTM0MC4wMCwwLjAw
TDQ0MC4wMCwwLjAwTDQ0MC4wMCwxMDAuMDBMMzQwLjAwLDEwMC4wMCJdCkluZGV4OiBMYXlvdXRU
ZXN0cy9zdmcvY3VzdG9tL3RyYW5zZm9ybS1pbnZhbGlkLnN2Zwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3RyYW5zZm9ybS1pbnZhbGlkLnN2ZwkocmV2aXNpb24gMTY3ODEp
CisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RyYW5zZm9ybS1pbnZhbGlkLnN2Zwkod29ya2lu
ZyBjb3B5KQpAQCAtMSw3ICsxLDkgQEAKIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVU
Ri04IiBzdGFuZGFsb25lPSJubyI/PgogPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFRE
IFNWRyAxLjAvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMtU1ZHLTIwMDEwOTA0
L0RURC9zdmcxMC5kdGQiPgotPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+Cis8c3ZnIHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjgwMCIgaGVpZ2h0PSIxMDAi
PgogICAgIDwhLS0gQm90aCBvZiB0aGVzZSBwcmV2aW91c2x5IGNhdXNlZCBjcmFzaGVzLCBidXQg
bm93IHNob3VsZCBiZSBpZ25vcmVkLiAtLT4KLQk8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEw
MCIgdHJhbnNmb3JtPSJzY2FsZSgpIiBmaWxsPSJncmVlbiIvPgotCTxyZWN0IHdpZHRoPSIxMDAi
IGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09ImZvbygxLDEpIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0
IHg9IjEwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJzY2FsZSgpIiBmaWxs
PSJncmVlbiIvPgorCTxyZWN0IHg9IjEyMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHRyYW5z
Zm9ybT0iZm9vKDEsMSkiIGZpbGw9ImdyZWVuIi8+CisJPHJlY3QgeD0iMjMwIiB3aWR0aD0iMTAw
IiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSIiIGZpbGw9ImdyZWVuIi8+CisJPHJlY3QgeD0iMzQw
IiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJmb28oNSksIiBmaWxsPSJncmVl
biIvPgogPC9zdmc+CkluZGV4OiBXZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDE2NzgxKQorKysgV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNTgyLDcgKzU4Miw3IEBAIHNldCAoU1ZHX1NP
VVJDRVMKICAgICBrc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCiAgICAga3N2ZzIvc3ZnL1NW
R1N0eWxlZEVsZW1lbnQuY3BwCiAgICAga3N2ZzIvc3ZnL1NWR0ZFTWVyZ2VOb2RlRWxlbWVudC5j
cHAKLSAgICBrc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5jcHAKKyAgICBrc3ZnMi9zdmcvU1ZHUGFy
c2VyVXRpbHMuY3BwCiAgICAga3N2ZzIvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5jcHAK
ICAgICBrc3ZnMi9zdmcvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmNwcAogICAgIGtzdmcyL3N2
Zy9TVkdGRURpc3BsYWNlbWVudE1hcEVsZW1lbnQuY3BwCkluZGV4OiBXZWJDb3JlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY3ODEpCisrKyBX
ZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEwMSBAQAorMjAwNi0x
MC0wNCAgUm9iIEJ1aXMgIDxidWlzQGtkZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTExMDgKKyAgICAgICAgUmVwbGFjZSB1c2FnZSBvZiBzcGxpdCBieSBwcm9wZXIgcGFy
c2VycworCisgICAgICAgIEdldCByaWQgb2YgYWxsIHVzZXMgb2Ygc3BsaXQoKSBpbiBrc3ZnIGFu
ZCByZW9yZ2FuaXplCisgICAgICAgIHN2ZyBwYXJzaW5nIGZ1bmN0aW9ucyBpbiB0aGUgcHJvY2Vz
cy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgLSByZW5hbWUgc3ZncGF0aHBhcnNlci4qIHRv
IFNWR1BhcnNlclV0aWxzLioKKworICAgICAgICAqIGtzdmcyL3N2Zy9TVkdBbmltYXRpb25FbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGlvbkVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKToKKyAgICAgICAgLSB1c2UgU1ZHU3RyaW5nTGlzdDo6cGFyc2UgaW5zdGVh
ZCBvZiBwYXJzZVNlcGFyYXRlZExpc3QKKworICAgICAgICAqIGtzdmcyL3N2Zy9TVkdDb2xvci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdDb2xvcjo6c2V0UkdCQ29sb3IpOgorICAgICAgICAt
IHVzZSBmdW5jdGlvbnMgZnJvbSBTVkdQYXJzZXJVdGlscyBpbnN0ZWFkIG9mIHNwbGl0CisKKyAg
ICAgICAgKiBrc3ZnMi9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRy
aWJ1dGUpOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZSk6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0Vs
ZW1lbnQuY3BwOgorICAgICAgICAoU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudDo6cGFyc2VN
YXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQ6OnBhcnNl
TWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgLSB1c2UgU1ZHU3RyaW5nTGlzdDo6cGFyc2UgaW5z
dGVhZCBvZiBzcGxpdAorCisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTVkdGaXRUb1ZpZXdCb3g6OnBhcnNlVmlld0JveCk6CisgICAg
ICAgIC0gcmV3cml0ZSBwYXJzZXIgdXNpbmcgZnVuY3Rpb25zIGZyb20gU1ZHUGFyc2VyVXRpbHMg
aW5zdGVhZCBvZiBzcGxpdAorCisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0hlbHBlci5jcHA6Cisg
ICAgICAgICoga3N2ZzIvc3ZnL1NWR0hlbHBlci5oOgorICAgICAgICAtICBwYXJzZURlcHJlY2F0
ZWRMaXN0IGlzIG5vdyBTVkdTdHJpbmdMaXN0OjpwYXJzZQorCisgICAgICAgICoga3N2ZzIvc3Zn
L1NWR0xlbmd0aC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGg6OnNldFZhbHVlQXNT
dHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoOjp0cnlQYXJzZUxlbmd0aFVuaXQp
OgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdMZW5ndGguaDoKKyAgICAgICAgLSB1c2UgZnVuY3Rp
b25zIGZyb20gU1ZHUGFyc2VyVXRpbHMgaW5zdGVhZCBvZiBzcGxpdAorICAgICAgICAtIG1vdmUg
cGFyc2luZyBvZiB1bml0cyBpbnRvIHRyeVBhcnNlTGVuZ3RoVW5pdCwgdG8KKyAgICAgICAgICBi
ZSByZXVzZWQgYnkgU1ZHTGVuZ3RoTGlzdAorCisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0xlbmd0
aExpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3RoTGlzdDo6cGFyc2UpOgorICAg
ICAgICAtIHVzZSBmdW5jdGlvbnMgZnJvbSBTVkdQYXJzZXJVdGlscyBpbnN0ZWFkIG9mIHNwbGl0
CisKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHTnVtYmVyTGlzdC5jcHA6CisgICAgICAgIChTVkdO
dW1iZXJMaXN0OjpwYXJzZSk6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR051bWJlckxpc3QuaDoK
KyAgICAgICAgLSB1c2UgZnVuY3Rpb25zIGZyb20gU1ZHUGFyc2VyVXRpbHMgaW5zdGVhZCBvZiBz
cGxpdAorCisgICAgICAgICoga3N2ZzIvc3ZnL1NWR1BhcnNlclV0aWxzLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpwYXJzZUNvb3JkKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BvbHlQ
YXJzZXI6OnBhcnNlUG9pbnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhQYXJzZXI6OnBh
cnNlU1ZHKToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHUGFyc2VyVXRpbHMuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjppc1doaXRlc3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6c2tpcE9w
dGlvbmFsU3BhY2VzKToKKyAgICAgICAgKFdlYkNvcmU6OnNraXBPcHRpb25hbFNwYWNlc09yQ29t
bWEpOgorICAgICAgICAoV2ViQ29yZTo6dHJ5UGFyc2VDb29yZCk6CisgICAgICAgIChXZWJDb3Jl
Ojp0cnlQYXJzZU51bWJlckxpc3QpOgorICAgICAgICAtIG1vdmUgcHJpdmF0ZSBwYXJzaW5nIGhl
bHBlciBmdW5jdGlvbnMgaW50byB0aGUgaGVhZGVyCisgICAgICAgIC0gdXNlIFVDaGFyKiBpbnN0
ZWFkIG9mIGNoYXIqCisgICAgICAgIC0gYWRkIHRyeVBhcnNlTnVtYmVyTGlzdCBmb3Igc2ltcGxl
IG51bWJlciBsaXN0cworCisgICAgICAgICoga3N2ZzIvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6
CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR1BhdGhFbGVtZW50Lmg6CisgICAgICAgICoga3N2ZzIv
c3ZnL1NWR1BvbHlFbGVtZW50LmNwcDoKKyAgICAgICAgKFNWR1BvbHlFbGVtZW50OjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZSk6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR1BvbHlFbGVtZW50Lmg6Cisg
ICAgICAgIC0gYWRqdXN0IHRvIHN2Z3BhdGhwYXJzZXIgcmVuYW1lCisKKyAgICAgICAgKiBrc3Zn
Mi9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdQ
cmVzZXJ2ZUFzcGVjdFJhdGlvOjpwYXJzZVByZXNlcnZlQXNwZWN0UmF0aW8pOgorICAgICAgICAt
IHJld3JpdGUgcGFyc2VyIHVzaW5nIGZ1bmN0aW9ucyBmcm9tIFNWR1BhcnNlclV0aWxzIGluc3Rl
YWQgb2Ygc3BsaXQKKyAgICAgICAgLSB0YWtlIGludG8gYWNjb3VudCB0aGUga2V5d29yZCAnZGVm
ZXInLCB0aG91Z2ggd2UgZG8gbm90IHVzZSBpdCB5ZXQKKworICAgICAgICAqIGtzdmcyL3N2Zy9T
VkdTdHJpbmdMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1N0cmluZ0xpc3Q6OnBhcnNl
KToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHU3RyaW5nTGlzdC5oOgorICAgICAgICAtIGFkZCBt
ZXRob2QgcGFyc2Ugd2hpY2ggcmVwbGFjZXMgU1ZHSGVscGVyOjpwYXJzZVNlcGFyYXRlZExpc3QK
KyAgICAgICAgLSB1c2UgZnVuY3Rpb25zIGZyb20gU1ZHUGFyc2VyVXRpbHMgaW5zdGVhZCBvZiBz
cGxpdAorCisgICAgICAgICoga3N2ZzIvc3ZnL1NWR1RyYW5zZm9ybWFibGUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6cGFyc2VUcmFuc2Zvcm1QYXJhbUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHVHJhbnNmb3JtYWJsZTo6cGFyc2VUcmFuc2Zvcm1BdHRyaWJ1dGUpOgorICAgICAgICAtIHJl
d3JpdGUgcGFyc2VyIHVzaW5nIGZ1bmN0aW9ucyBmcm9tIFNWR1BhcnNlclV0aWxzIGluc3RlYWQg
b2Ygc3BsaXQKKworICAgICAgICAqIGtzdmcyL3N2Zy9zdmdwYXRocGFyc2VyLmNwcDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBrc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5oOiBSZW1vdmVkLgorCiAyMDA2
LTEwLTA0ICBBbmRlcnMgQ2FybHNzb24gIDxhY2FybHNzb25AYXBwbGUuY29tPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEpvaG4gU3VsbGl2YW4uCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTY3ODEpCisrKyBXZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTY5NCw4ICsxNjk0
LDggQEAKIAkJQTg4QUQ0QTkwOTUyNDhGMDAwMUREMTk2IC8qIFNWR1BhaW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEMwRjg4QjA4OTcwMUYzMDBC
QTUxMTQgLyogU1ZHUGFpbnQuaCAqLzsgfTsKIAkJQTg4QUQ0QUEwOTUyNDhGMDAwMUREMTk2IC8q
IFNWR1BhdGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE4QzBGODhDMDg5NzAxRjMwMEJBNTExNCAvKiBTVkdQYXRoRWxlbWVudC5jcHAg
Ki87IH07CiAJCUE4OEFENEFCMDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXRoRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThDMEY4OEQwODk3
MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhFbGVtZW50LmggKi87IH07Ci0JCUE4OEFENEFDMDk1MjQ4
RjAwMDFERDE5NiAvKiBzdmdwYXRocGFyc2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QzBGODhFMDg5NzAxRjMwMEJBNTExNCAvKiBzdmdwYXRo
cGFyc2VyLmNwcCAqLzsgfTsKLQkJQTg4QUQ0QUQwOTUyNDhGMDAwMUREMTk2IC8qIHN2Z3BhdGhw
YXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4
QzBGODhGMDg5NzAxRjMwMEJBNTExNCAvKiBzdmdwYXRocGFyc2VyLmggKi87IH07CisJCUE4OEFE
NEFDMDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXJzZXJVdGlscy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEMwRjg4RTA4OTcwMUYzMDBCQTUxMTQg
LyogU1ZHUGFyc2VyVXRpbHMuY3BwICovOyB9OworCQlBODhBRDRBRDA5NTI0OEYwMDAxREQxOTYg
LyogU1ZHUGFyc2VyVXRpbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE4QzBGODhGMDg5NzAxRjMwMEJBNTExNCAvKiBTVkdQYXJzZXJVdGlscy5oICov
OyB9OwogCQlBODhBRDRBRTA5NTI0OEYwMDAxREQxOTYgLyogU1ZHUGF0aFNlZ0FyYy5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEMwRjg5MDA4OTcw
MUYzMDBCQTUxMTQgLyogU1ZHUGF0aFNlZ0FyYy5jcHAgKi87IH07CiAJCUE4OEFENEFGMDk1MjQ4
RjAwMDFERDE5NiAvKiBTVkdQYXRoU2VnQXJjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBOEMwRjg5MTA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0aFNl
Z0FyYy5oICovOyB9OwogCQlBODhBRDRCMDA5NTI0OEYwMDAxREQxOTYgLyogU1ZHUGF0aFNlZ0Ns
b3NlUGF0aC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBOEMwRjg5MjA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0aFNlZ0Nsb3NlUGF0aC5jcHAgKi87
IH07CkBAIC00MTQxLDggKzQxNDEsOCBAQAogCQlBOEMwRjg4QjA4OTcwMUYzMDBCQTUxMTQgLyog
U1ZHUGFpbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTVkdQYWludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVz
ZXNUYWJzID0gMDsgfTsKIAkJQThDMEY4OEMwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhFbGVt
ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBp
bmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU1ZHUGF0aEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0
aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJQThDMEY4OEQwODk3MDFGMzAwQkE1MTE0IC8qIFNW
R1BhdGhFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU1ZHUGF0aEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lk
dGggPSA4OyB1c2VzVGFicyA9IDA7IH07Ci0JCUE4QzBGODhFMDg5NzAxRjMwMEJBNTExNCAvKiBz
dmdwYXRocGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gc3ZncGF0aHBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwotCQlBOEMwRjg4RjA4OTcwMUYzMDBCQTUx
MTQgLyogc3ZncGF0aHBhcnNlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IHN2Z3BhdGhwYXJzZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
dGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CisJCUE4QzBGODhFMDg5NzAxRjMwMEJBNTEx
NCAvKiBTVkdQYXJzZXJVdGlscy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhcnNlclV0aWxzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CisJCUE4QzBGODhGMDg5NzAx
RjMwMEJBNTExNCAvKiBTVkdQYXJzZXJVdGlscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhcnNlclV0aWxzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlBOEMwRjg5MDA4OTcw
MUYzMDBCQTUxMTQgLyogU1ZHUGF0aFNlZ0FyYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhdGhTZWdBcmMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJQThDMEY4
OTEwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhTZWdBcmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnQXJjLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlBOEMwRjg5
MjA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0aFNlZ0Nsb3NlUGF0aC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhdGhTZWdDbG9z
ZVBhdGguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJz
ID0gMDsgfTsKQEAgLTcxNjcsOCArNzE2Nyw4IEBACiAJCQkJQjJFOTU0OEUwQUI1RkJBMzAwNzZE
RTM3IC8qIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaWRsICovLAogCQkJCUE4QzBGODhDMDg5NzAx
RjMwMEJBNTExNCAvKiBTVkdQYXRoRWxlbWVudC5jcHAgKi8sCiAJCQkJQThDMEY4OEQwODk3MDFG
MzAwQkE1MTE0IC8qIFNWR1BhdGhFbGVtZW50LmggKi8sCi0JCQkJQThDMEY4OEUwODk3MDFGMzAw
QkE1MTE0IC8qIHN2Z3BhdGhwYXJzZXIuY3BwICovLAotCQkJCUE4QzBGODhGMDg5NzAxRjMwMEJB
NTExNCAvKiBzdmdwYXRocGFyc2VyLmggKi8sCisJCQkJQThDMEY4OEUwODk3MDFGMzAwQkE1MTE0
IC8qIFNWR1BhcnNlclV0aWxzLmNwcCAqLywKKwkJCQlBOEMwRjg4RjA4OTcwMUYzMDBCQTUxMTQg
LyogU1ZHUGFyc2VyVXRpbHMuaCAqLywKIAkJCQlBOEMwRjg5QzA4OTcwMUYzMDBCQTUxMTQgLyog
U1ZHUGF0aFNlZy5jcHAgKi8sCiAJCQkJQThDMEY4OUQwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1Bh
dGhTZWcuaCAqLywKIAkJCQlBOEMwRjg5MDA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0aFNlZ0Fy
Yy5jcHAgKi8sCkBAIC04MjkzLDcgKzgyOTMsNyBAQAogCQkJCUE4OEFENEE3MDk1MjQ4RjAwMDFE
RDE5NiAvKiBTVkdOdW1iZXJMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODhBRDRBOTA5NTI0
OEYwMDAxREQxOTYgLyogU1ZHUGFpbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4OEFENEFCMDk1
MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQTg4
QUQ0QUQwOTUyNDhGMDAwMUREMTk2IC8qIHN2Z3BhdGhwYXJzZXIuaCBpbiBIZWFkZXJzICovLAor
CQkJCUE4OEFENEFEMDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXJzZXJVdGlscy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTg4QUQ0QUYwOTUyNDhGMDAwMUREMTk2IC8qIFNWR1BhdGhTZWdBcmMuaCBp
biBIZWFkZXJzICovLAogCQkJCUE4OEFENEIxMDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXRoU2Vn
Q2xvc2VQYXRoLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODhBRDRCMzA5NTI0OEYwMDAxREQxOTYg
LyogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYy5oIGluIEhlYWRlcnMgKi8sCkBAIC05NjExLDcgKzk2
MTEsNyBAQAogCQkJCUE4OEFENEE2MDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdOdW1iZXJMaXN0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUE4OEFENEE4MDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYWlu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODhBRDRBQTA5NTI0OEYwMDAxREQxOTYgLyogU1ZH
UGF0aEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQTg4QUQ0QUMwOTUyNDhGMDAwMURE
MTk2IC8qIHN2Z3BhdGhwYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTg4QUQ0QUMwOTUy
NDhGMDAwMUREMTk2IC8qIFNWR1BhcnNlclV0aWxzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4
OEFENEFFMDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXRoU2VnQXJjLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE4OEFENEIwMDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXRoU2VnQ2xvc2VQYXRoLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUE4OEFENEIyMDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXRo
U2VnQ3VydmV0b0N1YmljLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogV2ViQ29yZS9rc3ZnMi9z
dmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9z
dmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAJKHJldmlzaW9uIDE2NzgxKQorKysgV2ViQ29yZS9r
c3ZnMi9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNiw3
ICsxMzYsNyBAQCB2b2lkIFNWR0FuaW1hdGlvbkVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0CiAgICAg
ICAgIFJlZlB0cjxTVkdTdHJpbmdMaXN0PiB0ZW1wID0gbmV3IFNWR1N0cmluZ0xpc3QoKTsKIAog
ICAgICAgICAvLyBGZWVkIGRhdGEgaW50byBsaXN0Ci0gICAgICAgIFNWR0hlbHBlcjo6cGFyc2VT
ZXBhcmF0ZWRMaXN0KHRlbXAuZ2V0KCksIHZhbHVlLCAnOycpOworICAgICAgICB0ZW1wLT5wYXJz
ZSh2YWx1ZSwgJzsnKTsKIAogICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKIApAQCAtMjUw
LDE3ICsyNTAsMTcgQEAgdm9pZCBTVkdBbmltYXRpb25FbGVtZW50OjpwYXJzZU1hcHBlZEF0dAog
ICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6dmFsdWVzQXR0cikKICAgICB7
CiAgICAgICAgIG1fdmFsdWVzID0gbmV3IFNWR1N0cmluZ0xpc3QoKTsKLSAgICAgICAgU1ZHSGVs
cGVyOjpwYXJzZVNlcGFyYXRlZExpc3QobV92YWx1ZXMuZ2V0KCksIHZhbHVlLCAnOycpOworICAg
ICAgICBtX3ZhbHVlcy0+cGFyc2UodmFsdWUsICc7Jyk7CiAgICAgfQogICAgIGVsc2UgaWYgKGF0
dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6a2V5VGltZXNBdHRyKQogICAgIHsKICAgICAgICAgbV9r
ZXlUaW1lcyA9IG5ldyBTVkdTdHJpbmdMaXN0KCk7Ci0gICAgICAgIFNWR0hlbHBlcjo6cGFyc2VT
ZXBhcmF0ZWRMaXN0KG1fa2V5VGltZXMuZ2V0KCksIHZhbHVlLCAnOycpOworICAgICAgICBtX2tl
eVRpbWVzLT5wYXJzZSh2YWx1ZSwgJzsnKTsKICAgICB9CiAgICAgZWxzZSBpZiAoYXR0ci0+bmFt
ZSgpID09IFNWR05hbWVzOjprZXlTcGxpbmVzQXR0cikKICAgICB7CiAgICAgICAgIG1fa2V5U3Bs
aW5lcyA9IG5ldyBTVkdTdHJpbmdMaXN0KCk7Ci0gICAgICAgIFNWR0hlbHBlcjo6cGFyc2VTZXBh
cmF0ZWRMaXN0KG1fa2V5U3BsaW5lcy5nZXQoKSwgdmFsdWUsICc7Jyk7CisgICAgICAgIG1fa2V5
U3BsaW5lcy0+cGFyc2UodmFsdWUsICc7Jyk7CiAgICAgfQogICAgIGVsc2UgaWYgKGF0dHItPm5h
bWUoKSA9PSBTVkdOYW1lczo6ZnJvbUF0dHIpCiAgICAgICAgIG1fZnJvbSA9IHZhbHVlOwpJbmRl
eDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHQ29sb3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
a3N2ZzIvc3ZnL1NWR0NvbG9yLmNwcAkocmV2aXNpb24gMTY3ODEpCisrKyBXZWJDb3JlL2tzdmcy
L3N2Zy9TVkdDb2xvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpZmRlZiBTVkdfU1VQUE9SVAogI2luY2x1ZGUgIlNWR0NvbG9yLmgi
CisjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbHMuaCIKIAogI2luY2x1ZGUgImtzdmcuaCIKIApAQCAt
MjI2LDI3ICsyMjcsNTIgQEAgdm9pZCBTVkdDb2xvcjo6c2V0UkdCQ29sb3IoY29uc3QgU3RyaW5n
JgogCiAgICAgU3RyaW5nIHBhcnNlID0gbV9yZ2JDb2xvci5zdHJpcFdoaXRlU3BhY2UoKTsKICAg
ICBpZiAocGFyc2Uuc3RhcnRzV2l0aCgicmdiKCIpKSB7Ci0gICAgICAgIFZlY3RvcjxTdHJpbmc+
IGNvbG9ycyA9IHBhcnNlLnNwbGl0KCcsJyk7Ci0gICAgICAgIFN0cmluZyByID0gY29sb3JzWzBd
LnJpZ2h0KChjb2xvcnNbMF0ubGVuZ3RoKCkgLSA0KSk7Ci0gICAgICAgIFN0cmluZyBnID0gY29s
b3JzWzFdOwotICAgICAgICBTdHJpbmcgYiA9IGNvbG9yc1syXS5sZWZ0KChjb2xvcnNbMl0ubGVu
Z3RoKCkgLSAxKSk7Ci0gICAgCi0gICAgICAgIGlmIChyLmNvbnRhaW5zKCIlIikpIHsKLSAgICAg
ICAgICAgIHIgPSByLmxlZnQoci5sZW5ndGgoKSAtIDEpOwotICAgICAgICAgICAgciA9IFN0cmlu
Zzo6bnVtYmVyKGludCgoKDI1NS4wICogci50b0RvdWJsZSgpKSAvIDEwMC4wKSkpOworICAgICAg
ICBpbnQgbm9ybWFsID0gMCwgcGVyY2VudGFnZXMgPSAwOworICAgICAgICBkb3VibGUgciA9IC0x
LCBnID0gLTEsIGIgPSAtMTsKKyAgICAgICAgY29uc3QgVUNoYXIqIHB0ciA9IHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgVUNoYXIqPihwYXJzZS5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigp
KSArIDQ7CisgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIpOworICAgICAgICBpZiAoIXRy
eVBhcnNlQ29vcmQocHRyLCByKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKCpw
dHIgPT0gJyUnKSB7CisgICAgICAgICAgICBwZXJjZW50YWdlcysrOworICAgICAgICAgICAgcHRy
Kys7CisgICAgICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXNPckRlbGltaXRlcihwdHIpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgbm9ybWFsKys7CisgICAgICAgICAgICBza2lwT3B0
aW9uYWxTcGFjZXMocHRyKTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChnLmNvbnRhaW5zKCIl
IikpIHsKLSAgICAgICAgICAgIGcgPSBnLmxlZnQoZy5sZW5ndGgoKSAtIDEpOwotICAgICAgICAg
ICAgZyA9IFN0cmluZzo6bnVtYmVyKGludCgoKDI1NS4wICogZy50b0RvdWJsZSgpKSAvIDEwMC4w
KSkpOworICAgICAgICBpZiAoIXRyeVBhcnNlQ29vcmQocHRyLCBnKSkKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgaWYgKCpwdHIgPT0gJyUnKSB7CisgICAgICAgICAgICBwZXJjZW50YWdl
cysrOworICAgICAgICAgICAgcHRyKys7CisgICAgICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXNP
ckRlbGltaXRlcihwdHIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbm9ybWFsKys7
CisgICAgICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsKICAgICAgICAgfQotICAgIAot
ICAgICAgICBpZiAoYi5jb250YWlucygiJSIpKSB7Ci0gICAgICAgICAgICBiID0gYi5sZWZ0KGIu
bGVuZ3RoKCkgLSAxKTsKLSAgICAgICAgICAgIGIgPSBTdHJpbmc6Om51bWJlcihpbnQoKCgyNTUu
MCAqIGIudG9Eb3VibGUoKSkgLyAxMDAuMCkpKTsKKworICAgICAgICBpZiAoIXRyeVBhcnNlQ29v
cmQocHRyLCBiKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKCpwdHIgPT0gJyUn
KSB7CisgICAgICAgICAgICBwZXJjZW50YWdlcysrOworICAgICAgICAgICAgcHRyKys7CisgICAg
ICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXNPckRlbGltaXRlcihwdHIpOworICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgbm9ybWFsKys7CisgICAgICAgICAgICBza2lwT3B0aW9uYWxTcGFj
ZXMocHRyKTsKICAgICAgICAgfQogCi0gICAgICAgIG1fY29sb3IgPSBDb2xvcihyLnRvSW50KCks
IGcudG9JbnQoKSwgYi50b0ludCgpKTsKKyAgICAgICAgaWYgKCpwdHIrKyAhPSAnKScpCisgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKHBlcmNlbnRhZ2VzID09IDMpCisgICAgICAg
ICAgICBtX2NvbG9yID0gQ29sb3IoaW50KCgyNTUuMCAqIHIpIC8gMTAwLjApLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCgoMjU1LjAgKiBnKSAvIDEwMC4wKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbnQoKDI1NS4wICogYikgLyAxMDAuMCkpOworICAgICAgICBlbHNl
IGlmIChub3JtYWwgPT0gMykKKyAgICAgICAgICAgIG1fY29sb3IgPSBDb2xvcihpbnQociksIGlu
dChnKSwgaW50KGIpKTsKICAgICB9IGVsc2UgewogICAgICAgICBTdHJpbmcgY29sb3JOYW1lID0g
bV9yZ2JDb2xvci5sb3dlcigpOwogLy8gICAgICAgIGludCBjb2wgPSBXZWJDb3JlOjpnZXRWYWx1
ZUlEKG5hbWUuYXNjaWkoKSwgbmFtZS5sZW5ndGgoKSk7CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2
Zy9TVkdGRUNvbG9yTWF0cml4RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3Zn
Mi9zdmcvU1ZHRkVDb2xvck1hdHJpeEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNjc4MSkKKysrIFdl
YkNvcmUva3N2ZzIvc3ZnL1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgImtzdmcuaCIKICNpbmNsdWRlICJTVkdOYW1l
cy5oIgogI2luY2x1ZGUgIlNWR0hlbHBlci5oIgorLy8jaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbHMu
aCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlNWR0ZFQ29sb3JNYXRy
aXhFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHTnVtYmVyTGlzdC5oIgpJbmRleDogV2ViQ29yZS9r
c3ZnMi9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQuY3BwCShyZXZpc2lv
biAxNjc4MSkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJrc3ZnLmgi
CiAjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdIZWxwZXIuaCIKKyNpbmNsdWRl
ICJTVkdQYXJzZXJVdGlscy5oIgogI2luY2x1ZGUgIlNWR1JlbmRlclN0eWxlLmgiCiAjaW5jbHVk
ZSAiU1ZHQ29sb3IuaCIKICNpbmNsdWRlICJTVkdGRUxpZ2h0RWxlbWVudC5oIgpAQCAtNjcsMTIg
KzY4LDE1IEBAIHZvaWQgU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50OjpwYXJzZU0KICAgICBl
bHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OmRpZmZ1c2VDb25zdGFudEF0dHIpCiAg
ICAgICAgIHNldERpZmZ1c2VDb25zdGFudEJhc2VWYWx1ZSh2YWx1ZS50b0ludCgpKTsKICAgICBl
bHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6Omtlcm5lbFVuaXRMZW5ndGhBdHRyKSB7
Ci0gICAgICAgIFZlY3RvcjxTdHJpbmc+IG51bWJlcnMgPSB2YWx1ZS5zcGxpdCgnICcpOwotICAg
ICAgICBzZXRLZXJuZWxVbml0TGVuZ3RoWEJhc2VWYWx1ZShudW1iZXJzWzBdLnRvRG91YmxlKCkp
OwotICAgICAgICBpZiAobnVtYmVycy5zaXplKCkgPT0gMSkKLSAgICAgICAgICAgIHNldEtlcm5l
bFVuaXRMZW5ndGhZQmFzZVZhbHVlKG51bWJlcnNbMF0udG9Eb3VibGUoKSk7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIHNldEtlcm5lbFVuaXRMZW5ndGhZQmFzZVZhbHVlKG51bWJlcnNbMV0u
dG9Eb3VibGUoKSk7CisgICAgICAgIGRvdWJsZSB4ID0gMCwgeSA9IDA7CisgICAgICAgIGludCBu
ciA9IHRyeVBhcnNlTnVtYmVyTGlzdCh2YWx1ZSwgeCwgeSk7CisgICAgICAgIGlmKG5yID4gMCkg
eworICAgICAgICAgICAgc2V0S2VybmVsVW5pdExlbmd0aFhCYXNlVmFsdWUoeCk7CisgICAgICAg
ICAgICBpZihuciA9PSAxKQorICAgICAgICAgICAgICAgIHNldEtlcm5lbFVuaXRMZW5ndGhZQmFz
ZVZhbHVlKHgpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHNldEtlcm5lbFVu
aXRMZW5ndGhZQmFzZVZhbHVlKHkpOworICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChhdHRyLT5u
YW1lKCkgPT0gU1ZHTmFtZXM6OmxpZ2h0aW5nX2NvbG9yQXR0cikKICAgICAgICAgc2V0TGlnaHRp
bmdDb2xvckJhc2VWYWx1ZShuZXcgU1ZHQ29sb3IodmFsdWUpKTsKICAgICBlbHNlCkluZGV4OiBX
ZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE2NzgxKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAiU1ZHTmFt
ZXMuaCIKICNpbmNsdWRlICJTVkdIZWxwZXIuaCIKKyNpbmNsdWRlICJTVkdQYXJzZXJVdGlscy5o
IgogI2luY2x1ZGUgIlNWR1JlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiU1ZHRkVHYXVzc2lhbkJs
dXJFbGVtZW50LmgiCiAKQEAgLTYwLDEyICs2MSwxNSBAQCB2b2lkIFNWR0ZFR2F1c3NpYW5CbHVy
RWxlbWVudDo6cGFyc2VNYXBwCiB7CiAgICAgY29uc3QgU3RyaW5nJiB2YWx1ZSA9IGF0dHItPnZh
bHVlKCk7CiAgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6c3RkRGV2aWF0aW9uQXR0
cikgewotICAgICAgICBWZWN0b3I8U3RyaW5nPiBudW1iZXJzID0gdmFsdWUuc3BsaXQoJyAnKTsK
LSAgICAgICAgc2V0U3RkRGV2aWF0aW9uWEJhc2VWYWx1ZShudW1iZXJzWzBdLnRvRG91YmxlKCkp
OwotICAgICAgICBpZihudW1iZXJzLnNpemUoKSA9PSAxKQotICAgICAgICAgICAgc2V0U3RkRGV2
aWF0aW9uWUJhc2VWYWx1ZShudW1iZXJzWzBdLnRvRG91YmxlKCkpOwotICAgICAgICBlbHNlCi0g
ICAgICAgICAgICBzZXRTdGREZXZpYXRpb25ZQmFzZVZhbHVlKG51bWJlcnNbMV0udG9Eb3VibGUo
KSk7CisgICAgICAgIGRvdWJsZSB4ID0gMCwgeSA9IDA7CisgICAgICAgIGludCBuciA9IHRyeVBh
cnNlTnVtYmVyTGlzdCh2YWx1ZSwgeCwgeSk7CisgICAgICAgIGlmKG5yID4gMCkgeworICAgICAg
ICAgICAgc2V0U3RkRGV2aWF0aW9uWEJhc2VWYWx1ZSh4KTsKKyAgICAgICAgICAgIGlmKG5yID09
IDEpCisgICAgICAgICAgICAgICAgc2V0U3RkRGV2aWF0aW9uWUJhc2VWYWx1ZSh4KTsKKyAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBzZXRTdGREZXZpYXRpb25ZQmFzZVZhbHVlKHkp
OworICAgICAgICB9CiAgICAgfQogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1l
czo6aW5BdHRyKQogICAgICAgICBzZXRJbjFCYXNlVmFsdWUodmFsdWUpOwpJbmRleDogV2ViQ29y
ZS9rc3ZnMi9zdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDE2NzgxKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5n
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUg
IlNWR05hbWVzLmgiCiAjaW5jbHVkZSAiU1ZHSGVscGVyLmgiCisjaW5jbHVkZSAiU1ZHUGFyc2Vy
VXRpbHMuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlNWR0NvbG9y
LmgiCiAjaW5jbHVkZSAiU1ZHRkVMaWdodEVsZW1lbnQuaCIKQEAgLTczLDEyICs3NCwxNSBAQCB2
b2lkIFNWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQ6OnBhcnNlCiAgICAgZWxzZSBpZiAoYXR0
ci0+bmFtZSgpID09IFNWR05hbWVzOjpzcGVjdWxhckV4cG9uZW50QXR0cikKICAgICAgICAgc2V0
U3BlY3VsYXJFeHBvbmVudEJhc2VWYWx1ZSh2YWx1ZS50b0RvdWJsZSgpKTsKICAgICBlbHNlIGlm
IChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6Omtlcm5lbFVuaXRMZW5ndGhBdHRyKSB7Ci0gICAg
ICAgIFZlY3RvcjxTdHJpbmc+IG51bWJlcnMgPSB2YWx1ZS5zcGxpdCgnICcpOwotICAgICAgICBz
ZXRLZXJuZWxVbml0TGVuZ3RoWEJhc2VWYWx1ZShudW1iZXJzWzBdLnRvRG91YmxlKCkpOwotICAg
ICAgICBpZiAobnVtYmVycy5zaXplKCkgPT0gMSkKLSAgICAgICAgICAgIHNldEtlcm5lbFVuaXRM
ZW5ndGhZQmFzZVZhbHVlKG51bWJlcnNbMF0udG9Eb3VibGUoKSk7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIHNldEtlcm5lbFVuaXRMZW5ndGhZQmFzZVZhbHVlKG51bWJlcnNbMV0udG9Eb3Vi
bGUoKSk7CisgICAgICAgIGRvdWJsZSB4ID0gMCwgeSA9IDA7CisgICAgICAgIGludCBuciA9IHRy
eVBhcnNlTnVtYmVyTGlzdCh2YWx1ZSwgeCwgeSk7CisgICAgICAgIGlmKG5yID4gMCkgeworICAg
ICAgICAgICAgc2V0S2VybmVsVW5pdExlbmd0aFhCYXNlVmFsdWUoeCk7CisgICAgICAgICAgICBp
ZihuciA9PSAxKQorICAgICAgICAgICAgICAgIHNldEtlcm5lbFVuaXRMZW5ndGhZQmFzZVZhbHVl
KHgpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHNldEtlcm5lbFVuaXRMZW5n
dGhZQmFzZVZhbHVlKHkpOworICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkg
PT0gU1ZHTmFtZXM6OmxpZ2h0aW5nX2NvbG9yQXR0cikKICAgICAgICAgc2V0TGlnaHRpbmdDb2xv
ckJhc2VWYWx1ZShuZXcgU1ZHQ29sb3IodmFsdWUpKTsKICAgICBlbHNlCkluZGV4OiBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2tzdmcyL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcAkocmV2aXNpb24gMTY3ODEp
CisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVkZSAia3N2Zy5oIgogI2luY2x1ZGUg
IlNWR0hlbHBlci5oIgorI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxzLmgiCiAjaW5jbHVkZSAiU1ZH
UmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmgiCiAKQEAg
LTYyLDI4ICs2MywyOCBAQCBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OUyhTVkdGRVR1cmJ1
CiB2b2lkIFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHBl
ZEF0dHJpYnV0ZSAqYXR0cikKIHsKICAgICBjb25zdCBTdHJpbmcmIHZhbHVlID0gYXR0ci0+dmFs
dWUoKTsKLSAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjp0eXBlQXR0cikKLSAgICB7
CisgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6dHlwZUF0dHIpIHsKICAgICAgICAg
aWYodmFsdWUgPT0gImZyYWN0YWxOb2lzZSIpCiAgICAgICAgICAgICBzZXRUeXBlQmFzZVZhbHVl
KFNWR19UVVJCVUxFTkNFX1RZUEVfRlJBQ1RBTE5PSVNFKTsKICAgICAgICAgZWxzZSBpZih2YWx1
ZSA9PSAidHVyYnVsZW5jZSIpCiAgICAgICAgICAgICBzZXRUeXBlQmFzZVZhbHVlKFNWR19UVVJC
VUxFTkNFX1RZUEVfVFVSQlVMRU5DRSk7CiAgICAgfQotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUo
KSA9PSBTVkdOYW1lczo6c3RpdGNoVGlsZXNBdHRyKQotICAgIHsKKyAgICBlbHNlIGlmIChhdHRy
LT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnN0aXRjaFRpbGVzQXR0cikgewogICAgICAgICBpZih2YWx1
ZSA9PSAic3RpdGNoIikKICAgICAgICAgICAgIHNldFN0aXRjaFRpbGVzQmFzZVZhbHVlKFNWR19T
VElUQ0hUWVBFX1NUSVRDSCk7CiAgICAgICAgIGVsc2UgaWYodmFsdWUgPT0gIm5vc3RpdGNoIikK
ICAgICAgICAgICAgIHNldFN0aXRjaFRpbGVzQmFzZVZhbHVlKFNWR19TVElUQ0hUWVBFX05PU1RJ
VENIKTsKICAgICB9Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpiYXNl
RnJlcXVlbmN5QXR0cikKLSAgICB7Ci0gICAgICAgIFZlY3RvcjxTdHJpbmc+IG51bWJlcnMgPSB2
YWx1ZS5zcGxpdCgnICcpOwotICAgICAgICBzZXRCYXNlRnJlcXVlbmN5WEJhc2VWYWx1ZShudW1i
ZXJzWzBdLnRvRG91YmxlKCkpOwotICAgICAgICBpZihudW1iZXJzLnNpemUoKSA9PSAxKQotICAg
ICAgICAgICAgc2V0QmFzZUZyZXF1ZW5jeVlCYXNlVmFsdWUobnVtYmVyc1swXS50b0RvdWJsZSgp
KTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgc2V0QmFzZUZyZXF1ZW5jeVlCYXNlVmFsdWUo
bnVtYmVyc1sxXS50b0RvdWJsZSgpKTsKKyAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZH
TmFtZXM6OmJhc2VGcmVxdWVuY3lBdHRyKSB7CisgICAgICAgIGRvdWJsZSB4ID0gMCwgeSA9IDA7
CisgICAgICAgIGludCBuciA9IHRyeVBhcnNlTnVtYmVyTGlzdCh2YWx1ZSwgeCwgeSk7CisgICAg
ICAgIGlmKG5yID4gMCkgeworICAgICAgICAgICAgc2V0QmFzZUZyZXF1ZW5jeVhCYXNlVmFsdWUo
eCk7CisgICAgICAgICAgICBpZihuciA9PSAxKQorICAgICAgICAgICAgICAgIHNldEJhc2VGcmVx
dWVuY3lZQmFzZVZhbHVlKHgpOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHNl
dEJhc2VGcmVxdWVuY3lZQmFzZVZhbHVlKHkpOworICAgICAgICB9CiAgICAgfQogICAgIGVsc2Ug
aWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6c2VlZEF0dHIpCiAgICAgICAgIHNldFNlZWRC
YXNlVmFsdWUodmFsdWUudG9Eb3VibGUoKSk7CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdG
aXRUb1ZpZXdCb3guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZpdFRv
Vmlld0JveC5jcHAJKHJldmlzaW9uIDE2NzgxKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRml0
VG9WaWV3Qm94LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUg
IlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50LmgiCiAj
aW5jbHVkZSAiU3RyaW5nSW1wbC5oIgotI2luY2x1ZGUgInN2Z3BhdGhwYXJzZXIuaCIKKyNpbmNs
dWRlICJTVkdQYXJzZXJVdGlscy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUxLDMw
ICs1MSwyMSBAQCBBTklNQVRFRF9QUk9QRVJUWV9ERUZJTklUSU9OU19XSVRIX0NPTlRFCiB2b2lk
IFNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3Qm94KGNvbnN0IFN0cmluZyYgc3RyKQogewogICAg
IGRvdWJsZSB4ID0gMCwgeSA9IDAsIHcgPSAwLCBoID0gMDsKLSAgICBEZXByZWNhdGVkU3RyaW5n
IHZpZXdib3ggPSBzdHIuZGVwcmVjYXRlZFN0cmluZygpOwotICAgIGNvbnN0IGNoYXIgKnAgPSB2
aWV3Ym94LmxhdGluMSgpOwotICAgIGNvbnN0IGNoYXIgKmVuZCA9IHAgKyB2aWV3Ym94Lmxlbmd0
aCgpOwotICAgIGNvbnN0IGNoYXIgKmMgPSBwOwotICAgIHAgPSBwYXJzZUNvb3JkKGMsIHgpOwot
ICAgIGlmIChwID09IGMpCisgICAgU3RyaW5nIHZpZXdCb3ggPSBzdHI7CisgICAgY29uc3QgVUNo
YXIqIHAgPSByZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4odmlld0JveC5jaGFyYWN0ZXJz
V2l0aE51bGxUZXJtaW5hdGlvbigpKTsKKyAgICBpZiAoIXRyeVBhcnNlQ29vcmQocCwgeCkpCiAg
ICAgICAgIGdvdG8gYmFpbF9vdXQ7CiAKLSAgICBjID0gcDsKLSAgICBwID0gcGFyc2VDb29yZChj
LCB5KTsKLSAgICBpZiAocCA9PSBjKQorICAgIGlmICghdHJ5UGFyc2VDb29yZChwLCB5KSkKICAg
ICAgICAgZ290byBiYWlsX291dDsKIAotICAgIGMgPSBwOwotICAgIHAgPSBwYXJzZUNvb3JkKGMs
IHcpOwotICAgIGlmKHcgPCAwLjAgfHwgcCA9PSBjKSAvLyBjaGVjayB0aGF0IHdpZHRoIGlzIHBv
c2l0aXZlCisgICAgaWYgKCF0cnlQYXJzZUNvb3JkKHAsIHcpIHx8IHcgPCAwLjApIC8vIGNoZWNr
IHRoYXQgd2lkdGggaXMgcG9zaXRpdmUKICAgICAgICAgZ290byBiYWlsX291dDsKIAotICAgIGMg
PSBwOwotICAgIHAgPSBwYXJzZUNvb3JkKGMsIGgpOwotICAgIGlmIChoIDwgMC4wIHx8IHAgPT0g
YykgLy8gY2hlY2sgdGhhdCBoZWlnaHQgaXMgcG9zaXRpdmUKKyAgICBpZiAoIXRyeVBhcnNlQ29v
cmQocCwgaCkgfHwgaCA8IDAuMCkgLy8gY2hlY2sgdGhhdCBoZWlnaHQgaXMgcG9zaXRpdmUKICAg
ICAgICAgZ290byBiYWlsX291dDsKICAgICAKLSAgICBpZiAocCA8IGVuZCkgLy8gbm90aGluZyBz
aG91bGQgY29tZSBhZnRlciB0aGUgbGFzdCwgZm91cnRoIG51bWJlcgorICAgIGlmICgqcCkgLy8g
bm90aGluZyBzaG91bGQgY29tZSBhZnRlciB0aGUgbGFzdCwgZm91cnRoIG51bWJlcgogICAgICAg
ICBnb3RvIGJhaWxfb3V0OwogCiAgICAgc2V0Vmlld0JveEJhc2VWYWx1ZShGbG9hdFJlY3QoeCwg
eSwgdywgaCkpOwpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHSGVscGVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdIZWxwZXIuY3BwCShyZXZpc2lvbiAxNjc4MSkK
KysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0hlbHBlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc3
LDE5ICs3Nyw2IEBAIGZsb2F0IFNWR0hlbHBlcjo6UGVyY2VudGFnZU9mVmlld3BvcnQoZmwKICAg
ICByZXR1cm4gMC4wOwogfQogCi12b2lkIFNWR0hlbHBlcjo6cGFyc2VTZXBhcmF0ZWRMaXN0KFNW
R1N0cmluZ0xpc3QgKmxpc3QsIGNvbnN0IFN0cmluZyYgZGF0YSwgVUNoYXIgZGVsaW1pdGVyKQot
ewotICAgIC8vIFRPRE8gOiBtb3JlIGVycm9yIGNoZWNraW5nL3JlcG9ydGluZwotICAgIEV4Y2Vw
dGlvbkNvZGUgZWMgPSAwOwotICAgIGxpc3QtPmNsZWFyKGVjKTsKLQotICAgIFZlY3RvcjxTdHJp
bmc+IHN1YnN0cmluZ3MgPSBTdHJpbmcoZGF0YSkuc3BsaXQoZGVsaW1pdGVyKTsKLSAgICAKLSAg
ICBWZWN0b3I8U3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gc3Vic3RyaW5ncy5lbmQoKTsK
LSAgICBmb3IgKFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9IHN1YnN0cmluZ3Mu
YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICBsaXN0LT5hcHBlbmRJdGVtKCppdCwg
ZWMpOwotfQotCiB9CiAKIC8vIHZpbTp0cz00Om5vZXQKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3Zn
L1NWR0hlbHBlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0hlbHBlci5o
CShyZXZpc2lvbiAxNjc4MSkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0hlbHBlci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Miw4ICs0Miw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFz
cyBTVkdIZWxwZXIgewogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIGZsb2F0IFBlcmNlbnRh
Z2VPZlZpZXdwb3J0KGZsb2F0IHZhbHVlLCBjb25zdCBTVkdFbGVtZW50ICp2aWV3cG9ydEVsZW1l
bnQsIExlbmd0aE1vZGUgbW9kZSk7Ci0KLSAgICAgICAgc3RhdGljIHZvaWQgcGFyc2VTZXBhcmF0
ZWRMaXN0KFNWR1N0cmluZ0xpc3QgKmxpc3QsIGNvbnN0IFN0cmluZyAmZGF0YSwgVUNoYXIgZGVs
aW1pdGVyID0gJywnKTsKICAgICB9OwogCiAgICAgLy8gTGF6eSBjcmVhdGlvbiwgdGVtcGxhdGUt
YmFzZWQKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0xlbmd0aC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHTGVuZ3RoLmNwcAkocmV2aXNpb24gMTY3ODEpCisrKyBX
ZWJDb3JlL2tzdmcyL3N2Zy9TVkdMZW5ndGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsy
OCw3IEBACiAjaW5jbHVkZSAiS0NhbnZhc1JlbmRlcmluZ1N0eWxlLmgiCiAKICNpbmNsdWRlICJr
c3ZnLmgiCi0jaW5jbHVkZSAic3ZncGF0aHBhcnNlci5oIgorI2luY2x1ZGUgIlNWR1BhcnNlclV0
aWxzLmgiCiAjaW5jbHVkZSAiU1ZHTGVuZ3RoLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgog
I2luY2x1ZGUgIlNWR1NWR0VsZW1lbnQuaCIKQEAgLTExMSw0MiArMTExLDYwIEBAIHZvaWQgU1ZH
TGVuZ3RoOjpzZXRWYWx1ZUFzU3RyaW5nKGNvbnN0IFMKICAgICBpZihzLmlzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgRGVwcmVjYXRlZFN0cmluZyB2YWx1ZUFzUVN0cmluZyA9IHMu
ZGVwcmVjYXRlZFN0cmluZygpOwotCiAgICAgZG91YmxlIGNvbnZlcnRlZE51bWJlciA9IDA7Ci0g
ICAgY29uc3QgY2hhciAqc3RhcnQgPSB2YWx1ZUFzUVN0cmluZy5sYXRpbjEoKTsKLSAgICBjb25z
dCBjaGFyICplbmQgPSBwYXJzZUNvb3JkKHN0YXJ0LCBjb252ZXJ0ZWROdW1iZXIpOwotICAgIG1f
dmFsdWVJblNwZWNpZmllZFVuaXRzID0gY29udmVydGVkTnVtYmVyOwotCi0gICAgdW5zaWduZWQg
aW50IGRpZmYgPSBlbmQgLSBzdGFydDsKLSAgICBpZiAoZGlmZiA8IHZhbHVlQXNRU3RyaW5nLmxl
bmd0aCgpKSB7Ci0gICAgICAgIGlmIChzLmVuZHNXaXRoKFVuaXRUZXh0W1NWR19MRU5HVEhUWVBF
X1BYXSkpCi0gICAgICAgICAgICBtX3VuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfUFg7Ci0gICAg
ICAgIGVsc2UgaWYgKHMuZW5kc1dpdGgoVW5pdFRleHRbU1ZHX0xFTkdUSFRZUEVfQ01dKSkKLSAg
ICAgICAgICAgIG1fdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9DTTsKLSAgICAgICAgZWxzZSBp
ZiAocy5lbmRzV2l0aChVbml0VGV4dFtTVkdfTEVOR1RIVFlQRV9QQ10pKQotICAgICAgICAgICAg
bV91bml0VHlwZSA9IFNWR19MRU5HVEhUWVBFX1BDOwotICAgICAgICBlbHNlIGlmIChzLmVuZHNX
aXRoKFVuaXRUZXh0W1NWR19MRU5HVEhUWVBFX01NXSkpCi0gICAgICAgICAgICBtX3VuaXRUeXBl
ID0gU1ZHX0xFTkdUSFRZUEVfTU07Ci0gICAgICAgIGVsc2UgaWYgKHMuZW5kc1dpdGgoVW5pdFRl
eHRbU1ZHX0xFTkdUSFRZUEVfSU5dKSkKLSAgICAgICAgICAgIG1fdW5pdFR5cGUgPSBTVkdfTEVO
R1RIVFlQRV9JTjsKLSAgICAgICAgZWxzZSBpZiAocy5lbmRzV2l0aChVbml0VGV4dFtTVkdfTEVO
R1RIVFlQRV9QVF0pKQotICAgICAgICAgICAgbV91bml0VHlwZSA9IFNWR19MRU5HVEhUWVBFX1BU
OwotICAgICAgICAgZWxzZSBpZiAocy5lbmRzV2l0aChVbml0VGV4dFtTVkdfTEVOR1RIVFlQRV9Q
RVJDRU5UQUdFXSkpCi0gICAgICAgICAgICBtX3VuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfUEVS
Q0VOVEFHRTsKLSAgICAgICAgZWxzZSBpZiAocy5lbmRzV2l0aChVbml0VGV4dFtTVkdfTEVOR1RI
VFlQRV9FTVNdKSkKLSAgICAgICAgICAgIG1fdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9FTVM7
Ci0gICAgICAgIGVsc2UgaWYgKHMuZW5kc1dpdGgoVW5pdFRleHRbU1ZHX0xFTkdUSFRZUEVfRVhT
XSkpCi0gICAgICAgICAgICBtX3VuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfRVhTOwotICAgICAg
ICBlbHNlIGlmIChzLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIG1fdW5pdFR5cGUgPSBTVkdfTEVO
R1RIVFlQRV9OVU1CRVI7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fdW5pdFR5cGUgPSBT
VkdfTEVOR1RIVFlQRV9VTktOT1dOOworICAgIFNWR0xlbmd0aFR5cGUgdW5pdFR5cGU7CisgICAg
U3RyaW5nIGxlbmd0aCA9IHM7CisgICAgY29uc3QgVUNoYXIqIHB0ciA9IHJlaW50ZXJwcmV0X2Nh
c3Q8Y29uc3QgVUNoYXIqPihsZW5ndGguY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKSk7
CisgICAgaWYgKHRyeVBhcnNlQ29vcmQocHRyLCBjb252ZXJ0ZWROdW1iZXIpKSB7CisgICAgICAg
IGlmICghdHJ5UGFyc2VMZW5ndGhVbml0KHB0ciwgdW5pdFR5cGUpKQorICAgICAgICAgICAgdW5p
dFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9QWDsKKyAgICAgICAgaWYgKCEqcHRyKSB7CisgICAgICAg
ICAgICBtX3ZhbHVlSW5TcGVjaWZpZWRVbml0cyA9IGNvbnZlcnRlZE51bWJlcjsKKyAgICAgICAg
ICAgIG1fdW5pdFR5cGUgPSB1bml0VHlwZTsKKyAgICAgICAgICAgIHVwZGF0ZVZhbHVlKCk7Cisg
ICAgICAgIH0KICAgICB9Ci0gICAgZWxzZQotICAgICAgICBtX3VuaXRUeXBlID0gU1ZHX0xFTkdU
SFRZUEVfUFg7Cit9CiAKLSAgICB1cGRhdGVWYWx1ZSgpOworYm9vbCBTVkdMZW5ndGg6OnRyeVBh
cnNlTGVuZ3RoVW5pdChjb25zdCBVQ2hhciomIHB0ciwgU1ZHTGVuZ3RoVHlwZSAmdW5pdFR5cGUp
Cit7CisgICAgaWYgKCEqcHRyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFwdHJb
MV0pIHsKKyAgICAgICAgaWYoKnB0ciA9PSAnJScpIHsKKyAgICAgICAgICAgICB1bml0VHlwZSA9
IFNWR19MRU5HVEhUWVBFX1BFUkNFTlRBR0U7CisgICAgICAgICAgICAgcHRyKys7CisgICAgICAg
IH0KKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0gZWxzZSBp
ZigqcHRyID09ICdwJyAmJiBwdHJbMV0gPT0gJ3gnKSB7CisgICAgICAgIHVuaXRUeXBlID0gU1ZH
X0xFTkdUSFRZUEVfUFg7CisgICAgICAgIHB0ciArPSAyOworICAgIH0gZWxzZSBpZigqcHRyID09
ICdjJyAmJiBwdHJbMV0gPT0gJ20nKSB7CisgICAgICAgIHVuaXRUeXBlID0gU1ZHX0xFTkdUSFRZ
UEVfQ007CisgICAgICAgIHB0ciArPSAyOworICAgIH0gZWxzZSBpZigqcHRyID09ICdwJyAmJiBw
dHJbMV0gPT0gJ2MnKSB7CisgICAgICAgIHVuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfUEM7Cisg
ICAgICAgIHB0ciArPSAyOworICAgIH0gZWxzZSBpZigqcHRyID09ICdtJyAmJiBwdHJbMV0gPT0g
J20nKSB7CisgICAgICAgIHVuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfTU07CisgICAgICAgIHB0
ciArPSAyOworICAgIH0gZWxzZSBpZigqcHRyID09ICdpJyAmJiBwdHJbMV0gPT0gJ24nKSB7Cisg
ICAgICAgIHVuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfSU47CisgICAgICAgIHB0ciArPSAyOwor
ICAgIH0gZWxzZSBpZigqcHRyID09ICdwJyAmJiBwdHJbMV0gPT0gJ3QnKSB7CisgICAgICAgIHVu
aXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfUFQ7CisgICAgICAgIHB0ciArPSAyOworICAgIH0gZWxz
ZSBpZigqcHRyID09ICdlJyAmJiBwdHJbMV0gPT0gJ20nKSB7CisgICAgICAgIHVuaXRUeXBlID0g
U1ZHX0xFTkdUSFRZUEVfRU1TOworICAgICAgICBwdHIgKz0gMjsKKyAgICB9IGVsc2UgaWYoKnB0
ciA9PSAnZScgJiYgcHRyWzFdID09ICd4JykgeworICAgICAgICB1bml0VHlwZSA9IFNWR19MRU5H
VEhUWVBFX0VYUzsKKyAgICAgICAgcHRyICs9IDI7CisgICAgfSBlbHNlCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOwogfQogCiBTdHJpbmcgU1ZHTGVuZ3RoOjp2YWx1
ZUFzU3RyaW5nKCkgY29uc3QKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0xlbmd0aC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0xlbmd0aC5oCShyZXZpc2lvbiAxNjc4
MSkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0xlbmd0aC5oCSh3b3JraW5nIGNvcHkpCkBAIC03
NCw2ICs3NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgY29uc3QgU1ZHU3R5bGVk
RWxlbWVudCogY29udGV4dCgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldENvbnRleHQoY29uc3Qg
U1ZHU3R5bGVkRWxlbWVudCAqY29udGV4dCk7CiAKKyAgICAgICAgc3RhdGljIGJvb2wgdHJ5UGFy
c2VMZW5ndGhVbml0KGNvbnN0IFVDaGFyKiYgcHRyLCBTVkdMZW5ndGhUeXBlICZ1bml0VHlwZSk7
CisKICAgICBwcml2YXRlOgogICAgICAgICBib29sIHVwZGF0ZVZhbHVlSW5TcGVjaWZpZWRVbml0
cyhib29sIG5vdGlmeSA9IHRydWUpOwogICAgICAgICB2b2lkIHVwZGF0ZVZhbHVlKGJvb2wgbm90
aWZ5ID0gdHJ1ZSk7CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdMZW5ndGhMaXN0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdMZW5ndGhMaXN0LmNwcAkocmV2aXNp
b24gMTY3ODEpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdMZW5ndGhMaXN0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIlNWR01hdHJpeC5oIgogI2luY2x1
ZGUgIlNWR1NWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdMZW5ndGhMaXN0LmgiCisjaW5jbHVk
ZSAiU1ZHUGFyc2VyVXRpbHMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MiwxMSAr
NDMsMjMgQEAgdm9pZCBTVkdMZW5ndGhMaXN0OjpwYXJzZShjb25zdCBTdHJpbmcmIAogewogICAg
IEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogCi0gICAgVmVjdG9yPFN0cmluZz4gbGVuZ3RocyA9IHZh
bHVlLnNwbGl0KCcgJyk7Ci0gICAgVmVjdG9yPFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9
IGxlbmd0aHMuZW5kKCk7Ci0gICAgZm9yIChWZWN0b3I8U3RyaW5nPjo6Y29uc3RfaXRlcmF0b3Ig
aXQgPSBsZW5ndGhzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgeworICAgIGRvdWJsZSB2YWwg
PSAwOworICAgIFNWR0xlbmd0aDo6U1ZHTGVuZ3RoVHlwZSB0eXBlOworICAgCisgICAgU3RyaW5n
IGxlbmd0aHMgPSB2YWx1ZTsgCisgICAgY29uc3QgVUNoYXIqIGN1cnJMZW5ndGggPSByZWludGVy
cHJldF9jYXN0PGNvbnN0IFVDaGFyKj4obGVuZ3Rocy5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5h
dGlvbigpKTsKKyAgICB3aGlsZSAoKmN1cnJMZW5ndGgpIHsKKyAgICAgICAgc2tpcE9wdGlvbmFs
U3BhY2VzT3JEZWxpbWl0ZXIoY3Vyckxlbmd0aCk7CisgICAgICAgIGlmICghdHJ5UGFyc2VDb29y
ZChjdXJyTGVuZ3RoLCB2YWwpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAoIVNW
R0xlbmd0aDo6dHJ5UGFyc2VMZW5ndGhVbml0KGN1cnJMZW5ndGgsIHR5cGUpKQorICAgICAgICAg
ICAgaWYgKCpjdXJyTGVuZ3RoID09ICcgJyB8fCAqY3Vyckxlbmd0aCA9PSAnLCcgfHwKKyAgICAg
ICAgICAgICAgICAhKmN1cnJMZW5ndGgpCisgICAgICAgICAgICAgICAgdHlwZSA9IFNWR0xlbmd0
aDo6U1ZHX0xFTkdUSFRZUEVfUFg7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICBTVkdMZW5ndGgqIGxlbmd0aCA9IG5ldyBTVkdMZW5ndGgoY29udGV4
dCwgbW9kZSk7Ci0gICAgICAgIGxlbmd0aC0+c2V0VmFsdWVBc1N0cmluZygqaXQpOworICAgICAg
ICBsZW5ndGgtPm5ld1ZhbHVlU3BlY2lmaWVkVW5pdHModHlwZSwgdmFsKTsKICAgICAgICAgYXBw
ZW5kSXRlbShsZW5ndGgsIGVjKTsKICAgICB9CiB9CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9T
VkdOdW1iZXJMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdOdW1i
ZXJMaXN0LmNwcAkocmV2aXNpb24gMTY3ODEpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdOdW1i
ZXJMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsOCArMjQsOSBAQAogCiAjaWZkZWYgU1ZH
X1NVUFBPUlQKICNpbmNsdWRlICJTVkdNYXRyaXguaCIKLSNpbmNsdWRlICJTVkdTVkdFbGVtZW50
LmgiCiAjaW5jbHVkZSAiU1ZHTnVtYmVyTGlzdC5oIgorI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxz
LmgiCisjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKIApAQCAtNDIsOSArNDMsMTYgQEAgdm9pZCBTVkdOdW1iZXJMaXN0OjpwYXJzZShjb25zdCBT
dHJpbmcmIAogewogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogCi0gICAgVmVjdG9yPFN0cmlu
Zz4gbnVtYmVycyA9IHZhbHVlLnNwbGl0KCcgJyk7Ci0gICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9
IDA7IGkgPCBudW1iZXJzLnNpemUoKTsgaSsrKQotICAgICAgICBhcHBlbmRJdGVtKG51bWJlcnNb
aV0udG9Eb3VibGUoKSwgZWMpOworICAgIGRvdWJsZSBudW1iZXIgPSAwOworICAgCisgICAgU3Ry
aW5nIG51bWJlcnMgPSB2YWx1ZTsgCisgICAgY29uc3QgVUNoYXIqIGN1cnJOdW1iZXIgPSByZWlu
dGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4obnVtYmVycy5jaGFyYWN0ZXJzV2l0aE51bGxUZXJt
aW5hdGlvbigpKTsKKyAgICB3aGlsZSAoKmN1cnJOdW1iZXIpIHsKKyAgICAgICAgc2tpcE9wdGlv
bmFsU3BhY2VzT3JEZWxpbWl0ZXIoY3Vyck51bWJlcik7CisgICAgICAgIGlmICghdHJ5UGFyc2VD
b29yZChjdXJyTnVtYmVyLCBudW1iZXIpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBh
cHBlbmRJdGVtKG51bWJlciwgZWMpOworICAgIH0KIH0KIAogLy8gdmltOnRzPTQ6bm9ldApJbmRl
eDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHTnVtYmVyTGlzdC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUva3N2ZzIvc3ZnL1NWR051bWJlckxpc3QuaAkocmV2aXNpb24gMTY3ODEpCisrKyBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdOdW1iZXJMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUKIHsKLSAgICBjbGFzcyBEZXByZWNhdGVkU3RyaW5nOwor
ICAgIGNsYXNzIFN0cmluZzsKIAogICAgIGNsYXNzIFNWR051bWJlckxpc3QgOiBwdWJsaWMgU1ZH
TGlzdDxkb3VibGU+CiAgICAgewpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGFyc2VyVXRp
bHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhcnNlclV0aWxzLmNw
cAkocmV2aXNpb24gMTY3NzQpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXJzZXJVdGlscy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNiArMSw3IEBACiAvKiBUaGlzIGZpbGUgaXMgcGFydCBv
ZiB0aGUgS0RFIHByb2plY3QKICAgIENvcHlyaWdodCAoQykgMjAwMiwgMjAwMyBUaGUgS2FyYm9u
IERldmVsb3BlcnMKICAgICAgICAgICAgICAgICAgMjAwNiAgICAgICBBbGV4YW5kZXIgS2VsbGV0
dCA8bHlwYW5vdkBrZGUub3JnPgorICAgICAgICAgICAgICAgICAyMDA2ICAgICAgIFJvYiBCdWlz
IDxidWlzQGtkZS5vcmc+CiAKICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMCw0MiArMjEsMTMgQEAKIAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2lmZGVmIFNWR19TVVBQT1JUCi0jaW5jbHVkZSAic3ZncGF0
aHBhcnNlci5oIgotI2luY2x1ZGUgIkRlcHJlY2F0ZWRTdHJpbmcuaCIKKyNpbmNsdWRlICJTVkdQ
YXJzZXJVdGlscy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8bWF0
aC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLS8vIFNWRyBhbGxvd3Mgc2V2ZXJhbCBkaWZm
ZXJlbnQgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzOgotLy8gaHR0cDovL3d3dy53My5vcmcvVFIvU1ZH
L3BhdGhzLmh0bWwjUGF0aERhdGFCTkYKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc1doaXRlc3BhY2Uo
Y2hhciBjKSB7Ci0gICAgcmV0dXJuIChjID09ICcgJyB8fCBjID09ICdcdCcgfHwgYyA9PSAnXG4n
IHx8IGMgPT0gJ1xyJyk7Ci19Ci0KLS8vIEFsbCBzdHJpbmdzIGFyZSBhc3N1bWVkIHRvIGJlIG51
bGwgdGVybWluYXRlZAotc3RhdGljIGlubGluZSBib29sIHNraXBPcHRpb25hbFNwYWNlcyhjb25z
dCBjaGFyKiYgcHRyKSAvLyB0cnVlIG1lYW5zICJmb3VuZCBzcGFjZSIKLXsKLSAgICBpZiAoIWlz
V2hpdGVzcGFjZSgqcHRyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHdoaWxlIChpc1do
aXRlc3BhY2UoKnB0cikpCi0gICAgICAgIHB0cisrOwotICAgIHJldHVybiB0cnVlOwotfQotCi1z
dGF0aWMgaW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU3BhY2VzT3JDb21tYShjb25zdCBjaGFyKiYg
cHRyKQotewotICAgIGlmICghaXNXaGl0ZXNwYWNlKCpwdHIpICYmICpwdHIgIT0gJywnKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0cik7Ci0gICAgaWYg
KCpwdHIgPT0gJywnKSB7Ci0gICAgICAgIHB0cisrOwotICAgICAgICBza2lwT3B0aW9uYWxTcGFj
ZXMocHRyKTsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLQotY29uc3QgY2hhciogcGFy
c2VDb29yZChjb25zdCBjaGFyKiBwdHIsIGRvdWJsZSAmbnVtYmVyKQorY29uc3QgVUNoYXIqIHBh
cnNlQ29vcmQoY29uc3QgVUNoYXIqIHB0ciwgZG91YmxlICZudW1iZXIpCiB7CiAgICAgaW50IGlu
dGVnZXIsIGV4cG9uZW50OwogICAgIGRvdWJsZSBkZWNpbWFsLCBmcmFjOwpAQCAtMTAyLDI5ICs3
NCwzMiBAQCBjb25zdCBjaGFyKiBwYXJzZUNvb3JkKGNvbnN0IGNoYXIqIHB0ciwgCiAgICAgICAg
ICAgICBleHBvbmVudCArPSAqcHRyIC0gJzAnOwogICAgICAgICAgICAgcHRyKys7CiAgICAgICAg
IH0KKyAgICAgICAgaWYgKHB0clstMV0gPT0gJ2UnKSAvLyBoYWNrIHRvIHN1cHBvcnQgY29uc3Ry
dWN0aW9ucyBsaWtlIDEwZW0KKyAgICAgICAgICAgIHB0ci0tOwogICAgIH0KIAogICAgIG51bWJl
ciA9IGludGVnZXIgKyBkZWNpbWFsOwogICAgIG51bWJlciAqPSBzaWduICogcG93KDEwLjAsIGV4
cHNpZ24gKiBleHBvbmVudCk7CiAKLSAgICBza2lwT3B0aW9uYWxTcGFjZXNPckNvbW1hKHB0cik7
CisgICAgc2tpcE9wdGlvbmFsU3BhY2VzT3JEZWxpbWl0ZXIocHRyKTsKIAogICAgIHJldHVybiBw
dHI7CiB9CiAKLXZvaWQgU1ZHUG9seVBhcnNlcjo6cGFyc2VQb2ludHMoY29uc3QgRGVwcmVjYXRl
ZFN0cmluZyYgcykgY29uc3QKK3ZvaWQgU1ZHUG9seVBhcnNlcjo6cGFyc2VQb2ludHMoY29uc3Qg
U3RyaW5nJiBzKSBjb25zdAogewogICAgIGlmIChzLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJu
OwotICAgIERlcHJlY2F0ZWRTdHJpbmcgcG9pbnREYXRhID0gczsKLSAgICBjb25zdCBjaGFyKiBj
dXJyU2VnbWVudCA9IHBvaW50RGF0YS5sYXRpbjEoKTsKLSAgICBjb25zdCBjaGFyKiBlb1N0cmlu
ZyA9IHBvaW50RGF0YS5sYXRpbjEoKSArIHBvaW50RGF0YS5sZW5ndGgoKTsKKworICAgIFN0cmlu
ZyBwb2ludHMgPSBzOworICAgIGNvbnN0IFVDaGFyKiBjdXJyU2VnbWVudCA9IHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgVUNoYXIqPihwb2ludHMuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24o
KSk7CisgICAgY29uc3QgVUNoYXIqIGVvU3RyaW5nID0gY3VyclNlZ21lbnQgKyBwb2ludHMubGVu
Z3RoKCk7CiAgICAgCiAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJTZWdtZW50KTsKICAgICAK
ICAgICBpbnQgc2VnbWVudE51bSA9IDA7CiAgICAgd2hpbGUgKGN1cnJTZWdtZW50IDwgZW9TdHJp
bmcpIHsKLSAgICAgICAgY29uc3QgY2hhciogcHJldlNlZ21lbnQgPSBjdXJyU2VnbWVudDsKKyAg
ICAgICAgY29uc3QgVUNoYXIqIHByZXZTZWdtZW50ID0gY3VyclNlZ21lbnQ7CiAgICAgICAgIGRv
dWJsZSB4UG9zID0gMDsKICAgICAgICAgY3VyclNlZ21lbnQgPSBwYXJzZUNvb3JkKGN1cnJTZWdt
ZW50LCB4UG9zKTsgCiAgICAgICAgIGlmIChjdXJyU2VnbWVudCA9PSBwcmV2U2VnbWVudCkKQEAg
LTE0MCwxNCArMTE1LDE0IEBAIHZvaWQgU1ZHUG9seVBhcnNlcjo6cGFyc2VQb2ludHMoY29uc3Qg
RGUKICAgICB9CiB9CiAKLXZvaWQgU1ZHUGF0aFBhcnNlcjo6cGFyc2VTVkcoY29uc3QgRGVwcmVj
YXRlZFN0cmluZyYgcywgYm9vbCBwcm9jZXNzKQordm9pZCBTVkdQYXRoUGFyc2VyOjpwYXJzZVNW
Ryhjb25zdCBTdHJpbmcmIHMsIGJvb2wgcHJvY2VzcykKIHsKICAgICBpZiAocy5pc0VtcHR5KCkp
CiAgICAgICAgIHJldHVybjsKIAotICAgIERlcHJlY2F0ZWRTdHJpbmcgZCA9IHM7Ci0gICAgY29u
c3QgY2hhciogcHRyID0gZC5sYXRpbjEoKTsKLSAgICBjb25zdCBjaGFyKiBlbmQgPSBkLmxhdGlu
MSgpICsgZC5sZW5ndGgoKSArIDE7CisgICAgU3RyaW5nIGRhdGEgPSBzOworICAgIGNvbnN0IFVD
aGFyKiBwdHIgPSByZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4oZGF0YS5jaGFyYWN0ZXJz
V2l0aE51bGxUZXJtaW5hdGlvbigpKTsKKyAgICBjb25zdCBVQ2hhciogZW5kID0gcHRyICsgZGF0
YS5sZW5ndGgoKSArIDE7CiAKICAgICBkb3VibGUgY29udHJseCwgY29udHJseSwgY3VyeCwgY3Vy
eSwgc3VicGF0aHgsIHN1YnBhdGh5LCB0b3gsIHRveSwgeDEsIHkxLCB4MiwgeTIsIHhjLCB5YzsK
ICAgICBkb3VibGUgcHgxLCBweTEsIHB4MiwgcHkyLCBweDMsIHB5MzsKSW5kZXg6IFdlYkNvcmUv
a3N2ZzIvc3ZnL1NWR1BhcnNlclV0aWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9z
dmcvU1ZHUGFyc2VyVXRpbHMuaAkocmV2aXNpb24gMTY3NzQpCisrKyBXZWJDb3JlL2tzdmcyL3N2
Zy9TVkdQYXJzZXJVdGlscy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyogVGhp
cyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CiAgICBDb3B5cmlnaHQgKEMpIDIwMDIs
IDIwMDMgVGhlIEthcmJvbiBEZXZlbG9wZXJzCisgICAgICAgICAgICAgICAgIDIwMDYgICAgICAg
Um9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4KIAogICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTE3LDI0ICsxOCwy
NiBAQAogICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCiAqLwogCi0jaWZuZGVmIF9fU1ZH
UEFUSFBBUlNFUl9IX18KLSNkZWZpbmUgX19TVkdQQVRIUEFSU0VSX0hfXworI2lmbmRlZiBfX1NW
R1BBUlNFUlVUSUxTX0hfXworI2RlZmluZSBfX1NWR1BBUlNFUlVUSUxTX0hfXwogI2lmZGVmIFNW
R19TVVBQT1JUCiAKKyNpbmNsdWRlIDxQbGF0Zm9ybVN0cmluZy5oPgorCiBuYW1lc3BhY2UgV2Vi
Q29yZQogewotICAgIGNsYXNzIERlcHJlY2F0ZWRTdHJpbmc7CisgICAgY2xhc3MgU3RyaW5nOwog
Ci0gICAgY29uc3QgY2hhciAqcGFyc2VDb29yZChjb25zdCBjaGFyICpwdHIsIGRvdWJsZSAmbnVt
YmVyKTsKKyAgICBjb25zdCBVQ2hhciogcGFyc2VDb29yZChjb25zdCBVQ2hhciogcHRyLCBkb3Vi
bGUmIG51bWJlcik7CiAKICAgICBjbGFzcyBTVkdQb2x5UGFyc2VyCiAgICAgewogICAgIHB1Ymxp
YzoKICAgICAgICAgdmlydHVhbCB+U1ZHUG9seVBhcnNlcigpIHsgfQotICAgICAgICB2b2lkIHBh
cnNlUG9pbnRzKCBjb25zdCBEZXByZWNhdGVkU3RyaW5nICZwb2ludHMgKSBjb25zdDsKKyAgICAg
ICAgdm9pZCBwYXJzZVBvaW50cyhjb25zdCBTdHJpbmcmIHBvaW50cykgY29uc3Q7CiAKICAgICBw
cm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzdmdQb2x5VG8oIGRvdWJsZSB4MSwgZG91
YmxlIHkxLCBpbnQgbnIgKSBjb25zdCA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBzdmdQb2x5
VG8oZG91YmxlIHgxLCBkb3VibGUgeTEsIGludCBucikgY29uc3QgPSAwOwogICAgIH07CiAKICAg
ICAvKioKQEAgLTUyLDcgKzU1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUKICAgICB7CiAgICAgcHVi
bGljOgogICAgICAgICB2aXJ0dWFsIH5TVkdQYXRoUGFyc2VyKCkgeyB9Ci0gICAgICAgIHZvaWQg
cGFyc2VTVkcoIGNvbnN0IERlcHJlY2F0ZWRTdHJpbmcgJmQsIGJvb2wgcHJvY2VzcyA9IGZhbHNl
ICk7CisgICAgICAgIHZvaWQgcGFyc2VTVkcoIGNvbnN0IFN0cmluZyAmZCwgYm9vbCBwcm9jZXNz
ID0gZmFsc2UgKTsKIAogICAgIHByb3RlY3RlZDoKICAgICAgICAgdmlydHVhbCB2b2lkIHN2Z01v
dmVUbyggZG91YmxlIHgxLCBkb3VibGUgeTEsIGJvb2wgY2xvc2VkLCBib29sIGFicyA9IHRydWUg
KSA9IDA7CkBAIC02OSw2ICs3Miw1NyBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgICAgICB2b2lk
IGNhbGN1bGF0ZUFyYyggYm9vbCByZWxhdGl2ZSwgZG91YmxlICZjdXJ4LCBkb3VibGUgJmN1cnks
IGRvdWJsZSBhbmdsZSwgZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgcjEsIGRvdWJsZSByMiwg
Ym9vbCBsYXJnZUFyY0ZsYWcsIGJvb2wgc3dlZXBGbGFnICk7CiAgICAgfTsKIAorICAgIC8vIFNW
RyBhbGxvd3Mgc2V2ZXJhbCBkaWZmZXJlbnQgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzOgorICAgIC8v
IGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9wYXRocy5odG1sI1BhdGhEYXRhQk5GCisgICAgc3Rh
dGljIGlubGluZSBib29sIGlzV2hpdGVzcGFjZShjb25zdCBVQ2hhciBjKSB7CisgICAgICAgIHJl
dHVybiAoYyA9PSAnICcgfHwgYyA9PSAnXHQnIHx8IGMgPT0gJ1xuJyB8fCBjID09ICdccicpOwor
ICAgIH0KKworICAgIC8vIEFsbCBzdHJpbmdzIGFyZSBhc3N1bWVkIHRvIGJlIG51bGwgdGVybWlu
YXRlZAorICAgIHN0YXRpYyBpbmxpbmUgYm9vbCBza2lwT3B0aW9uYWxTcGFjZXMoY29uc3QgVUNo
YXIqJiBwdHIpIC8vIHRydWUgbWVhbnMgImZvdW5kIHNwYWNlIgoreworICAgICAgICBpZiAoIWlz
V2hpdGVzcGFjZSgqcHRyKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgd2hp
bGUgKGlzV2hpdGVzcGFjZSgqcHRyKSkKKyAgICAgICAgICAgIHB0cisrOworICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICB9CisKKyAgICBzdGF0aWMgaW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU3Bh
Y2VzT3JEZWxpbWl0ZXIoY29uc3QgVUNoYXIqJiBwdHIsIFVDaGFyIGRlbGltaXRlciA9ICcsJykK
KyAgICB7CisgICAgICAgIGlmICghaXNXaGl0ZXNwYWNlKCpwdHIpICYmICpwdHIgIT0gZGVsaW1p
dGVyKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBza2lwT3B0aW9uYWxTcGFj
ZXMocHRyKTsKKyAgICAgICAgaWYgKCpwdHIgPT0gZGVsaW1pdGVyKSB7CisgICAgICAgICAgICBw
dHIrKzsKKyAgICAgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIpOworICAgICAgICB9Cisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHN0YXRpYyBpbmxpbmUgYm9vbCB0cnlQ
YXJzZUNvb3JkKGNvbnN0IFVDaGFyKiYgcHRyLCBkb3VibGUgJmMpCisgICAgeworICAgICAgICAg
Y29uc3QgVUNoYXIqIHAgPSBwYXJzZUNvb3JkKHB0ciwgYyk7CisgICAgICAgICBpZiAocCA9PSBw
dHIpCisgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgcHRyID0gcDsKKyAgICAg
ICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIHN0YXRpYyBpbmxpbmUgaW50IHRyeVBhcnNl
TnVtYmVyTGlzdChjb25zdCBTdHJpbmcmIHZhbHVlLCBkb3VibGUgJm4xLCBkb3VibGUgJm4yKQor
ICAgIHsKKyAgICAgICAgaW50IHJldCA9IDA7CisgICAgICAgIFN0cmluZyBudW1iZXJzID0gdmFs
dWU7CisgICAgICAgIGNvbnN0IFVDaGFyKiBwdHIgPSByZWludGVycHJldF9jYXN0PGNvbnN0IFVD
aGFyKj4obnVtYmVycy5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigpKTsKKyAgICAgICAg
aWYgKHRyeVBhcnNlQ29vcmQocHRyLCBuMSkpIHsKKyAgICAgICAgICAgIHJldCsrOworICAgICAg
ICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzT3JEZWxpbWl0ZXIocHRyKTsKKyAgICAgICAgICAgIGlm
ICh0cnlQYXJzZUNvb3JkKHB0ciwgbjIpKQorICAgICAgICAgICAgICAgIHJldCsrOworICAgICAg
ICB9CisgICAgICAgIHJldHVybiByZXQ7CisgICAgfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKICNlbmRpZiAvLyBTVkdfU1VQUE9SVApJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0
aEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhdGhFbGVt
ZW50LmNwcAkocmV2aXNpb24gMTY3ODEpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXRoRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1OSw3ICszNTksNyBAQCB2b2lkIFNWR1BhdGhF
bGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0CiAgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdO
YW1lczo6ZEF0dHIpIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsKICAgICAgICAgcGF0aFNl
Z0xpc3QoKS0+Y2xlYXIoZWMpOwotICAgICAgICBwYXJzZVNWRyhhdHRyLT52YWx1ZSgpLmRlcHJl
Y2F0ZWRTdHJpbmcoKSwgdHJ1ZSk7CisgICAgICAgIHBhcnNlU1ZHKGF0dHItPnZhbHVlKCksIHRy
dWUpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmKFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0dHJp
YnV0ZShhdHRyKSkgcmV0dXJuOwogICAgICAgICBpZihTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVk
QXR0cmlidXRlKGF0dHIpKSByZXR1cm47CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXRo
RWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhdGhFbGVtZW50
LmgJKHJldmlzaW9uIDE2NzgxKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogI2lmZGVmIFNWR19TVVBQT1JUCiAK
ICNpbmNsdWRlICJTVkdUZXN0cy5oIgotI2luY2x1ZGUgInN2Z3BhdGhwYXJzZXIuaCIKKyNpbmNs
dWRlICJTVkdQYXJzZXJVdGlscy5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFjZS5oIgogI2luY2x1
ZGUgIlNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0
ZWRQYXRoRGF0YS5oIgpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUG9seUVsZW1lbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BvbHlFbGVtZW50LmNwcAkocmV2
aXNpb24gMTY3ODEpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQb2x5RWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAgdm9pZCBTVkdQb2x5RWxlbWVudDo6cGFyc2VN
YXBwZWRBdHRyaWJ1dAogICAgIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnBvaW50c0F0
dHIpIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgICAgIHBvaW50cygpLT5j
bGVhcihlYyk7Ci0gICAgICAgIHBhcnNlUG9pbnRzKGF0dHItPnZhbHVlKCkuZGVwcmVjYXRlZFN0
cmluZygpKTsKKyAgICAgICAgcGFyc2VQb2ludHMoYXR0ci0+dmFsdWUoKSk7CiAgICAgfSBlbHNl
IHsKICAgICAgICAgaWYoU1ZHVGVzdHM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKSByZXR1
cm47CiAgICAgICAgIGlmKFNWR0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikp
IHJldHVybjsKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BvbHlFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUG9seUVsZW1lbnQuaAkocmV2aXNpb24gMTY3
ODEpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQb2x5RWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yNSw3ICsyNSw3IEBACiAjaWZkZWYgU1ZHX1NVUFBPUlQKIAogI2luY2x1ZGUgIlNWR1Rl
c3RzLmgiCi0jaW5jbHVkZSAic3ZncGF0aHBhcnNlci5oIgorI2luY2x1ZGUgIlNWR1BhcnNlclV0
aWxzLmgiCiAjaW5jbHVkZSAiU1ZHTGFuZ1NwYWNlLmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkVHJh
bnNmb3JtYWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFBvaW50cy5oIgpJbmRl
eDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHAJKHJldmlz
aW9uIDE2NzgxKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJrc3ZnLmgiCiAj
aW5jbHVkZSAiU1ZHTWF0cml4LmgiCiAjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgorI2luY2x1
ZGUgIlNWR1BhcnNlclV0aWxzLmgiCiAjaW5jbHVkZSAiU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02NCwzOSArNjUsMTA5IEBAIHVuc2lnbmVkIHNo
b3J0IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW86Om0KIHZvaWQgU1ZHUHJlc2VydmVBc3BlY3RSYXRp
bzo6cGFyc2VQcmVzZXJ2ZUFzcGVjdFJhdGlvKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewogICAg
IC8vIFNwZWM6IHNldCB0aGUgZGVmYXVsdHMKLSAgICBzZXRBbGlnbihTVkdfUFJFU0VSVkVBU1BF
Q1RSQVRJT19OT05FKTsKLSAgICBzZXRNZWV0T3JTbGljZShTVkdfTUVFVE9SU0xJQ0VfTUVFVCk7
Ci0gICAgCi0gICAgVmVjdG9yPFN0cmluZz4gcGFyYW1zID0gc3RyaW5nLnNpbXBsaWZ5V2hpdGVT
cGFjZSgpLnNwbGl0KCcgJyk7CisgICAgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1R5cGUgYWxpZ24g
PSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19OT05FOworICAgIFNWR01lZXRPclNsaWNlVHlwZSBt
ZWV0T3JTbGljZSA9IFNWR19NRUVUT1JTTElDRV9NRUVUOwogCi0gICAgaWYgKHBhcmFtc1swXSA9
PSAibm9uZSIpCi0gICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19OT05F
OwotICAgIGVsc2UgaWYgKHBhcmFtc1swXSA9PSAieE1pbllNaW4iKQotICAgICAgICBtX2FsaWdu
ID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU47Ci0gICAgZWxzZSBpZiAocGFyYW1z
WzBdID09ICJ4TWlkWU1pbiIpCi0gICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RS
QVRJT19YTUlEWU1JTjsKLSAgICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNYXhZTWluIikKLSAg
ICAgICAgbV9hbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlOOwotICAgIGVs
c2UgaWYgKHBhcmFtc1swXSA9PSAieE1pbllNaWQiKQotICAgICAgICBtX2FsaWduID0gU1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSUQ7Ci0gICAgZWxzZSBpZiAocGFyYW1zWzBdID09ICJ4
TWlkWU1pZCIpCi0gICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlE
WU1JRDsKLSAgICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNYXhZTWlkIikKLSAgICAgICAgbV9h
bGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlEOwotICAgIGVsc2UgaWYgKHBh
cmFtc1swXSA9PSAieE1pbllNYXgiKQotICAgICAgICBtX2FsaWduID0gU1ZHX1BSRVNFUlZFQVNQ
RUNUUkFUSU9fWE1JTllNQVg7Ci0gICAgZWxzZSBpZiAocGFyYW1zWzBdID09ICJ4TWlkWU1heCIp
Ci0gICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1BWDsKLSAg
ICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNYXhZTWF4IikKLSAgICAgICAgbV9hbGlnbiA9IFNW
R19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUFYOwotCi0gICAgaWYgKG1fYWxpZ24gIT0gU1ZH
X1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORSkgewotICAgICAgICBpZiAoKHBhcmFtcy5zaXplKCkg
PiAxKSAmJiAocGFyYW1zWzFdID09ICJzbGljZSIpKQotICAgICAgICAgICAgbV9tZWV0T3JTbGlj
ZSA9IFNWR19NRUVUT1JTTElDRV9TTElDRTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9t
ZWV0T3JTbGljZSA9IFNWR19NRUVUT1JTTElDRV9NRUVUOworICAgIFN0cmluZyBwcmVzZXJ2ZSA9
IHN0cmluZzsKKyAgICBjb25zdCBVQ2hhciogY3VyclBhcmFtID0gcmVpbnRlcnByZXRfY2FzdDxj
b25zdCBVQ2hhcio+KHByZXNlcnZlLmNoYXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9uKCkpOwor
ICAgIGNvbnN0IFVDaGFyKiBlb1N0cmluZyA9IGN1cnJQYXJhbSArIHByZXNlcnZlLmxlbmd0aCgp
OworCisgICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJQYXJhbSk7CisKKyAgICBpZiAoKmN1cnJQ
YXJhbSA9PSAnZCcpIHsKKyAgICAgICAgaWYgKCEoKGVvU3RyaW5nIC0gY3VyclBhcmFtKSA+IDQp
ICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVsxXSA9PSAnZScgJiYKKyAgICAgICAgICAgICAg
Y3VyclBhcmFtWzJdID09ICdmJyAmJgorICAgICAgICAgICAgICBjdXJyUGFyYW1bM10gPT0gJ2Un
ICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVs0XSA9PSAncicpCisgICAgICAgICAgICBnb3Rv
IGJhaWxfb3V0OworICAgICAgICBjdXJyUGFyYW0gKz0gNTsKKyAgICAgICAgc2tpcE9wdGlvbmFs
U3BhY2VzKGN1cnJQYXJhbSk7CisgICAgfQorCisgICAgaWYgKCpjdXJyUGFyYW0gPT0gJ24nKSB7
CisgICAgICAgIGlmICghKChlb1N0cmluZyAtIGN1cnJQYXJhbSkgPiAzKSAmJgorICAgICAgICAg
ICAgICBjdXJyUGFyYW1bMV0gPT0gJ28nICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVsyXSA9
PSAnbicgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFtWzNdID09ICdlJykKKyAgICAgICAgICAg
IGdvdG8gYmFpbF9vdXQ7CisgICAgICAgIGN1cnJQYXJhbSArPSA0OworICAgICAgICBza2lwT3B0
aW9uYWxTcGFjZXMoY3VyclBhcmFtKTsKKyAgICAgICAgYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BF
Q1RSQVRJT19OT05FOworICAgIH0gZWxzZSBpZiAoKmN1cnJQYXJhbSA9PSAneCcpIHsKKyAgICAg
ICAgaWYgKChlb1N0cmluZyAtIGN1cnJQYXJhbSkgPCA4KQorICAgICAgICAgICAgZ290byBiYWls
X291dDsKKyAgICAgICAgaWYgKGN1cnJQYXJhbVsxXSAhPSAnTScgfHwgY3VyclBhcmFtWzRdICE9
ICdZJyB8fCBjdXJyUGFyYW1bNV0gIT0gJ00nKQorICAgICAgICAgICAgZ290byBiYWlsX291dDsK
KyAgICAgICAgaWYgKGN1cnJQYXJhbVsyXSA9PSAnaScgJiYgY3VyclBhcmFtWzNdID09ICduJykg
eworICAgICAgICAgICAgaWYgKGN1cnJQYXJhbVs2XSA9PSAnaScgJiYgY3VyclBhcmFtWzddID09
ICduJykgeworICAgICAgICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9f
WE1JTllNSU47CisgICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJQYXJhbVs2XSA9PSAnaScgJiYg
Y3VyclBhcmFtWzddID09ICdkJykgeworICAgICAgICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1JTllNSUQ7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJQYXJh
bVs2XSA9PSAnYScgJiYgY3VyclBhcmFtWzddID09ICd4JykgeworICAgICAgICAgICAgICAgIGFs
aWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNQVg7CisgICAgICAgICAgICB9IGVs
c2UKKyAgICAgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICB9IGVsc2UgaWYgKGN1
cnJQYXJhbVsyXSA9PSAnaScgJiYgY3VyclBhcmFtWzNdID09ICdkJykgeworICAgICAgICAgICAg
aWYgKGN1cnJQYXJhbVs2XSA9PSAnaScgJiYgY3VyclBhcmFtWzddID09ICduJykgeworICAgICAg
ICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSU47CisgICAg
ICAgICAgICB9IGVsc2UgaWYgKGN1cnJQYXJhbVs2XSA9PSAnaScgJiYgY3VyclBhcmFtWzddID09
ICdkJykgeworICAgICAgICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9f
WE1JRFlNSUQ7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJQYXJhbVs2XSA9PSAnYScgJiYg
Y3VyclBhcmFtWzddID09ICd4JykgeworICAgICAgICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1JRFlNQVg7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAg
ICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICB9IGVsc2UgaWYgKGN1cnJQYXJhbVsyXSA9PSAn
YScgJiYgY3VyclBhcmFtWzNdID09ICd4JykgeworICAgICAgICAgICAgaWYgKGN1cnJQYXJhbVs2
XSA9PSAnaScgJiYgY3VyclBhcmFtWzddID09ICduJykgeworICAgICAgICAgICAgICAgIGFsaWdu
ID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSU47CisgICAgICAgICAgICB9IGVsc2Ug
aWYgKGN1cnJQYXJhbVs2XSA9PSAnaScgJiYgY3VyclBhcmFtWzddID09ICdkJykgeworICAgICAg
ICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSUQ7CisgICAg
ICAgICAgICB9IGVsc2UgaWYgKGN1cnJQYXJhbVs2XSA9PSAnYScgJiYgY3VyclBhcmFtWzddID09
ICd4JykgeworICAgICAgICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9f
WE1BWFlNQVg7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBnb3RvIGJhaWxf
b3V0OworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAg
IGN1cnJQYXJhbSArPSA4OworICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyclBhcmFtKTsK
KyAgICB9CisKKyAgICBpZiAoKmN1cnJQYXJhbSA9PSAnbScpIHsKKyAgICAgICAgaWYgKCEoKGVv
U3RyaW5nIC0gY3VyclBhcmFtKSA+IDMpICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVsxXSA9
PSAnZScgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFtWzJdID09ICdlJyAmJgorICAgICAgICAg
ICAgICBjdXJyUGFyYW1bM10gPT0gJ3QnKQorICAgICAgICAgICAgZ290byBiYWlsX291dDsKKyAg
ICAgICAgY3VyclBhcmFtICs9IDQ7CisgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhjdXJyUGFy
YW0pOworICAgICAgICBtZWV0T3JTbGljZSA9IFNWR19NRUVUT1JTTElDRV9NRUVUOworICAgIH0g
ZWxzZSBpZiAoKmN1cnJQYXJhbSA9PSAncycpIHsKKyAgICAgICAgaWYgKCEoKGVvU3RyaW5nIC0g
Y3VyclBhcmFtKSA+IDQpICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVsxXSA9PSAnbCcgJiYK
KyAgICAgICAgICAgICAgY3VyclBhcmFtWzJdID09ICdpJyAmJgorICAgICAgICAgICAgICBjdXJy
UGFyYW1bM10gPT0gJ2MnICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVs0XSA9PSAnZScpCisg
ICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICBjdXJyUGFyYW0gKz0gNTsKKyAgICAg
ICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJQYXJhbSk7CisgICAgICAgIGlmIChtX2FsaWduICE9
IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX05PTkUpCisgICAgICAgICAgICBtZWV0T3JTbGljZSA9
IFNWR19NRUVUT1JTTElDRV9TTElDRTsKICAgICB9CiAKKyAgICBpZiAoZW9TdHJpbmcgIT0gY3Vy
clBhcmFtKQorICAgICAgICBnb3RvIGJhaWxfb3V0OyAvLyBUT0RPOiBtYXkgbmVlZCB0byBwcmlu
dCBhbiBlcnJvciBoZXJlCisKKyAgICBzZXRBbGlnbihhbGlnbik7CisgICAgc2V0TWVldE9yU2xp
Y2UobWVldE9yU2xpY2UpOworCisgICAgaWYgKG1fY29udGV4dCkKKyAgICAgICAgbV9jb250ZXh0
LT5ub3RpZnlBdHRyaWJ1dGVDaGFuZ2UoKTsKKyAgICByZXR1cm47CisKK2JhaWxfb3V0OgorICAg
IHNldEFsaWduKFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX05PTkUpOworICAgIHNldE1lZXRPclNs
aWNlKFNWR19NRUVUT1JTTElDRV9NRUVUKTsKKwogICAgIGlmIChtX2NvbnRleHQpCiAgICAgICAg
IG1fY29udGV4dC0+bm90aWZ5QXR0cmlidXRlQ2hhbmdlKCk7CiB9CkluZGV4OiBXZWJDb3JlL2tz
dmcyL3N2Zy9TVkdTdHJpbmdMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2
Zy9TVkdTdHJpbmdMaXN0LmNwcAkocmV2aXNpb24gMTY3ODEpCisrKyBXZWJDb3JlL2tzdmcyL3N2
Zy9TVkdTdHJpbmdMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQsNyBAQAogCiAj
aWZkZWYgU1ZHX1NVUFBPUlQKICNpbmNsdWRlICJTVkdTdHJpbmdMaXN0LmgiCisjaW5jbHVkZSAi
U1ZHUGFyc2VyVXRpbHMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC00MCwxMyArNDEs
MjcgQEAgdm9pZCBTVkdTdHJpbmdMaXN0OjpyZXNldChjb25zdCBTdHJpbmcmIAogewogICAgIEV4
Y2VwdGlvbkNvZGUgZWMgPSAwOwogCi0gICAgVmVjdG9yPFN0cmluZz4gdmVjdG9yID0gc3RyLnNw
bGl0KCcgJyk7Ci0gICAgaWYgKHZlY3Rvci5zaXplKCkgPT0gMCkgeworICAgIHBhcnNlKHN0ciwg
JyAnKTsKKyAgICBpZiAobnVtYmVyT2ZJdGVtcygpID09IDApCiAgICAgICAgIGFwcGVuZEl0ZW0o
U3RyaW5nKCIiKSwgZWMpOyAvLyBDcmVhdGUgZW1wdHkgc3RyaW5nLi4uCi0gICAgfSBlbHNlIHsK
LSAgICAgICAgVmVjdG9yPFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IHZlY3Rvci5lbmQo
KTsKLSAgICAgICAgZm9yKFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9IHZlY3Rv
ci5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgICAgICBhcHBlbmRJdGVtKCppdCwg
ZWMpOworfQorCit2b2lkIFNWR1N0cmluZ0xpc3Q6OnBhcnNlKGNvbnN0IFN0cmluZyYgZGF0YSwg
VUNoYXIgZGVsaW1pdGVyKQoreworICAgIC8vIFRPRE8gOiBtb3JlIGVycm9yIGNoZWNraW5nL3Jl
cG9ydGluZworICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOworICAgIGNsZWFyKGVjKTsKKworICAg
IFN0cmluZyBzdHJpbmdzID0gZGF0YTsgCisgICAgY29uc3QgVUNoYXIqIGN1cnJTdHJpbmcgPSBy
ZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4oc3RyaW5ncy5jaGFyYWN0ZXJzV2l0aE51bGxU
ZXJtaW5hdGlvbigpKTsKKyAgICB3aGlsZSAoKmN1cnJTdHJpbmcpIHsKKyAgICAgICAgY29uc3Qg
VUNoYXIqIHN0YXJ0U3RyaW5nID0gY3VyclN0cmluZzsKKyAgICAgICAgd2hpbGUgKCpjdXJyU3Ry
aW5nICYmICpjdXJyU3RyaW5nICE9IGRlbGltaXRlciAmJiAhaXNXaGl0ZXNwYWNlKCpjdXJyU3Ry
aW5nKSkKKyAgICAgICAgICAgIGN1cnJTdHJpbmcrKzsKKyAgICAgICAgaWYgKGN1cnJTdHJpbmcg
PiBzdGFydFN0cmluZykKKyAgICAgICAgICAgIGFwcGVuZEl0ZW0oU3RyaW5nKHN0YXJ0U3RyaW5n
LCBjdXJyU3RyaW5nIC0gc3RhcnRTdHJpbmcpLCBlYyk7CisgICAgICAgIHdoaWxlICgqY3VyclN0
cmluZyA9PSBkZWxpbWl0ZXIgfHwgaXNXaGl0ZXNwYWNlKCpjdXJyU3RyaW5nKSkKKyAgICAgICAg
ICAgIGN1cnJTdHJpbmcrKzsKICAgICB9CiB9CiAKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NW
R1N0cmluZ0xpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdTdHJpbmdM
aXN0LmgJKHJldmlzaW9uIDE2NzgxKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHU3RyaW5nTGlz
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgU1ZHU3RyaW5nTGlzdCgpOwogICAgICAgICB2aXJ0dWFsIH5TVkdTdHJpbmdMaXN0
KCk7CiAgICAgICAgIAorCQl2b2lkIHBhcnNlKGNvbnN0IFN0cmluZyYgZGF0YSwgVUNoYXIgZGVs
aW1pdGVyID0gJywnKTsKKwogICAgICAgICAvLyBJbnRlcm5hbAogICAgICAgICB2b2lkIHJlc2V0
KGNvbnN0IFN0cmluZyYgc3RyKTsKICAgICB9OwpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZH
VGVzdHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1Rlc3RzLmNwcAko
cmV2aXNpb24gMTY3ODEpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUZXN0cy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTg5LDEzICs4OSwxMyBAQCBib29sIFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0
dHJpYnV0ZShNYXBwCiB7CiAgICAgY29uc3QgU3RyaW5nJiB2YWx1ZSA9IGF0dHItPnZhbHVlKCk7
CiAgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6cmVxdWlyZWRGZWF0dXJlc0F0dHIp
IHsKLSAgICAgICAgcmVxdWlyZWRGZWF0dXJlcygpLT5yZXNldCh2YWx1ZS5kZXByZWNhdGVkU3Ry
aW5nKCkpOworICAgICAgICByZXF1aXJlZEZlYXR1cmVzKCktPnJlc2V0KHZhbHVlKTsKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6
OnJlcXVpcmVkRXh0ZW5zaW9uc0F0dHIpIHsKLSAgICAgICAgcmVxdWlyZWRFeHRlbnNpb25zKCkt
PnJlc2V0KHZhbHVlLmRlcHJlY2F0ZWRTdHJpbmcoKSk7CisgICAgICAgIHJlcXVpcmVkRXh0ZW5z
aW9ucygpLT5yZXNldCh2YWx1ZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0gZWxzZSBp
ZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpzeXN0ZW1MYW5ndWFnZUF0dHIpIHsKLSAgICAg
ICAgc3lzdGVtTGFuZ3VhZ2UoKS0+cmVzZXQodmFsdWUuZGVwcmVjYXRlZFN0cmluZygpKTsKKyAg
ICAgICAgc3lzdGVtTGFuZ3VhZ2UoKS0+cmVzZXQodmFsdWUpOwogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAgICAgCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUcmFuc2Zvcm1hYmxl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUcmFuc2Zvcm1hYmxlLmNw
cAkocmV2aXNpb24gMTY3ODEpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUcmFuc2Zvcm1hYmxl
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsMTIgKzMyLDEzIEBACiAjaW5jbHVkZSAiU1ZHTmFt
ZXMuaCIKICNpbmNsdWRlICJTVkdIZWxwZXIuaCIKICNpbmNsdWRlICJTVkdNYXRyaXguaCIKKyNp
bmNsdWRlICJTVkdQYXJzZXJVdGlscy5oIgogI2luY2x1ZGUgIlNWR1RyYW5zZm9ybWFibGUuaCIK
ICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlz
dC5oIgogI2luY2x1ZGUgImtzdmcuaCIKIAotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CituYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIFNWR1RyYW5zZm9ybWFibGU6OlNWR1RyYW5zZm9ybWFibGUoKSA6
IFNWR0xvY2F0YWJsZSgpCiB7CkBAIC00Nyw4MSArNDgsMTU1IEBAIFNWR1RyYW5zZm9ybWFibGU6
On5TVkdUcmFuc2Zvcm1hYmxlKCkKIHsKIH0KIAoraW50IHBhcnNlVHJhbnNmb3JtUGFyYW1MaXN0
KGNvbnN0IFVDaGFyKiYgcHRyLCBkb3VibGUqIHgsIGludCByZXF1aXJlZCwgaW50IG9wdGlvbmFs
KQoreworICAgIGludCBvcHRpb25hbFBhcmFtcyA9IDAsIHJlcXVpcmVkUGFyYW1zID0gMDsKKyAg
ICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsKKyAgICBpZiAoKnB0ciAhPSAnKCcpCisgICAgICAg
IHJldHVybiAtMTsKKyAgICBwdHIrKzsKKyAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsKKwor
ICAgIHdoaWxlIChyZXF1aXJlZFBhcmFtcyA8IHJlcXVpcmVkKSB7CisgICAgICAgIGlmICghdHJ5
UGFyc2VDb29yZChwdHIsIHhbcmVxdWlyZWRQYXJhbXNdKSkKKyAgICAgICAgICAgIHJldHVybiAt
MTsKKyAgICAgICAgcmVxdWlyZWRQYXJhbXMrKzsKKyAgICAgICAgaWYgKHJlcXVpcmVkUGFyYW1z
IDwgcmVxdWlyZWQpCisgICAgICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXNPckRlbGltaXRlcihw
dHIpOworICAgIH0KKyAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsKKworICAgIGlmICgqcHRy
ID09ICcpJykgeyAvLyBza2lwIG9wdGlvbmFscworICAgICAgICBwdHIrKzsKKyAgICB9IGVsc2Ug
eworICAgICAgICAgd2hpbGUgKG9wdGlvbmFsUGFyYW1zIDwgb3B0aW9uYWwpIHsKKyAgICAgICAg
ICAgIGlmICghdHJ5UGFyc2VDb29yZChwdHIsIHhbcmVxdWlyZWRQYXJhbXMgKyBvcHRpb25hbFBh
cmFtc10pKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgICAgIG9wdGlvbmFs
UGFyYW1zKys7CisgICAgICAgICAgICBpZiAob3B0aW9uYWxQYXJhbXMgPCBvcHRpb25hbCkKKyAg
ICAgICAgICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXNPckRlbGltaXRlcihwdHIpOworICAgICAg
ICAgfQorICAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0cik7CisKKyAgICAgICAgaWYgKCpw
dHIgIT0gJyknKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBwdHIrKzsKKyAgICB9
CisKKyAgICByZXR1cm4gcmVxdWlyZWRQYXJhbXMgKyBvcHRpb25hbFBhcmFtczsKK30KKwogdm9p
ZCBTVkdUcmFuc2Zvcm1hYmxlOjpwYXJzZVRyYW5zZm9ybUF0dHJpYnV0ZShTVkdUcmFuc2Zvcm1M
aXN0ICpsaXN0LCBjb25zdCBBdG9taWNTdHJpbmcmIHRyYW5zZm9ybSkKIHsKLSAgICAvLyBTcGxp
dCBzdHJpbmcgZm9yIGhhbmRsaW5nIDEgdHJhbnNmb3JtIHN0YXRlbWVudCBhdCBhIHRpbWUKLSAg
ICBWZWN0b3I8U3RyaW5nPiBzdWJ0cmFuc2Zvcm1zID0gdHJhbnNmb3JtLmRvbVN0cmluZygpLnNp
bXBsaWZ5V2hpdGVTcGFjZSgpLnNwbGl0KCcpJyk7Ci0gICAgVmVjdG9yPFN0cmluZz46OmNvbnN0
X2l0ZXJhdG9yIGVuZCA9IHN1YnRyYW5zZm9ybXMuZW5kKCk7Ci0gICAgZm9yIChWZWN0b3I8U3Ry
aW5nPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBzdWJ0cmFuc2Zvcm1zLmJlZ2luKCk7IGl0ICE9IGVu
ZDsgKytpdCkgewotICAgICAgICBWZWN0b3I8U3RyaW5nPiBzdWJ0cmFuc2Zvcm0gPSAoKml0KS5z
cGxpdCgnKCcpOwotICAgICAgICAKLSAgICAgICAgaWYgKHN1YnRyYW5zZm9ybS5zaXplKCkgPCAy
KQotICAgICAgICAgICAgYnJlYWs7IC8vIGludmFsaWQgdHJhbnNmb3JtLCBpZ25vcmUuCi0KLSAg
ICAgICAgc3VidHJhbnNmb3JtWzBdID0gc3VidHJhbnNmb3JtWzBdLnN0cmlwV2hpdGVTcGFjZSgp
Lmxvd2VyKCk7Ci0gICAgICAgIHN1YnRyYW5zZm9ybVsxXSA9IHN1YnRyYW5zZm9ybVsxXS5zaW1w
bGlmeVdoaXRlU3BhY2UoKTsKLSAgICAgICAgUmVndWxhckV4cHJlc3Npb24gcmVnKCIoWy1dP1xc
ZCpcXC4/XFxkKyg/OmVbLV0/XFxkKyk/KSIpOwotCi0gICAgICAgIGludCBwb3MgPSAwOwotICAg
ICAgICBWZWN0b3I8U3RyaW5nPiBwYXJhbXM7Ci0gICAgICAgIAotICAgICAgICB3aGlsZSAocG9z
ID49IDApIHsKLSAgICAgICAgICAgIHBvcyA9IHJlZy5zZWFyY2goc3VidHJhbnNmb3JtWzFdLmRl
cHJlY2F0ZWRTdHJpbmcoKSwgcG9zKTsKLSAgICAgICAgICAgIGlmIChwb3MgIT0gLTEpIHsKLSAg
ICAgICAgICAgICAgICBwYXJhbXMuYXBwZW5kKHJlZy5jYXAoMSkpOwotICAgICAgICAgICAgICAg
IHBvcyArPSByZWcubWF0Y2hlZExlbmd0aCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0g
ICAgICAgIAotICAgICAgICBpZiAocGFyYW1zLnNpemUoKSA8IDEpCi0gICAgICAgICAgICBicmVh
azsKKyAgICBkb3VibGUgeFs2XSA9IHswLCAwLCAwLCAwLCAwLCAwfTsKKyAgICBpbnQgbnIgPSAw
LCByZXF1aXJlZCA9IDAsIG9wdGlvbmFsID0gMDsKKyAgICAKKyAgICBTdHJpbmcgdHJhbnNmb3Jt
cyA9IHRyYW5zZm9ybTsKKyAgICBjb25zdCBVQ2hhciogY3VyclRyYW5zZm9ybSA9IHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPih0cmFuc2Zvcm1zLmNoYXJhY3RlcnNXaXRoTnVsbFRlcm1p
bmF0aW9uKCkpOworICAgIGNvbnN0IFVDaGFyKiBlb1N0cmluZyA9IGN1cnJUcmFuc2Zvcm0gKyB0
cmFuc2Zvcm1zLmxlbmd0aCgpOworCisgICAgd2hpbGUgKGN1cnJUcmFuc2Zvcm0gPCBlb1N0cmlu
ZykgeworICAgICAgICB1bnNpZ25lZCBzaG9ydCB0eXBlID0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJB
TlNGT1JNX1VOS05PV047CisgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhjdXJyVHJhbnNmb3Jt
KTsKKworICAgICAgICBpZiAoKmN1cnJUcmFuc2Zvcm0gPT0gJ3MnKSB7CisgICAgICAgICAgICBp
ZiAoIShlb1N0cmluZyAtIGN1cnJUcmFuc2Zvcm0pID4gNSkKKyAgICAgICAgICAgICAgICBnb3Rv
IGJhaWxfb3V0OworICAgICAgICAgICAgaWYgKGN1cnJUcmFuc2Zvcm1bMV0gPT0gJ2snICYmIGN1
cnJUcmFuc2Zvcm1bMl0gPT0gJ2UnICYmCisgICAgICAgICAgICAgICAgICBjdXJyVHJhbnNmb3Jt
WzNdID09ICd3JykgeworICAgICAgICAgICAgICAgIGlmICggY3VyclRyYW5zZm9ybVs0XSA9PSAn
WCcpCisgICAgICAgICAgICAgICAgICAgIHR5cGUgPSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZP
Uk1fU0tFV1g7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoIGN1cnJUcmFuc2Zvcm1bNF0gPT0g
J1knKQorICAgICAgICAgICAgICAgICAgICB0eXBlID0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNG
T1JNX1NLRVdZOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgZ290
byBiYWlsX291dDsKKyAgICAgICAgICAgICAgICByZXF1aXJlZCA9IDE7CisgICAgICAgICAgICAg
ICAgb3B0aW9uYWwgPSAwOworICAgICAgICAgICAgfSBlbHNlIGlmIChjdXJyVHJhbnNmb3JtWzFd
ID09ICdjJyAmJiBjdXJyVHJhbnNmb3JtWzJdID09ICdhJyAmJgorICAgICAgICAgICAgICAgICAg
Y3VyclRyYW5zZm9ybVszXSA9PSAnbCcgJiYgY3VyclRyYW5zZm9ybVs0XSA9PSAnZScpIHsKKyAg
ICAgICAgICAgICAgICByZXF1aXJlZCA9IDE7CisgICAgICAgICAgICAgICAgb3B0aW9uYWwgPSAx
OworICAgICAgICAgICAgICAgIHR5cGUgPSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fU0NB
TEU7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBnb3RvIGJhaWxfb3V0Owor
ICAgICAgICAgICAgY3VyclRyYW5zZm9ybSArPSA1OworICAgICAgICB9IGVsc2UgaWYgKCpjdXJy
VHJhbnNmb3JtID09ICd0JykgeworICAgICAgICAgICAgaWYgKCEoKGVvU3RyaW5nIC0gY3VyclRy
YW5zZm9ybSkgPiA5KSAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVsxXSA9PSAn
cicgJiYgY3VyclRyYW5zZm9ybVsyXSA9PSAnYScgJiYKKyAgICAgICAgICAgICAgICAgIGN1cnJU
cmFuc2Zvcm1bM10gPT0gJ24nICYmIGN1cnJUcmFuc2Zvcm1bNF0gPT0gJ3MnICYmCisgICAgICAg
ICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzVdID09ICdsJyAmJiBjdXJyVHJhbnNmb3JtWzZdID09
ICdhJyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVs3XSA9PSAndCcgJiYgY3Vy
clRyYW5zZm9ybVs4XSA9PSAnZScpCisgICAgICAgICAgICAgICAgZ290byBiYWlsX291dDsKKyAg
ICAgICAgICAgIGN1cnJUcmFuc2Zvcm0gKz0gOTsKKyAgICAgICAgICAgIHJlcXVpcmVkID0gMTsK
KyAgICAgICAgICAgIG9wdGlvbmFsID0gMTsKKyAgICAgICAgICAgIHR5cGUgPSBTVkdUcmFuc2Zv
cm06OlNWR19UUkFOU0ZPUk1fVFJBTlNMQVRFOworICAgICAgICB9IGVsc2UgaWYgKCpjdXJyVHJh
bnNmb3JtID09ICdyJykgeworICAgICAgICAgICAgaWYgKCEoKGVvU3RyaW5nIC0gY3VyclRyYW5z
Zm9ybSkgPiA2KSAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVsxXSA9PSAnbycg
JiYgY3VyclRyYW5zZm9ybVsyXSA9PSAndCcgJiYKKyAgICAgICAgICAgICAgICAgIGN1cnJUcmFu
c2Zvcm1bM10gPT0gJ2EnICYmIGN1cnJUcmFuc2Zvcm1bNF0gPT0gJ3QnICYmCisgICAgICAgICAg
ICAgICAgICBjdXJyVHJhbnNmb3JtWzVdID09ICdlJykKKyAgICAgICAgICAgICAgICBnb3RvIGJh
aWxfb3V0OworICAgICAgICAgICAgY3VyclRyYW5zZm9ybSArPSA2OworICAgICAgICAgICAgcmVx
dWlyZWQgPSAxOworICAgICAgICAgICAgb3B0aW9uYWwgPSAyOworICAgICAgICAgICAgdHlwZSA9
IFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9ST1RBVEU7CisgICAgICAgIH0gZWxzZSBpZiAo
KmN1cnJUcmFuc2Zvcm0gPT0gJ20nKSB7CisgICAgICAgICAgICBpZiAoISgoZW9TdHJpbmcgLSBj
dXJyVHJhbnNmb3JtKSA+IDYpICYmIGN1cnJUcmFuc2Zvcm1bMV0gPT0gJ2EnICYmCisgICAgICAg
ICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzJdID09ICd0JyAmJiBjdXJyVHJhbnNmb3JtWzNdID09
ICdyJyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVs0XSA9PSAnaScgJiYgY3Vy
clRyYW5zZm9ybVs1XSA9PSAneCcpCisgICAgICAgICAgICAgICAgZ290byBiYWlsX291dDsKKyAg
ICAgICAgICAgIGN1cnJUcmFuc2Zvcm0gKz0gNjsKKyAgICAgICAgICAgIHJlcXVpcmVkID0gNjsK
KyAgICAgICAgICAgIG9wdGlvbmFsID0gMDsKKyAgICAgICAgICAgIHR5cGUgPSBTVkdUcmFuc2Zv
cm06OlNWR19UUkFOU0ZPUk1fTUFUUklYOworICAgICAgICB9IGVsc2UgCisgICAgICAgICAgICBn
b3RvIGJhaWxfb3V0OwogCi0gICAgICAgIGlmIChzdWJ0cmFuc2Zvcm1bMF0uc3RhcnRzV2l0aCgi
OyIpIHx8IHN1YnRyYW5zZm9ybVswXS5zdGFydHNXaXRoKCIsIikpCi0gICAgICAgICAgICBzdWJ0
cmFuc2Zvcm1bMF0gPSBzdWJ0cmFuc2Zvcm1bMF0uc3Vic3RyaW5nKDEpLnN0cmlwV2hpdGVTcGFj
ZSgpOworICAgICAgICBpZiAoKG5yID0gcGFyc2VUcmFuc2Zvcm1QYXJhbUxpc3QoY3VyclRyYW5z
Zm9ybSwgeCwgcmVxdWlyZWQsIG9wdGlvbmFsKSkgPCAwKQorICAgICAgICAgICAgZ290byBiYWls
X291dDsKIAogICAgICAgICBTVkdUcmFuc2Zvcm0qIHQgPSBuZXcgU1ZHVHJhbnNmb3JtKCk7Ci0K
LSAgICAgICAgaWYgKHN1YnRyYW5zZm9ybVswXSA9PSAicm90YXRlIikgewotICAgICAgICAgICAg
aWYgKHBhcmFtcy5zaXplKCkgPT0gMykKLSAgICAgICAgICAgICAgICB0LT5zZXRSb3RhdGUocGFy
YW1zWzBdLnRvRG91YmxlKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1sx
XS50b0RvdWJsZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zWzJdLnRv
RG91YmxlKCkpOwotICAgICAgICAgICAgZWxzZSBpZiAocGFyYW1zLnNpemUoKSA9PSAxKQotICAg
ICAgICAgICAgICAgIHQtPnNldFJvdGF0ZShwYXJhbXNbMF0udG9Eb3VibGUoKSwgMCwgMCk7Ci0g
ICAgICAgIH0gZWxzZSBpZiAoc3VidHJhbnNmb3JtWzBdID09ICJ0cmFuc2xhdGUiKSB7Ci0gICAg
ICAgICAgICBpZiAocGFyYW1zLnNpemUoKSA9PSAyKQotICAgICAgICAgICAgICAgIHQtPnNldFRy
YW5zbGF0ZShwYXJhbXNbMF0udG9Eb3VibGUoKSwgcGFyYW1zWzFdLnRvRG91YmxlKCkpOwotICAg
ICAgICAgICAgZWxzZSBpZiAocGFyYW1zLnNpemUoKSA9PSAxKSAvLyBTcGVjOiBpZiBvbmx5IG9u
ZSBwYXJhbSBnaXZlbiwgYXNzdW1lIDJuZCBwYXJhbSB0byBiZSAwCi0gICAgICAgICAgICAgICAg
dC0+c2V0VHJhbnNsYXRlKHBhcmFtc1swXS50b0RvdWJsZSgpLCAwKTsKLSAgICAgICAgfSBlbHNl
IGlmIChzdWJ0cmFuc2Zvcm1bMF0gPT0gInNjYWxlIikgewotICAgICAgICAgICAgaWYgKHBhcmFt
cy5zaXplKCkgPT0gMikKLSAgICAgICAgICAgICAgICB0LT5zZXRTY2FsZShwYXJhbXNbMF0udG9E
b3VibGUoKSwgcGFyYW1zWzFdLnRvRG91YmxlKCkpOwotICAgICAgICAgICAgZWxzZSBpZiAocGFy
YW1zLnNpemUoKSA9PSAxKSAvLyBTcGVjOiBpZiBvbmx5IG9uZSBwYXJhbSBnaXZlbiwgYXNzdW1l
IHVuaWZvcm0gc2NhbGluZwotICAgICAgICAgICAgICAgIHQtPnNldFNjYWxlKHBhcmFtc1swXS50
b0RvdWJsZSgpLCBwYXJhbXNbMF0udG9Eb3VibGUoKSk7Ci0gICAgICAgIH0gZWxzZSBpZiAoc3Vi
dHJhbnNmb3JtWzBdID09ICJza2V3eCIgJiYgKHBhcmFtcy5zaXplKCkgPT0gMSkpCi0gICAgICAg
ICAgICB0LT5zZXRTa2V3WChwYXJhbXNbMF0udG9Eb3VibGUoKSk7Ci0gICAgICAgIGVsc2UgaWYg
KHN1YnRyYW5zZm9ybVswXSA9PSAic2tld3kiICYmIChwYXJhbXMuc2l6ZSgpID09IDEpKQotICAg
ICAgICAgICAgdC0+c2V0U2tld1kocGFyYW1zWzBdLnRvRG91YmxlKCkpOwotICAgICAgICBlbHNl
IGlmIChzdWJ0cmFuc2Zvcm1bMF0gPT0gIm1hdHJpeCIgJiYgKHBhcmFtcy5zaXplKCkgPT0gNikp
IHsKLSAgICAgICAgICAgIFNWR01hdHJpeCAqcmV0ID0gbmV3IFNWR01hdHJpeChwYXJhbXNbMF0u
dG9Eb3VibGUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhcmFtc1sxXS50b0RvdWJsZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zWzJdLnRvRG91YmxlKCksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNbM10udG9Eb3Vi
bGUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBhcmFtc1s0XS50b0RvdWJsZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGFyYW1zWzVdLnRvRG91YmxlKCkpOwotICAgICAgICAgICAgdC0+
c2V0TWF0cml4KHJldCk7CisgICAgICAgIHN3aXRjaCAodHlwZSkKKyAgICAgICAgeworICAgICAg
ICAgICAgY2FzZSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fU0tFV1g6CisgICAgICAgICAg
ICAgICB0LT5zZXRTa2V3WCh4WzBdKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1NLRVdZOgorICAgICAgICAgICAg
ICAgdC0+c2V0U2tld1koeFswXSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9TQ0FMRToKKyAgICAgICAgICAgICAg
ICAgIGlmIChuciA9PSAxKSAvLyBTcGVjOiBpZiBvbmx5IG9uZSBwYXJhbSBnaXZlbiwgYXNzdW1l
IHVuaWZvcm0gc2NhbGluZworICAgICAgICAgICAgICAgICAgICAgIHQtPnNldFNjYWxlKHhbMF0s
IHhbMF0pOworICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgIHQt
PnNldFNjYWxlKHhbMF0sIHhbMV0pOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAg
ICAgY2FzZSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fVFJBTlNMQVRFOgorICAgICAgICAg
ICAgICAgICAgaWYgKG5yID09IDEpIC8vIFNwZWM6IGlmIG9ubHkgb25lIHBhcmFtIGdpdmVuLCBh
c3N1bWUgMm5kIHBhcmFtIHRvIGJlIDAKKyAgICAgICAgICAgICAgICAgICAgICB0LT5zZXRUcmFu
c2xhdGUoeFswXSwgMCk7CisgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
ICAgICAgdC0+c2V0VHJhbnNsYXRlKHhbMF0sIHhbMV0pOworICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgY2FzZSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fUk9UQVRFOgor
ICAgICAgICAgICAgICAgICAgaWYgKG5yID09IDEpCisgICAgICAgICAgICAgICAgICAgICAgdC0+
c2V0Um90YXRlKHhbMF0sIDAsIDApOworICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgICAgICAgIHQtPnNldFJvdGF0ZSh4WzBdLCB4WzFdLCB4WzJdKTsKKyAgICAgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JN
X01BVFJJWDoKKyAgICAgICAgICAgICAgICB0LT5zZXRNYXRyaXgobmV3IFNWR01hdHJpeCh4WzBd
LCB4WzFdLCB4WzJdLCB4WzNdLCB4WzRdLCB4WzVdKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIGlmICh0LT50eXBlKCkgPT0gU1ZHVHJhbnNm
b3JtOjpTVkdfVFJBTlNGT1JNX1VOS05PV04pIHsKLSAgICAgICAgICAgIGRlbGV0ZSB0OwotICAg
ICAgICAgICAgYnJlYWs7IC8vIGZhaWxlZCB0byBwYXJzZSBhIHZhbGlkIHRyYW5zZm9ybSwgYWJv
cnQuCi0gICAgICAgIH0KLQogICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICAgICAg
bGlzdC0+YXBwZW5kSXRlbSh0LCBlYyk7CisgICAgICAgIHNraXBPcHRpb25hbFNwYWNlc09yRGVs
aW1pdGVyKGN1cnJUcmFuc2Zvcm0pOwogICAgIH0KK2JhaWxfb3V0OiA7CiB9CiAKK30KKworCiAv
LyB2aW06dHM9NDpub2V0CiAjZW5kaWYgLy8gU1ZHX1NVUFBPUlQKIApJbmRleDogV2ViQ29yZS9r
c3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9z
dmcvc3ZncGF0aHBhcnNlci5jcHAJKHJldmlzaW9uIDE2NzgxKQorKysgV2ViQ29yZS9rc3ZnMi9z
dmcvc3ZncGF0aHBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNTk4ICswLDAgQEAKLS8q
IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdAotICAgQ29weXJpZ2h0IChDKSAy
MDAyLCAyMDAzIFRoZSBLYXJib24gRGV2ZWxvcGVycwotICAgICAgICAgICAgICAgICAyMDA2ICAg
ICAgIEFsZXhhbmRlciBLZWxsZXR0IDxseXBhbm92QGtkZS5vcmc+Ci0KLSAgIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
Ci0gICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
OyBlaXRoZXIKLSAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
LSAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0g
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCi0gICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICAgQm9zdG9u
LCBNQSAwMjExMS0xMzA3LCBVU0EuCi0qLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaWZkZWYg
U1ZHX1NVUFBPUlQKLSNpbmNsdWRlICJzdmdwYXRocGFyc2VyLmgiCi0jaW5jbHVkZSAiRGVwcmVj
YXRlZFN0cmluZy5oIgotI2luY2x1ZGUgPG1hdGguaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewot
Ci0vLyBTVkcgYWxsb3dzIHNldmVyYWwgZGlmZmVyZW50IHdoaXRlc3BhY2UgY2hhcmFjdGVyczoK
LS8vIGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9wYXRocy5odG1sI1BhdGhEYXRhQk5GCi1zdGF0
aWMgaW5saW5lIGJvb2wgaXNXaGl0ZXNwYWNlKGNoYXIgYykgewotICAgIHJldHVybiAoYyA9PSAn
ICcgfHwgYyA9PSAnXHQnIHx8IGMgPT0gJ1xuJyB8fCBjID09ICdccicpOwotfQotCi0vLyBBbGwg
c3RyaW5ncyBhcmUgYXNzdW1lZCB0byBiZSBudWxsIHRlcm1pbmF0ZWQKLXN0YXRpYyBpbmxpbmUg
Ym9vbCBza2lwT3B0aW9uYWxTcGFjZXMoY29uc3QgY2hhciomIHB0cikgLy8gdHJ1ZSBtZWFucyAi
Zm91bmQgc3BhY2UiCi17Ci0gICAgaWYgKCFpc1doaXRlc3BhY2UoKnB0cikpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICB3aGlsZSAoaXNXaGl0ZXNwYWNlKCpwdHIpKQotICAgICAgICBwdHIr
KzsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotc3RhdGljIGlubGluZSBib29sIHNraXBPcHRpb25h
bFNwYWNlc09yQ29tbWEoY29uc3QgY2hhciomIHB0cikKLXsKLSAgICBpZiAoIWlzV2hpdGVzcGFj
ZSgqcHRyKSAmJiAqcHRyICE9ICcsJykKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHNraXBP
cHRpb25hbFNwYWNlcyhwdHIpOwotICAgIGlmICgqcHRyID09ICcsJykgewotICAgICAgICBwdHIr
KzsKLSAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0cik7Ci0gICAgfQotICAgIHJldHVybiB0
cnVlOwotfQotCi0KLWNvbnN0IGNoYXIqIHBhcnNlQ29vcmQoY29uc3QgY2hhciogcHRyLCBkb3Vi
bGUgJm51bWJlcikKLXsKLSAgICBpbnQgaW50ZWdlciwgZXhwb25lbnQ7Ci0gICAgZG91YmxlIGRl
Y2ltYWwsIGZyYWM7Ci0gICAgaW50IHNpZ24sIGV4cHNpZ247Ci0KLSAgICBleHBvbmVudCA9IDA7
Ci0gICAgaW50ZWdlciA9IDA7Ci0gICAgZnJhYyA9IDEuMDsKLSAgICBkZWNpbWFsID0gMDsKLSAg
ICBzaWduID0gMTsKLSAgICBleHBzaWduID0gMTsKLQotICAgIC8vIHJlYWQgdGhlIHNpZ24KLSAg
ICBpZiAoKnB0ciA9PSAnKycpCi0gICAgICAgIHB0cisrOwotICAgIGVsc2UgaWYgKCpwdHIgPT0g
Jy0nKSB7Ci0gICAgICAgIHB0cisrOwotICAgICAgICBzaWduID0gLTE7Ci0gICAgfQotICAgIC8v
IHJlYWQgdGhlIGludGVnZXIgcGFydAotICAgIHdoaWxlKCpwdHIgIT0gJ1wwJyAmJiAqcHRyID49
ICcwJyAmJiAqcHRyIDw9ICc5JykKLSAgICAgICAgaW50ZWdlciA9IChpbnRlZ2VyICogMTApICsg
KihwdHIrKykgLSAnMCc7Ci0KLSAgICBpZiAoKnB0ciA9PSAnLicpIHsgLy8gcmVhZCB0aGUgZGVj
aW1hbHMKLSAgICAgICAgcHRyKys7Ci0gICAgICAgIHdoaWxlKCpwdHIgIT0gJ1wwJyAmJiAqcHRy
ID49ICcwJyAmJiAqcHRyIDw9ICc5JykKLSAgICAgICAgICAgIGRlY2ltYWwgKz0gKCoocHRyKysp
IC0gJzAnKSAqIChmcmFjICo9IDAuMSk7Ci0gICAgfQotCi0gICAgaWYgKCpwdHIgPT0gJ2UnIHx8
ICpwdHIgPT0gJ0UnKSB7IC8vIHJlYWQgdGhlIGV4cG9uZW50IHBhcnQKLSAgICAgICAgcHRyKys7
Ci0KLSAgICAgICAgLy8gcmVhZCB0aGUgc2lnbiBvZiB0aGUgZXhwb25lbnQKLSAgICAgICAgaWYg
KCpwdHIgPT0gJysnKQotICAgICAgICAgICAgcHRyKys7Ci0gICAgICAgIGVsc2UgaWYgKCpwdHIg
PT0gJy0nKSB7Ci0gICAgICAgICAgICBwdHIrKzsKLSAgICAgICAgICAgIGV4cHNpZ24gPSAtMTsK
LSAgICAgICAgfQotCi0gICAgICAgIGV4cG9uZW50ID0gMDsKLSAgICAgICAgd2hpbGUoKnB0ciAh
PSAnXDAnICYmICpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzknKSB7Ci0gICAgICAgICAgICBleHBv
bmVudCAqPSAxMDsKLSAgICAgICAgICAgIGV4cG9uZW50ICs9ICpwdHIgLSAnMCc7Ci0gICAgICAg
ICAgICBwdHIrKzsKLSAgICAgICAgfQotICAgIH0KLQotICAgIG51bWJlciA9IGludGVnZXIgKyBk
ZWNpbWFsOwotICAgIG51bWJlciAqPSBzaWduICogcG93KDEwLjAsIGV4cHNpZ24gKiBleHBvbmVu
dCk7Ci0KLSAgICBza2lwT3B0aW9uYWxTcGFjZXNPckNvbW1hKHB0cik7Ci0KLSAgICByZXR1cm4g
cHRyOwotfQotCi12b2lkIFNWR1BvbHlQYXJzZXI6OnBhcnNlUG9pbnRzKGNvbnN0IERlcHJlY2F0
ZWRTdHJpbmcmIHMpIGNvbnN0Ci17Ci0gICAgaWYgKHMuaXNFbXB0eSgpKQotICAgICAgICByZXR1
cm47Ci0gICAgRGVwcmVjYXRlZFN0cmluZyBwb2ludERhdGEgPSBzOwotICAgIGNvbnN0IGNoYXIq
IGN1cnJTZWdtZW50ID0gcG9pbnREYXRhLmxhdGluMSgpOwotICAgIGNvbnN0IGNoYXIqIGVvU3Ry
aW5nID0gcG9pbnREYXRhLmxhdGluMSgpICsgcG9pbnREYXRhLmxlbmd0aCgpOwotICAgIAotICAg
IHNraXBPcHRpb25hbFNwYWNlcyhjdXJyU2VnbWVudCk7Ci0gICAgCi0gICAgaW50IHNlZ21lbnRO
dW0gPSAwOwotICAgIHdoaWxlIChjdXJyU2VnbWVudCA8IGVvU3RyaW5nKSB7Ci0gICAgICAgIGNv
bnN0IGNoYXIqIHByZXZTZWdtZW50ID0gY3VyclNlZ21lbnQ7Ci0gICAgICAgIGRvdWJsZSB4UG9z
ID0gMDsKLSAgICAgICAgY3VyclNlZ21lbnQgPSBwYXJzZUNvb3JkKGN1cnJTZWdtZW50LCB4UG9z
KTsgCi0gICAgICAgIGlmIChjdXJyU2VnbWVudCA9PSBwcmV2U2VnbWVudCkKLSAgICAgICAgICAg
IGJyZWFrOwotCi0gICAgICAgIHByZXZTZWdtZW50ID0gY3VyclNlZ21lbnQ7Ci0gICAgICAgIGRv
dWJsZSB5UG9zID0gMDsKLSAgICAgICAgY3VyclNlZ21lbnQgPSBwYXJzZUNvb3JkKGN1cnJTZWdt
ZW50LCB5UG9zKTsKLSAgICAgICAgaWYgKGN1cnJTZWdtZW50ID09IHByZXZTZWdtZW50KQotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAKLSAgICAgICAgc3ZnUG9seVRvKHhQb3MsIHlQ
b3MsIHNlZ21lbnROdW0rKyk7Ci0gICAgfQotfQotCi12b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNl
U1ZHKGNvbnN0IERlcHJlY2F0ZWRTdHJpbmcmIHMsIGJvb2wgcHJvY2VzcykKLXsKLSAgICBpZiAo
cy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIERlcHJlY2F0ZWRTdHJpbmcgZCA9
IHM7Ci0gICAgY29uc3QgY2hhciogcHRyID0gZC5sYXRpbjEoKTsKLSAgICBjb25zdCBjaGFyKiBl
bmQgPSBkLmxhdGluMSgpICsgZC5sZW5ndGgoKSArIDE7Ci0KLSAgICBkb3VibGUgY29udHJseCwg
Y29udHJseSwgY3VyeCwgY3VyeSwgc3VicGF0aHgsIHN1YnBhdGh5LCB0b3gsIHRveSwgeDEsIHkx
LCB4MiwgeTIsIHhjLCB5YzsKLSAgICBkb3VibGUgcHgxLCBweTEsIHB4MiwgcHkyLCBweDMsIHB5
MzsKLSAgICBib29sIGNsb3NlZCA9IHRydWU7Ci0gICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0cik7
IC8vIHNraXAgYW55IGxlYWRpbmcgc3BhY2VzCi0gICAgY2hhciBjb21tYW5kID0gKihwdHIrKyks
IGxhc3RDb21tYW5kID0gJyAnOwotCi0gICAgc3VicGF0aHggPSBzdWJwYXRoeSA9IGN1cnggPSBj
dXJ5ID0gY29udHJseCA9IGNvbnRybHkgPSAwLjA7Ci0gICAgd2hpbGUocHRyIDwgZW5kKSB7Ci0g
ICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIpOyAvLyBza2lwIHNwYWNlcyBiZXR3ZWVuIGNv
bW1hbmQgYW5kIGZpcnN0IGNvb3JkCi0KLSAgICAgICAgYm9vbCByZWxhdGl2ZSA9IGZhbHNlOwot
Ci0gICAgICAgIHN3aXRjaChjb21tYW5kKQotICAgICAgICB7Ci0gICAgICAgICAgICBjYXNlICdt
JzoKLSAgICAgICAgICAgICAgICByZWxhdGl2ZSA9IHRydWU7Ci0gICAgICAgICAgICBjYXNlICdN
JzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwg
dG94KTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95KTsKLQotICAg
ICAgICAgICAgICAgIGlmIChwcm9jZXNzKSB7Ci0gICAgICAgICAgICAgICAgICAgIHN1YnBhdGh4
ID0gY3VyeCA9IHJlbGF0aXZlID8gY3VyeCArIHRveCA6IHRveDsKLSAgICAgICAgICAgICAgICAg
ICAgc3VicGF0aHkgPSBjdXJ5ID0gcmVsYXRpdmUgPyBjdXJ5ICsgdG95IDogdG95OwotCi0gICAg
ICAgICAgICAgICAgICAgIHN2Z01vdmVUbyhjdXJ4LCBjdXJ5LCBjbG9zZWQpOwotICAgICAgICAg
ICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgICAgICBzdmdNb3ZlVG8odG94LCB0b3ksIGNs
b3NlZCwgIXJlbGF0aXZlKTsKLSAgICAgICAgICAgICAgICBjbG9zZWQgPSBmYWxzZTsKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNhc2UgJ2wnOgot
ICAgICAgICAgICAgICAgIHJlbGF0aXZlID0gdHJ1ZTsKLSAgICAgICAgICAgIGNhc2UgJ0wnOgot
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3gp
OwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3kpOwotCi0gICAgICAg
ICAgICAgICAgaWYgKHByb2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAgY3VyeCA9IHJlbGF0
aXZlID8gY3VyeCArIHRveCA6IHRveDsKLSAgICAgICAgICAgICAgICAgICAgY3VyeSA9IHJlbGF0
aXZlID8gY3VyeSArIHRveSA6IHRveTsKLQotICAgICAgICAgICAgICAgICAgICBzdmdMaW5lVG8o
Y3VyeCwgY3VyeSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UKLSAg
ICAgICAgICAgICAgICAgICAgc3ZnTGluZVRvKHRveCwgdG95LCAhcmVsYXRpdmUpOwotICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAnaCc6Ci0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7
Ci0gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAgY3Vy
eCA9IGN1cnggKyB0b3g7Ci0gICAgICAgICAgICAgICAgICAgIHN2Z0xpbmVUbyhjdXJ4LCBjdXJ5
KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAg
ICAgICAgICBzdmdMaW5lVG9Ib3Jpem9udGFsKHRveCwgZmFsc2UpOwotICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAnSCc6Ci0gICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7Ci0gICAgICAg
ICAgICAgICAgaWYgKHByb2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAgY3VyeCA9IHRveDsK
LSAgICAgICAgICAgICAgICAgICAgc3ZnTGluZVRvKGN1cngsIGN1cnkpOwotICAgICAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHN2Z0xpbmVU
b0hvcml6b250YWwodG94KTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIGNhc2UgJ3YnOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHB0
ciA9IHBhcnNlQ29vcmQocHRyLCB0b3kpOwotICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGN1cnkgPSBjdXJ5ICsgdG95OwotICAgICAgICAgICAgICAg
ICAgICBzdmdMaW5lVG8oY3VyeCwgY3VyeSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgc3ZnTGluZVRvVmVydGljYWwodG95LCBm
YWxzZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBjYXNlICdWJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNv
b3JkKHB0ciwgdG95KTsKLSAgICAgICAgICAgICAgICBpZiAocHJvY2VzcykgewotICAgICAgICAg
ICAgICAgICAgICBjdXJ5ID0gdG95OwotICAgICAgICAgICAgICAgICAgICBzdmdMaW5lVG8oY3Vy
eCwgY3VyeSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICAgICAgc3ZnTGluZVRvVmVydGljYWwodG95KTsKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNhc2UgJ3onOgotICAgICAgICAgICAg
Y2FzZSAnWic6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgLy8gcmVzZXQgY3VyeCwg
Y3VyeSBmb3IgbmV4dCBwYXRoCi0gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsKLSAgICAg
ICAgICAgICAgICAgICAgY3VyeCA9IHN1YnBhdGh4OwotICAgICAgICAgICAgICAgICAgICBjdXJ5
ID0gc3VicGF0aHk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGNsb3NlZCA9
IHRydWU7Ci0gICAgICAgICAgICAgICAgc3ZnQ2xvc2VQYXRoKCk7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNlICdjJzoKLSAgICAgICAgICAg
ICAgICByZWxhdGl2ZSA9IHRydWU7Ci0gICAgICAgICAgICBjYXNlICdDJzoKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgeDEpOwotICAgICAgICAg
ICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB5MSk7Ci0gICAgICAgICAgICAgICAgcHRyID0g
cGFyc2VDb29yZChwdHIsIHgyKTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0
ciwgeTIpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3gpOwotICAg
ICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3kpOwotCi0gICAgICAgICAgICAg
ICAgaWYgKHByb2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAgcHgxID0gcmVsYXRpdmUgPyBj
dXJ4ICsgeDEgOiB4MTsKLSAgICAgICAgICAgICAgICAgICAgcHkxID0gcmVsYXRpdmUgPyBjdXJ5
ICsgeTEgOiB5MTsKLSAgICAgICAgICAgICAgICAgICAgcHgyID0gcmVsYXRpdmUgPyBjdXJ4ICsg
eDIgOiB4MjsKLSAgICAgICAgICAgICAgICAgICAgcHkyID0gcmVsYXRpdmUgPyBjdXJ5ICsgeTIg
OiB5MjsKLSAgICAgICAgICAgICAgICAgICAgcHgzID0gcmVsYXRpdmUgPyBjdXJ4ICsgdG94IDog
dG94OwotICAgICAgICAgICAgICAgICAgICBweTMgPSByZWxhdGl2ZSA/IGN1cnkgKyB0b3kgOiB0
b3k7Ci0KLSAgICAgICAgICAgICAgICAgICAgc3ZnQ3VydmVUb0N1YmljKHB4MSwgcHkxLCBweDIs
IHB5MiwgcHgzLCBweTMpOwotCi0gICAgICAgICAgICAgICAgICAgIGNvbnRybHggPSByZWxhdGl2
ZSA/IGN1cnggKyB4MiA6IHgyOwotICAgICAgICAgICAgICAgICAgICBjb250cmx5ID0gcmVsYXRp
dmUgPyBjdXJ5ICsgeTIgOiB5MjsKLSAgICAgICAgICAgICAgICAgICAgY3VyeCA9IHJlbGF0aXZl
ID8gY3VyeCArIHRveCA6IHRveDsKLSAgICAgICAgICAgICAgICAgICAgY3VyeSA9IHJlbGF0aXZl
ID8gY3VyeSArIHRveSA6IHRveTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgICAgICBzdmdDdXJ2ZVRvQ3ViaWMoeDEsIHkxLCB4MiwgeTIs
IHRveCwgdG95LCAhcmVsYXRpdmUpOwotCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBjYXNlICdzJzoKLSAgICAgICAgICAgICAgICByZWxhdGl2ZSA9
IHRydWU7Ci0gICAgICAgICAgICBjYXNlICdTJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgeDIpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBh
cnNlQ29vcmQocHRyLCB5Mik7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIs
IHRveCk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7Ci0gICAg
ICAgICAgICAgICAgaWYgKCEobGFzdENvbW1hbmQgPT0gJ2MnIHx8IGxhc3RDb21tYW5kID09ICdD
JyB8fAotICAgICAgICAgICAgICAgICAgICAgbGFzdENvbW1hbmQgPT0gJ3MnIHx8IGxhc3RDb21t
YW5kID09ICdTJykpIHsKLSAgICAgICAgICAgICAgICAgICAgY29udHJseCA9IGN1cng7Ci0gICAg
ICAgICAgICAgICAgICAgIGNvbnRybHkgPSBjdXJ5OwotICAgICAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgICAgIGlmIChwcm9jZXNzKSB7Ci0gICAgICAgICAgICAgICAgICAgIHB4MSA9IDIg
KiBjdXJ4IC0gY29udHJseDsKLSAgICAgICAgICAgICAgICAgICAgcHkxID0gMiAqIGN1cnkgLSBj
b250cmx5OwotICAgICAgICAgICAgICAgICAgICBweDIgPSByZWxhdGl2ZSA/IGN1cnggKyB4MiA6
IHgyOwotICAgICAgICAgICAgICAgICAgICBweTIgPSByZWxhdGl2ZSA/IGN1cnkgKyB5MiA6IHky
OwotICAgICAgICAgICAgICAgICAgICBweDMgPSByZWxhdGl2ZSA/IGN1cnggKyB0b3ggOiB0b3g7
Ci0gICAgICAgICAgICAgICAgICAgIHB5MyA9IHJlbGF0aXZlID8gY3VyeSArIHRveSA6IHRveTsK
LQotICAgICAgICAgICAgICAgICAgICBzdmdDdXJ2ZVRvQ3ViaWMocHgxLCBweTEsIHB4MiwgcHky
LCBweDMsIHB5Myk7Ci0KLSAgICAgICAgICAgICAgICAgICAgY29udHJseCA9IHJlbGF0aXZlID8g
Y3VyeCArIHgyIDogeDI7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRybHkgPSByZWxhdGl2ZSA/
IGN1cnkgKyB5MiA6IHkyOwotICAgICAgICAgICAgICAgICAgICBjdXJ4ID0gcmVsYXRpdmUgPyBj
dXJ4ICsgdG94IDogdG94OwotICAgICAgICAgICAgICAgICAgICBjdXJ5ID0gcmVsYXRpdmUgPyBj
dXJ5ICsgdG95IDogdG95OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgICAgIHN2Z0N1cnZlVG9DdWJpY1Ntb290aCh4MiwgeTIsIHRveCwg
dG95LCAhcmVsYXRpdmUpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgY2FzZSAncSc6Ci0gICAgICAgICAgICAgICAgcmVsYXRpdmUgPSB0cnVlOwot
ICAgICAgICAgICAgY2FzZSAnUSc6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHRy
ID0gcGFyc2VDb29yZChwdHIsIHgxKTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3Jk
KHB0ciwgeTEpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3gpOwot
ICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3kpOwotCi0gICAgICAgICAg
ICAgICAgaWYgKHByb2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAgcHgxID0gcmVsYXRpdmUg
PyAoY3VyeCArIDIgKiAoeDEgKyBjdXJ4KSkgKiAoMS4wIC8gMy4wKSA6IChjdXJ4ICsgMiAqIHgx
KSAqICgxLjAgLyAzLjApOwotICAgICAgICAgICAgICAgICAgICBweTEgPSByZWxhdGl2ZSA/IChj
dXJ5ICsgMiAqICh5MSArIGN1cnkpKSAqICgxLjAgLyAzLjApIDogKGN1cnkgKyAyICogeTEpICog
KDEuMCAvIDMuMCk7Ci0gICAgICAgICAgICAgICAgICAgIHB4MiA9IHJlbGF0aXZlID8gKChjdXJ4
ICsgdG94KSArIDIgKiAoeDEgKyBjdXJ4KSkgKiAoMS4wIC8gMy4wKSA6ICh0b3ggKyAyICogeDEp
ICogKDEuMCAvIDMuMCk7Ci0gICAgICAgICAgICAgICAgICAgIHB5MiA9IHJlbGF0aXZlID8gKChj
dXJ5ICsgdG95KSArIDIgKiAoeTEgKyBjdXJ5KSkgKiAoMS4wIC8gMy4wKSA6ICh0b3kgKyAyICog
eTEpICogKDEuMCAvIDMuMCk7Ci0gICAgICAgICAgICAgICAgICAgIHB4MyA9IHJlbGF0aXZlID8g
Y3VyeCArIHRveCA6IHRveDsKLSAgICAgICAgICAgICAgICAgICAgcHkzID0gcmVsYXRpdmUgPyBj
dXJ5ICsgdG95IDogdG95OwotCi0gICAgICAgICAgICAgICAgICAgIHN2Z0N1cnZlVG9DdWJpYyhw
eDEsIHB5MSwgcHgyLCBweTIsIHB4MywgcHkzKTsKLQotICAgICAgICAgICAgICAgICAgICBjb250
cmx4ID0gcmVsYXRpdmUgPyBjdXJ4ICsgeDEgOiB4MTsKLSAgICAgICAgICAgICAgICAgICAgY29u
dHJseSA9IHJlbGF0aXZlID8gY3VyeSArIHkxIDogeTE7Ci0gICAgICAgICAgICAgICAgICAgIGN1
cnggPSByZWxhdGl2ZSA/IGN1cnggKyB0b3ggOiB0b3g7Ci0gICAgICAgICAgICAgICAgICAgIGN1
cnkgPSByZWxhdGl2ZSA/IGN1cnkgKyB0b3kgOiB0b3k7Ci0gICAgICAgICAgICAgICAgfQotICAg
ICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgc3ZnQ3VydmVUb1F1YWRyYXRp
Yyh4MSwgeTEsIHRveCwgdG95LCAhcmVsYXRpdmUpOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAndCc6Ci0gICAgICAgICAgICAgICAgcmVs
YXRpdmUgPSB0cnVlOwotICAgICAgICAgICAgY2FzZSAnVCc6Ci0gICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7Ci0gICAgICAgICAgICAgICAg
cHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7Ci0gICAgICAgICAgICAgICAgaWYgKCEobGFzdENv
bW1hbmQgPT0gJ3EnIHx8IGxhc3RDb21tYW5kID09ICdRJyB8fAotICAgICAgICAgICAgICAgICAg
ICAgbGFzdENvbW1hbmQgPT0gJ3QnIHx8IGxhc3RDb21tYW5kID09ICdUJykpIHsKLSAgICAgICAg
ICAgICAgICAgICAgY29udHJseCA9IGN1cng7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRybHkg
PSBjdXJ5OwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIGlmIChwcm9jZXNz
KSB7Ci0gICAgICAgICAgICAgICAgICAgIHhjID0gMiAqIGN1cnggLSBjb250cmx4OwotICAgICAg
ICAgICAgICAgICAgICB5YyA9IDIgKiBjdXJ5IC0gY29udHJseTsKLQotICAgICAgICAgICAgICAg
ICAgICBweDEgPSByZWxhdGl2ZSA/IChjdXJ4ICsgMiAqIHhjKSAqICgxLjAgLyAzLjApIDogKGN1
cnggKyAyICogeGMpICogKDEuMCAvIDMuMCk7Ci0gICAgICAgICAgICAgICAgICAgIHB5MSA9IHJl
bGF0aXZlID8gKGN1cnkgKyAyICogeWMpICogKDEuMCAvIDMuMCkgOiAoY3VyeSArIDIgKiB5Yykg
KiAoMS4wIC8gMy4wKTsKLSAgICAgICAgICAgICAgICAgICAgcHgyID0gcmVsYXRpdmUgPyAoKGN1
cnggKyB0b3gpICsgMiAqIHhjKSAqICgxLjAgLyAzLjApIDogKHRveCArIDIgKiB4YykgKiAoMS4w
IC8gMy4wKTsKLSAgICAgICAgICAgICAgICAgICAgcHkyID0gcmVsYXRpdmUgPyAoKGN1cnkgKyB0
b3kpICsgMiAqIHljKSAqICgxLjAgLyAzLjApIDogKHRveSArIDIgKiB5YykgKiAoMS4wIC8gMy4w
KTsKLSAgICAgICAgICAgICAgICAgICAgcHgzID0gcmVsYXRpdmUgPyBjdXJ4ICsgdG94IDogdG94
OwotICAgICAgICAgICAgICAgICAgICBweTMgPSByZWxhdGl2ZSA/IGN1cnkgKyB0b3kgOiB0b3k7
Ci0KLSAgICAgICAgICAgICAgICAgICAgc3ZnQ3VydmVUb0N1YmljKHB4MSwgcHkxLCBweDIsIHB5
MiwgcHgzLCBweTMpOwotCi0gICAgICAgICAgICAgICAgICAgIGNvbnRybHggPSB4YzsKLSAgICAg
ICAgICAgICAgICAgICAgY29udHJseSA9IHljOwotICAgICAgICAgICAgICAgICAgICBjdXJ4ID0g
cmVsYXRpdmUgPyBjdXJ4ICsgdG94IDogdG94OwotICAgICAgICAgICAgICAgICAgICBjdXJ5ID0g
cmVsYXRpdmUgPyBjdXJ5ICsgdG95IDogdG95OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHN2Z0N1cnZlVG9RdWFkcmF0aWNTbW9v
dGgodG94LCB0b3ksICFyZWxhdGl2ZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBjYXNlICdhJzoKLSAgICAgICAgICAgICAgICByZWxhdGl2ZSA9
IHRydWU7Ci0gICAgICAgICAgICBjYXNlICdBJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBib29sIGxhcmdlQXJjLCBzd2VlcDsKLSAgICAgICAgICAgICAgICBkb3VibGUgYW5nbGUs
IHJ4LCByeTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgcngpOwotICAg
ICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCByeSk7Ci0gICAgICAgICAgICAgICAg
cHRyID0gcGFyc2VDb29yZChwdHIsIGFuZ2xlKTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJz
ZUNvb3JkKHB0ciwgdG94KTsKLSAgICAgICAgICAgICAgICBsYXJnZUFyYyA9IHRveCA9PSAxOwot
ICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3gpOwotICAgICAgICAgICAg
ICAgIHN3ZWVwID0gdG94ID09IDE7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChw
dHIsIHRveCk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7Ci0K
LSAgICAgICAgICAgICAgICAvLyBTcGVjOiByYWRpaSBhcmUgbm9ubmVnYXRpdmUgbnVtYmVycwot
ICAgICAgICAgICAgICAgIHJ4ID0gZmFicyhyeCk7Ci0gICAgICAgICAgICAgICAgcnkgPSBmYWJz
KHJ5KTsKLQotICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzKQotICAgICAgICAgICAgICAgICAg
ICBjYWxjdWxhdGVBcmMocmVsYXRpdmUsIGN1cngsIGN1cnksIGFuZ2xlLCB0b3gsIHRveSwgcngs
IHJ5LCBsYXJnZUFyYywgc3dlZXApOwotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICAgICAgc3ZnQXJjVG8odG94LCB0b3ksIHJ4LCByeSwgYW5nbGUsIGxhcmdlQXJjLCBzd2Vl
cCwgIXJlbGF0aXZlKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6IEFuIGVycm9yIHNo
b3VsZCBnbyB0byB0aGUgSmF2YVNjcmlwdCBjb25zb2xlLCBvciB0aGUgbGlrZS4KLSAgICAgICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgbGFzdENvbW1hbmQgPSBjb21tYW5k
OwotCi0gICAgICAgIGlmICgqcHRyID09ICcrJyB8fCAqcHRyID09ICctJyB8fCAoKnB0ciA+PSAn
MCcgJiYgKnB0ciA8PSAnOScpKSB7Ci0gICAgICAgICAgICAvLyB0aGVyZSBhcmUgc3RpbGwgY29v
cmRzIGluIHRoaXMgY29tbWFuZAotICAgICAgICAgICAgaWYgKGNvbW1hbmQgPT0gJ00nKQotICAg
ICAgICAgICAgICAgIGNvbW1hbmQgPSAnTCc7Ci0gICAgICAgICAgICBlbHNlIGlmIChjb21tYW5k
ID09ICdtJykKLSAgICAgICAgICAgICAgICBjb21tYW5kID0gJ2wnOwotICAgICAgICB9Ci0gICAg
ICAgIGVsc2UKLSAgICAgICAgICAgIGNvbW1hbmQgPSAqKHB0cisrKTsKLQotICAgICAgICBpZiAo
bGFzdENvbW1hbmQgIT0gJ0MnICYmIGxhc3RDb21tYW5kICE9ICdjJyAmJgotICAgICAgICAgICAg
bGFzdENvbW1hbmQgIT0gJ1MnICYmIGxhc3RDb21tYW5kICE9ICdzJyAmJgotICAgICAgICAgICAg
bGFzdENvbW1hbmQgIT0gJ1EnICYmIGxhc3RDb21tYW5kICE9ICdxJyAmJgotICAgICAgICAgICAg
bGFzdENvbW1hbmQgIT0gJ1QnICYmIGxhc3RDb21tYW5kICE9ICd0JykgewotICAgICAgICAgICAg
Y29udHJseCA9IGN1cng7Ci0gICAgICAgICAgICBjb250cmx5ID0gY3VyeTsKLSAgICAgICAgfQot
ICAgIH0KLX0KLQotLy8gVGhpcyB3b3JrcyBieSBjb252ZXJ0aW5nIHRoZSBTVkcgYXJjIHRvICJz
aW1wbGUiIGJlemllcnMuCi0vLyBGb3IgZWFjaCBiZXppZXIgZm91bmQgYSBzdmdUb0N1cnZlIGNh
bGwgaXMgZG9uZS4KLS8vIEFkYXB0ZWQgZnJvbSBOaWtvJ3MgY29kZSBpbiBrZGVsaWJzL2tkZWNv
cmUvc3ZnaWNvbnMuCi0vLyBNYXliZSB0aGlzIGNhbiBzZXJ2ZSBpbiBzb21lIHNoYXJlZCBsaWI/
IChSb2IpCi12b2lkIFNWR1BhdGhQYXJzZXI6OmNhbGN1bGF0ZUFyYyhib29sIHJlbGF0aXZlLCBk
b3VibGUgJmN1cngsIGRvdWJsZSAmY3VyeSwgZG91YmxlIGFuZ2xlLCBkb3VibGUgeCwgZG91Ymxl
IHksIGRvdWJsZSByMSwgZG91YmxlIHIyLCBib29sIGxhcmdlQXJjRmxhZywgYm9vbCBzd2VlcEZs
YWcpCi17Ci0gICAgZG91YmxlIHNpbl90aCwgY29zX3RoOwotICAgIGRvdWJsZSBhMDAsIGEwMSwg
YTEwLCBhMTE7Ci0gICAgZG91YmxlIHgwLCB5MCwgeDEsIHkxLCB4YywgeWM7Ci0gICAgZG91Ymxl
IGQsIHNmYWN0b3IsIHNmYWN0b3Jfc3E7Ci0gICAgZG91YmxlIHRoMCwgdGgxLCB0aF9hcmM7Ci0g
ICAgaW50IGksIG5fc2VnczsKLQotICAgIHNpbl90aCA9IHNpbihhbmdsZSAqIChNX1BJIC8gMTgw
LjApKTsKLSAgICBjb3NfdGggPSBjb3MoYW5nbGUgKiAoTV9QSSAvIDE4MC4wKSk7Ci0KLSAgICBk
b3VibGUgZHg7Ci0KLSAgICBpZiAoIXJlbGF0aXZlKQotICAgICAgICBkeCA9IChjdXJ4IC0geCkg
LyAyLjA7Ci0gICAgZWxzZQotICAgICAgICBkeCA9IC14IC8gMi4wOwotCi0gICAgZG91YmxlIGR5
OwotICAgICAgICAKLSAgICBpZiAoIXJlbGF0aXZlKQotICAgICAgICBkeSA9IChjdXJ5IC0geSkg
LyAyLjA7Ci0gICAgZWxzZQotICAgICAgICBkeSA9IC15IC8gMi4wOwotICAgICAgICAKLSAgICBk
b3VibGUgX3gxID0gIGNvc190aCAqIGR4ICsgc2luX3RoICogZHk7Ci0gICAgZG91YmxlIF95MSA9
IC1zaW5fdGggKiBkeCArIGNvc190aCAqIGR5OwotICAgIGRvdWJsZSBQcjEgPSByMSAqIHIxOwot
ICAgIGRvdWJsZSBQcjIgPSByMiAqIHIyOwotICAgIGRvdWJsZSBQeCA9IF94MSAqIF94MTsKLSAg
ICBkb3VibGUgUHkgPSBfeTEgKiBfeTE7Ci0KLSAgICAvLyBTcGVjIDogY2hlY2sgaWYgcmFkaWkg
YXJlIGxhcmdlIGVub3VnaAotICAgIGRvdWJsZSBjaGVjayA9IFB4IC8gUHIxICsgUHkgLyBQcjI7
Ci0gICAgaWYgKGNoZWNrID4gMSkgewotICAgICAgICByMSA9IHIxICogc3FydChjaGVjayk7Ci0g
ICAgICAgIHIyID0gcjIgKiBzcXJ0KGNoZWNrKTsKLSAgICB9Ci0KLSAgICBhMDAgPSBjb3NfdGgg
LyByMTsKLSAgICBhMDEgPSBzaW5fdGggLyByMTsKLSAgICBhMTAgPSAtc2luX3RoIC8gcjI7Ci0g
ICAgYTExID0gY29zX3RoIC8gcjI7Ci0KLSAgICB4MCA9IGEwMCAqIGN1cnggKyBhMDEgKiBjdXJ5
OwotICAgIHkwID0gYTEwICogY3VyeCArIGExMSAqIGN1cnk7Ci0KLSAgICBpZiAoIXJlbGF0aXZl
KQotICAgICAgICB4MSA9IGEwMCAqIHggKyBhMDEgKiB5OwotICAgIGVsc2UKLSAgICAgICAgeDEg
PSBhMDAgKiAoY3VyeCArIHgpICsgYTAxICogKGN1cnkgKyB5KTsKLSAgICAgICAgCi0gICAgaWYg
KCFyZWxhdGl2ZSkKLSAgICAgICAgeTEgPSBhMTAgKiB4ICsgYTExICogeTsKLSAgICBlbHNlCi0g
ICAgICAgIHkxID0gYTEwICogKGN1cnggKyB4KSArIGExMSAqIChjdXJ5ICsgeSk7Ci0KLSAgICAv
KiAoeDAsIHkwKSBpcyBjdXJyZW50IHBvaW50IGluIHRyYW5zZm9ybWVkIGNvb3JkaW5hdGUgc3Bh
Y2UuCi0gICAgICAgKHgxLCB5MSkgaXMgbmV3IHBvaW50IGluIHRyYW5zZm9ybWVkIGNvb3JkaW5h
dGUgc3BhY2UuCi0KLSAgICAgICBUaGUgYXJjIGZpdHMgYSB1bml0LXJhZGl1cyBjaXJjbGUgaW4g
dGhpcyBzcGFjZS4KLSAgICAqLwotCi0gICAgZCA9ICh4MSAtIHgwKSAqICh4MSAtIHgwKSArICh5
MSAtIHkwKSAqICh5MSAtIHkwKTsKLQotICAgIHNmYWN0b3Jfc3EgPSAxLjAgLyBkIC0gMC4yNTsK
LQotICAgIGlmIChzZmFjdG9yX3NxIDwgMCkKLSAgICAgICAgc2ZhY3Rvcl9zcSA9IDA7Ci0KLSAg
ICBzZmFjdG9yID0gc3FydChzZmFjdG9yX3NxKTsKLQotICAgIGlmIChzd2VlcEZsYWcgPT0gbGFy
Z2VBcmNGbGFnKQotICAgICAgICBzZmFjdG9yID0gLXNmYWN0b3I7Ci0KLSAgICB4YyA9IDAuNSAq
ICh4MCArIHgxKSAtIHNmYWN0b3IgKiAoeTEgLSB5MCk7Ci0gICAgeWMgPSAwLjUgKiAoeTAgKyB5
MSkgKyBzZmFjdG9yICogKHgxIC0geDApOwotCi0gICAgLyogKHhjLCB5YykgaXMgY2VudGVyIG9m
IHRoZSBjaXJjbGUuICovCi0gICAgdGgwID0gYXRhbjIoeTAgLSB5YywgeDAgLSB4Yyk7Ci0gICAg
dGgxID0gYXRhbjIoeTEgLSB5YywgeDEgLSB4Yyk7Ci0KLSAgICB0aF9hcmMgPSB0aDEgLSB0aDA7
Ci0gICAgaWYgKHRoX2FyYyA8IDAgJiYgc3dlZXBGbGFnKQotICAgICAgICB0aF9hcmMgKz0gMiAq
IE1fUEk7Ci0gICAgZWxzZSBpZiAodGhfYXJjID4gMCAmJiAhc3dlZXBGbGFnKQotICAgICAgICB0
aF9hcmMgLT0gMiAqIE1fUEk7Ci0KLSAgICBuX3NlZ3MgPSAoaW50KSAoaW50KSBjZWlsKGZhYnMo
dGhfYXJjIC8gKE1fUEkgKiAwLjUgKyAwLjAwMSkpKTsKLQotICAgIGZvcihpID0gMDsgaSA8IG5f
c2VnczsgaSsrKSB7Ci0gICAgICAgIGRvdWJsZSBzaW5fdGgsIGNvc190aDsKLSAgICAgICAgZG91
YmxlIGEwMCwgYTAxLCBhMTAsIGExMTsKLSAgICAgICAgZG91YmxlIHgxLCB5MSwgeDIsIHkyLCB4
MywgeTM7Ci0gICAgICAgIGRvdWJsZSB0OwotICAgICAgICBkb3VibGUgdGhfaGFsZjsKLQotICAg
ICAgICBkb3VibGUgX3RoMCA9IHRoMCArIGkgKiB0aF9hcmMgLyBuX3NlZ3M7Ci0gICAgICAgIGRv
dWJsZSBfdGgxID0gdGgwICsgKGkgKyAxKSAqIHRoX2FyYyAvIG5fc2VnczsKLQotICAgICAgICBz
aW5fdGggPSBzaW4oYW5nbGUgKiAoTV9QSSAvIDE4MC4wKSk7Ci0gICAgICAgIGNvc190aCA9IGNv
cyhhbmdsZSAqIChNX1BJIC8gMTgwLjApKTsKLQotICAgICAgICAvKiBpbnZlcnNlIHRyYW5zZm9y
bSBjb21wYXJlZCB3aXRoIHJzdmdfcGF0aF9hcmMgKi8KLSAgICAgICAgYTAwID0gY29zX3RoICog
cjE7Ci0gICAgICAgIGEwMSA9IC1zaW5fdGggKiByMjsKLSAgICAgICAgYTEwID0gc2luX3RoICog
cjE7Ci0gICAgICAgIGExMSA9IGNvc190aCAqIHIyOwotCi0gICAgICAgIHRoX2hhbGYgPSAwLjUg
KiAoX3RoMSAtIF90aDApOwotICAgICAgICB0ID0gKDguMCAvIDMuMCkgKiBzaW4odGhfaGFsZiAq
IDAuNSkgKiBzaW4odGhfaGFsZiAqIDAuNSkgLyBzaW4odGhfaGFsZik7Ci0gICAgICAgIHgxID0g
eGMgKyBjb3MoX3RoMCkgLSB0ICogc2luKF90aDApOwotICAgICAgICB5MSA9IHljICsgc2luKF90
aDApICsgdCAqIGNvcyhfdGgwKTsKLSAgICAgICAgeDMgPSB4YyArIGNvcyhfdGgxKTsKLSAgICAg
ICAgeTMgPSB5YyArIHNpbihfdGgxKTsKLSAgICAgICAgeDIgPSB4MyArIHQgKiBzaW4oX3RoMSk7
Ci0gICAgICAgIHkyID0geTMgLSB0ICogY29zKF90aDEpOwotCi0gICAgICAgIHN2Z0N1cnZlVG9D
dWJpYyhhMDAgKiB4MSArIGEwMSAqIHkxLCBhMTAgKiB4MSArIGExMSAqIHkxLCBhMDAgKiB4MiAr
IGEwMSAqIHkyLCBhMTAgKiB4MiArIGExMSAqIHkyLCBhMDAgKiB4MyArIGEwMSAqIHkzLCBhMTAg
KiB4MyArIGExMSAqIHkzKTsKLSAgICB9Ci0KLSAgICBpZiAoIXJlbGF0aXZlKQotICAgICAgICBj
dXJ4ID0geDsKLSAgICBlbHNlCi0gICAgICAgIGN1cnggKz0geDsKLQotICAgIGlmICghcmVsYXRp
dmUpCi0gICAgICAgIGN1cnkgPSB5OwotICAgIGVsc2UKLSAgICAgICAgY3VyeSArPSB5OyAgICAK
LX0KLQotdm9pZCBTVkdQYXRoUGFyc2VyOjpzdmdMaW5lVG9Ib3Jpem9udGFsKGRvdWJsZSwgYm9v
bCkKLXsKLX0KLQotdm9pZCBTVkdQYXRoUGFyc2VyOjpzdmdMaW5lVG9WZXJ0aWNhbChkb3VibGUs
IGJvb2wpCi17Ci19Ci0KLXZvaWQgU1ZHUGF0aFBhcnNlcjo6c3ZnQ3VydmVUb0N1YmljU21vb3Ro
KGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgYm9vbCkKLXsKLX0KLQotdm9pZCBTVkdQ
YXRoUGFyc2VyOjpzdmdDdXJ2ZVRvUXVhZHJhdGljKGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRv
dWJsZSwgYm9vbCkKLXsKLX0KLQotdm9pZCBTVkdQYXRoUGFyc2VyOjpzdmdDdXJ2ZVRvUXVhZHJh
dGljU21vb3RoKGRvdWJsZSwgZG91YmxlLCBib29sKQotewotfQotCi12b2lkIFNWR1BhdGhQYXJz
ZXI6OnN2Z0FyY1RvKGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBib29s
LCBib29sLCBib29sKQotewotfSAKLQotfQotCi0vLyB2aW06dHM9NDpub2V0Ci0jZW5kaWYgLy8g
U1ZHX1NVUFBPUlQKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL3N2Z3BhdGhwYXJzZXIuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9zdmdwYXRocGFyc2VyLmgJKHJldmlzaW9uIDE2
NzgxKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDc3ICswLDAgQEAKLS8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVj
dAotICAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDAzIFRoZSBLYXJib24gRGV2ZWxvcGVycwotCi0g
ICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCi0gICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYwotICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgIFRoaXMgbGlicmFyeSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
LSAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCi0gICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KLQotICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAgIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMz
MCwKLSAgIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgotKi8KLQotI2lmbmRlZiBfX1NWR1BB
VEhQQVJTRVJfSF9fCi0jZGVmaW5lIF9fU1ZHUEFUSFBBUlNFUl9IX18KLSNpZmRlZiBTVkdfU1VQ
UE9SVAotCi1uYW1lc3BhY2UgV2ViQ29yZQotewotICAgIGNsYXNzIERlcHJlY2F0ZWRTdHJpbmc7
Ci0KLSAgICBjb25zdCBjaGFyICpwYXJzZUNvb3JkKGNvbnN0IGNoYXIgKnB0ciwgZG91YmxlICZu
dW1iZXIpOwotCi0gICAgY2xhc3MgU1ZHUG9seVBhcnNlcgotICAgIHsKLSAgICBwdWJsaWM6Ci0g
ICAgICAgIHZpcnR1YWwgflNWR1BvbHlQYXJzZXIoKSB7IH0KLSAgICAgICAgdm9pZCBwYXJzZVBv
aW50cyggY29uc3QgRGVwcmVjYXRlZFN0cmluZyAmcG9pbnRzICkgY29uc3Q7Ci0KLSAgICBwcm90
ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzdmdQb2x5VG8oIGRvdWJsZSB4MSwgZG91Ymxl
IHkxLCBpbnQgbnIgKSBjb25zdCA9IDA7Ci0gICAgfTsKLQotICAgIC8qKgotICAgICAqIFBhcnNl
ciBmb3Igc3ZnIHBhdGggZGF0YSwgY29udGFpbmVkIGluIHRoZSBkIGF0dHJpYnV0ZS4KLSAgICAg
KgotICAgICAqIFRoZSBwYXJzZXIgZGVsaXZlcnMgZW5jb3VudGVyZWQgY29tbWFuZHMgYW5kIHBh
cmFtZXRlcnMgYnkgY2FsbGluZwotICAgICAqIG1ldGhvZHMgdGhhdCBjb3JyZXNwb25kIHRvIHRo
b3NlIGNvbW1hbmRzLiBDbGllbnRzIGhhdmUgdG8gZGVyaXZlCi0gICAgICogZnJvbSB0aGlzIGNs
YXNzIGFuZCBpbXBsZW1lbnQgdGhlIGFic3RyYWN0IGNvbW1hbmQgbWV0aG9kcy4KLSAgICAgKgot
ICAgICAqIFRoZXJlIGFyZSB0d28gb3BlcmF0aW5nIG1vZGVzLiBCeSBkZWZhdWx0IHRoZSBwYXJz
ZXIganVzdCBkZWxpdmVycyB1bmFsdGVyZWQKLSAgICAgKiBzdmcgcGF0aCBkYXRhIGNvbW1hbmRz
IGFuZCBwYXJhbWV0ZXJzLiBJbiB0aGUgc2Vjb25kIG1vZGUsIGl0IHdpbGwgY29udmVydCBhbGwK
LSAgICAgKiByZWxhdGl2ZSBjb29yZGluYXRlcyB0byBhYnNvbHV0ZSBvbmVzLCBhbmQgY29udmVy
dCBhbGwgY3VydmVzIHRvIGN1YmljIGJlemllcnMuCi0gICAgICovCi0gICAgY2xhc3MgU1ZHUGF0
aFBhcnNlcgotICAgIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIHZpcnR1YWwgflNWR1BhdGhQYXJz
ZXIoKSB7IH0KLSAgICAgICAgdm9pZCBwYXJzZVNWRyggY29uc3QgRGVwcmVjYXRlZFN0cmluZyAm
ZCwgYm9vbCBwcm9jZXNzID0gZmFsc2UgKTsKLQotICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmly
dHVhbCB2b2lkIHN2Z01vdmVUbyggZG91YmxlIHgxLCBkb3VibGUgeTEsIGJvb2wgY2xvc2VkLCBi
b29sIGFicyA9IHRydWUgKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzdmdMaW5lVG8oIGRv
dWJsZSB4MSwgZG91YmxlIHkxLCBib29sIGFicyA9IHRydWUgKSA9IDA7Ci0gICAgICAgIHZpcnR1
YWwgdm9pZCBzdmdMaW5lVG9Ib3Jpem9udGFsKCBkb3VibGUgeCwgYm9vbCBhYnMgPSB0cnVlICk7
Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzdmdMaW5lVG9WZXJ0aWNhbCggZG91YmxlIHksIGJvb2wg
YWJzID0gdHJ1ZSApOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQ3VydmVUb0N1YmljKCBkb3Vi
bGUgeDEsIGRvdWJsZSB5MSwgZG91YmxlIHgyLCBkb3VibGUgeTIsIGRvdWJsZSB4LCBkb3VibGUg
eSwgYm9vbCBhYnMgPSB0cnVlICkgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQ3VydmVU
b0N1YmljU21vb3RoKCBkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSB4MiwgZG91YmxlIHkyLCBi
b29sIGFicyA9IHRydWUgKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0N1cnZlVG9RdWFkcmF0
aWMoIGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHgxLCBkb3VibGUgeTEsIGJvb2wgYWJzID0g
dHJ1ZSApOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQ3VydmVUb1F1YWRyYXRpY1Ntb290aCgg
ZG91YmxlIHgsIGRvdWJsZSB5LCBib29sIGFicyA9IHRydWUgKTsKLSAgICAgICAgdmlydHVhbCB2
b2lkIHN2Z0FyY1RvKCBkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSByMSwgZG91YmxlIHIyLCBk
b3VibGUgYW5nbGUsIGJvb2wgbGFyZ2VBcmNGbGFnLCBib29sIHN3ZWVwRmxhZywgYm9vbCBhYnMg
PSB0cnVlICk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzdmdDbG9zZVBhdGgoKSA9IDA7Ci0gICAg
cHJpdmF0ZToKLSAgICAgICAgdm9pZCBjYWxjdWxhdGVBcmMoIGJvb2wgcmVsYXRpdmUsIGRvdWJs
ZSAmY3VyeCwgZG91YmxlICZjdXJ5LCBkb3VibGUgYW5nbGUsIGRvdWJsZSB4LCBkb3VibGUgeSwg
ZG91YmxlIHIxLCBkb3VibGUgcjIsIGJvb2wgbGFyZ2VBcmNGbGFnLCBib29sIHN3ZWVwRmxhZyAp
OwotICAgIH07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIFNWR19TVVBQ
T1JUCi0jZW5kaWYKLQotLy8gdmltOnRzPTQ6bm9ldApJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQucG5nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
Q2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5
cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91
dFRlc3RzL3N2Zy9jdXN0b20vZW1wdHktcHJlc2VydmUtYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnBu
ZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlvbi9vY3RldC1z
dHJlYW0KCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBeUFBQUFKWUNBWUFBQUNhZG9Kd0FBQU1l
VWxFUVZSNG5PM1p3UTJBUUF3RXNZUEdvZlBRCnhSd0N1NEtWOGhybFdQZWF4V3ZNNVJ3QUFIelh1
WHNBQUFEd0h3SUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUEKQUNBalFBQUFn
SXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJ
d0FBUUFBTWdJRQpBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJ
d0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBCkFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJ
d0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWoKUUFBQWdJ
d0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3
QUFRQUFNZ0lFQUFESQpDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3
QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBCk1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3
QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUEKZ0l3
QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdB
QVFBQU1nSUVBQURJQ0JBQQpBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdB
QVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFCkFBRElDQkFBQUNBalFBQUFnSXdB
QVFBQU1nSUVBQURJQ0JBQUFDQnp6TXpzSGdFQUFQeUREd2dBQUpBUklBQUFRRWFBQUFBQUdRRUMK
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrCkJB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
CkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBbVFkaWxReW5ZTXV6Z0FBQUFBQkpS
VTVFcmtKZwpnZz09CgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3Bl
Y3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBm
aWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24v
b2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQucG5nCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFt
ZTogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKCmlWQk9SdzBL
R2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBZ0FFbEVRVlI0bk8zZGVaUmNa
WmsvOEtjSmF4S2cKQTJZQ0VzSytHRVFrYW1ZRUZDYUVhTUNSb0JCMkJsQVE1QXl5QzRoQ1BBcU94
TUN3Q0JPMllSTUJXV1FVa0JGK3d5SW1NQzZnZ0lscwpRZ0RaRXNoR0ZwTDM5MGVkTkwzVWNxdVh0
NnM3bjg4NU9TZDk2OWE5ei91Kzk3MTF2N2VycXB0U1Npa0FBQUF5V0tXM0N3QUFBRlllCkFnZ0FB
SkNOQUFJQUFHUWpnQUFBQU5rSUlBQUFRRFlDQ0FBQWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5n
SUlBQUNRalFBQ0FBQmsKSTRBQUFBRFpDQ0FBQUVBMkFnZ0FBSkNOQUFJQUFHUWpnQUFBQU5rSUlB
QUFRRFlDQ0FBQWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQQpOZ0lJQUFDUWpRQUNBQUJrSTRBQUFB
RFpDQ0FBQUVBMkFnZ0FBSkNOQUFJQUFHUWpnQUFBQU5rSUlBQUFRRFlDQ0FBQWtJMEFBZ0FBClpD
T0FBQUFBMlFnZ0FBQkFOZ0lJQUFDUWpRQUNBQUJrSTRBQUFBRFpDQ0FBQUVBMkFnZ0FBSkJOMlFE
eXpqdnZsRjE1d1lJRjhZYy8KL0tIbXNrWXpaODZjbUQxN2RxZWUyeWp0bXpOblRyejExbHM5dW84
aWJYM25uWGZpOWRkZjcvVHpPMlBldkhueDk3Ly92ZFBQejlGMwpqZXpWVjErTjExNTdyYmZMYU5I
Wjg4aktQbzY1VkRyLzkyYzU1MGpSZlRuZSs1OXFyNS9kc1g1RXhNeVpNMlA2OU9teGRPblNlc3Ry
Cm83dGZ6L3ZDTlV4RTE2NFhpekszU3pvRWtOZGVleTMyMm11dkRpdE9tell0ZHR4eHh6ajk5Tk9y
TG1zMGwxOStlUXdkT2pTbVQ1OWUKOTNNYnBYMDMzWFJUREJzMkxCNTY2S0VlMjBlUnR2NzBweit0
V0VkUDlkVXR0OXdTdzRZTml6dnZ2TE5UejgvUmQ0M3VoQk5PaUpOUApQcm0zeTRpSXpwOUhqR01l
bGM3L2plTFdXMitORVNOR1JGTlRVeHh5eUNGeDJHR0h4Zmp4NCtQWVk0L3RVbkRLT1VlSzdNdngz
djlVCmUvM3NqdlVqSWs0NzdiUjQ5dGxuWTlLa1NYSEtLYWQwdHRSdWZ6M3ZDOWN3RVYyN1hpeksz
UDVBaHdBeWRlclVlUFRSUitQUlJ4OXQKcy95Zi91bWZZc0tFQ1RXWE5acGpqamttVmwxMTFVNDl0
MUhhZCtDQkI4YjY2Ni9mby9zbzB0WUREamdnbXB1YnkvWm5UL1hWeElrVApZOU5OTnkyOC91dXZ2
eDYvL2UxdlczN08wWGVOYnVyVXFYSFpaWmYxZGhrUjBmbnppSEhNbzlMNXY3ZTBuOC83N2JkZmZP
RUxYNGhWClYxMDFicmpoaHJqdXV1dmlwei85YVR6NDRJT3g1NTU3ZG1xYkVYbm5TTGw5TmZwNXEx
eWZVWjlxcjUvZHNmNWYvdktYdVAvKysyUFAKUGZlTVcyKzl0VXZob2RJNXViUEhRVis0aG9ubzJ2
VmlVWTAydDN0VG13Q3lkT25TZVBIRkYyUFVxRkZ4NFlVWGRsaDV3SUFCaFphMQp0M3o1OGk2VUdK
RlM2dEsyQnd3WUVFMU5UWjNhZDVIMmRhZEs3Y2xSUjdWOXJLaHJ3SUFCc2NvcTVUODYxRk0xRmow
aExGeTRNUGJkCmQ5OTQrZVdYMnl6djdycXFIWE5kL2JWM1YxU3FxN201T2RaZGQ5MU9iYlBhM0N1
cWZaOTA5anhTZEJ4empVRlh6MnZkdloydXFuWCsKanloV2EyZmIwLzVZcXpTZkJ3OGUzT2JuZGRk
ZE4zYmZmZmVZTm0xYUxGaXdvTU4yV3g4UGxiYlpsVGxTci9iNzZzN3pWazhjUzVYcQpXNkUzejNs
ZFZVOS9kYVdkUlY0L3U3SitSTVNUVHo3WmNzd01HalFvTnR4d3c1YkhPbE43KytPdjFuR3dRbCsr
aGxueGVHZXZGOHNwCjl4cmFIWDNSS0s4YlhkRm1GRzY3N2JhWU1HRkNISGZjY1hISEhYZlVQTkNL
dU9paWkrTG1tMitPd3c0N0xFNDY2YVNXNWZmZWUyLzgKd3ovOFEzejV5MStPdVhQblJrVEVlZWVk
Ri92c3MwOHNYTGd3SWlKZWVlV1ZtRFJwVXZ6SGYveEg3TGJiYm5IWVlZZkZHV2VjRVV1VwpMS202
N1hLZWVlYVoyR2VmZldLZGRkYUovZmZmUCtiUG45L204Y2NlZXl5T09PS0krTnpuUGhmZitNWTNx
cjVIY01hTUdmSDFyMzg5CnZ2Lzk3OGVYdnZTbHVQamlpOXNjWkhmY2NVZXN0OTU2Y2ZMSko4ZVNK
VXZpeEJOUGpQWFdXeTh1dWVTU2lJaDQ4Y1VYNDJNZisxak0KbkRtelVGK3Q4TnBycjhWaGh4MFd3
NFlOaTRrVEo4YXlaY3NLMVhUYmJiZkZCaHRzRUhmZmZYY3NYcnc0ZnZDREg4UUdHMnhRNkU3Rwpz
ODgrRzEvLyt0Zmpra3N1aVpOUFBybnNDM3cxdGZxcTF1UHRUWjA2TlQ3LytjL0g5ZGRmMzNJY3JQ
QmYvL1ZmTVczYXRQakpUMzdTCjRRS3FXdDlGRkIvL1NtTjAxVlZYeFJWWFhCSG5uMzkrN0xYWFh2
SHV1KzlHUk1Ramp6d1NoeHh5U0V5ZVBEbk9QdnZzMkdhYmJXS2YKZmZhSk45OThNNzc5N1cvSFJ6
LzYwZGg1NTUzYnZPZTBubU94VmwzUFBQTk1ISGZjY2JILy92dTNMTHZycnJ0aTdOaXg4YU1mL1Np
TwpQLzc0MkdDRERXSy8vZlpyYzBKNy92bm40L0RERDQvSmt5ZkhsNzcwcGZqVnIzNVZkMzJWK3FR
cnFvMWpwZjBWT2RjVWFkTXR0OXdTCnUrKytlNXgzM25reGNlTEVHRFJvVUh6bU01OXA4MzcrdSs2
NksvYmVlKys0NUpKTDRndGYrRUpzdWVXV2tWS3F1UDFxYzc3Y2M4cHQKLzU1Nzdxblp2aUp0ckhY
K3IxUnJrWDZwdHU5S3gxcTErZHphOHVYTDQvSEhINDh4WThiRW9FR0RXcGFYT3g3S2JiUGNISW1v
Nzl4VQo5SngvenozM2ROaFhWODViclpVYm4xdHZ2VFcyMm1xck9PYVlZK0x0dDkrT2lOSTU5SkJE
RG9uRml4ZEhSTzN6UWFYNktzMjNKNTU0CklzYU1HUk9mK3RTbjRxV1hYb29MTDd3d0Rqcm9vSGp1
dWVmSzFsM3AyQ2gzclAvODV6OHZPNytxalZXbE9WbjArcUZTTzR1Y1IrdDkKL2F5MWZxVyt1dW1t
bStMcXE2K09XYk5teFRubm5OUHlsdVZLdFhmbW1xRElmT3lwYTVqTzFseWtUOHVwZHIxWTlQV3Yy
bXRvVi91aQozdGVOaUdMSGEzYXBsUU1QUERDOS8vNzdhZUhDaFduSWtDSHB0Tk5PYS8xd092MzAw
OU80Y2VOcUxsdmh0ZGRlU3p2dnZIUEx6NU1uClQyN3orTEhISHBzKys5blB0dng4K2VXWHA5Lzk3
bmN0UDMvMXExOU5OOTEwVTBvcHBhbFRwNmJtNXViMDl0dHZGOXAyYXdNSERrd0gKSDN4d21qMTdk
bnI4OGNmVGtDRkQwb1VYWHRqeStLdXZ2cHIyM1hmZnRIVHAwclI4K2ZJMFpzeVk5TTF2ZnJOcysr
Yk1tWk9HRHgrZQpYbmpoaFpSU1NtKysrV1phZi8zMTA4VVhYOXhtbjUvODVDZlRXV2VkbFZKS2Fm
NzgrV253NE1IcHZ2dnVTeW1sdEdUSmtuVGNjY2ZWCjFWY2JiYlJST3Z6d3c5TzhlZlBTaXkrK21K
cWFtdExERHo5Y3VLWjExbGtuM1hiYmJTbWxsTjU3NzcwVUVlbC8vL2QvMit5amZWdmYKZSsrOU5H
TEVpRFJyMXF5VVVrb3paODVNRVpGKy92T2ZsKzNuZXZ1cWFGOXV2LzMyNmJMTExrdXZ2UEpLT3VX
VVU5TGN1WFBMN245RgpPMisvL2ZiQ2ZaZFM5ZkZ2cmRJWXpaa3pKNjIrK3VycDczLy9lMG9wcFYx
MzNUWGRjTU1OS2FXVUZpOWVuRWFOR3BWMjIyMjNOSHYyCjdQVFNTeStsNGNPSHA3MzIyaXU5OWRa
YjZZMDMza2piYnJ0dHV1eXl5K3FxcFVoZEthVzBmUG55ZE95eHg2WXhZOGEwTEZ1NmRHbmEKY3Nz
dDA1NTc3cG5tenAyYlhuamhoVFo5TW0vZXZMVE5OdHVrK2ZQbnA1UlN1dXl5eTlLMjIyNWJWMzNW
K3FUZTg4Z0t0ZVpBcGYybApWUDFjVTdSTlM1Y3VUYzNOelduaXhJbHA0Y0tGNmJISEhrc2pSb3hJ
WjU1NVpzczZiNzMxVmxwMzNYWFQrUEhqMDNQUFBaZXV2Lzc2Cml0dXZObTZWbmxOdSs3WGFWN1NO
MWM3LzFXcXQxUy9WOWwzdFdFdXAvSHcrOWRSVDA0QUJBOUt2Zi8zcmRQWFZWNmM5OXRnalRaZ3cK
SVQzNTVKTXQ2MVE3SHRwdnM5d2NLWHB1YXEzSU9iL2N2aXExczlaNXE3VnE0N1BISG51a2d3NDZx
T1huSzYrOE1qMzAwRU10UDljNgpINVNycjlaOGUvamhoOU9BQVFQUzczNzN1M1QwMFVlbk9YUG1s
SzI3MnJGUjdsZ3Z0NnpXV0pWN1R0SHJoMnJ0ck5WdjliNSsxbHEvCjFoeSs0SUlMMG80NzdsaDRq
R3BkRTVRN0o1YzdUbGZvNld1WXp0UmM3eGlrVlAxNnNlaHJSYTN6V2xmNm9qT3ZHeWtWbStlNXRm
d0cKNUk5Ly9HT01IRGt5Qmd3WUVHdXR0VlljY2NRUmNjVVZWN1M1ZzFhdlFZTUd4Ui8rOEljNDVa
UlRZc0dDQlhITU1jZTBlZnpmL3UzZgo0dUdISDI3NVRjRFRUejhkbzBhTmFubjg3cnZ2am5uejVr
VkV4QzY3N0JJTEZpeUlOZFpZbzlDMjJ6dnl5Q05qeUpBaDhjbFBmakwyCjNYZmZOaDlxdnZ6eXky
UFJva1h4d3gvK01NNDc3N3dZT25Sb1BQWFVVMlczYysyMTE4Ymd3WU5iUHBmd29ROTlLSGJiYmJl
WU1tVksKbS9XT09lYVl1T1dXV3lJaVlxMjExb3IxMTE4L3JyLysrb2lJdVBQT08yUGl4SWwxOVZW
RXhOaXhZMlB3NE1HeHlTYWJ4UERodzF2dQpLQldwcWZXdi9JcStwZW42NjYrUGdRTUh4a1liYlJR
UkVWdHR0VlVNR3phczBIT0wxRlcwTHlOSzcyODkrK3l6NDl4eno0MjExMTY3CjZuN0wvZnEwVXQ5
RkZCLy9TbVBVM053Y2p6enlTQXdiTml5ZWZ2cnBlT2VkZCtLdmYvMXJSRVNzdnZycXNlR0dHOFkv
L3VNL3hwQWgKUTJMampUZU83YmZmUGthT0hCbnJyNzkrREIwNk5IYmNjY2Q0OGNVWDY2cWxTRjBy
K3FMOSswMVhYWFhWR0RKa1NJd2VQVHJXWG52dAoySFRUVGVQREgvNXcvTzF2ZjR1SWlHdXV1U2Ey
M1hiYmxydkpYL3ZhMStLUlJ4NnBxNzVxZmRJVmxjYXgxdjZxbld1S3RtblZWVmVOCjV1Ym1HRHQy
Ykt5MTFscnhxVTk5S3ZiZGQ5LzQ3Ly8rNzVaMTFsOS8vUmcrZkhqc3VlZWVzZm5tbThjaGh4eFNj
ZnZWeHEzU2M4cHQKdjFiN2lyU3gxdm0vV3EyMStxWGF2cXNkYXl0VWVqdkVHMis4RWFlZWVtcEVS
TngrKysyeC9mYmJ0enhXNjNob3ZjMXljNlNlYzlNSwpSYzc1NWZaVnJaM1Z6bHV0VlJ1ZjAwNDdM
VzY5OWRaNDVaVlhJaUxpOGNjZmoxMTIyYVhsOFZybmczTDExZXJmWFhiWkpZNDk5dGpZCmM4ODlZ
OEtFQ2RIYzNGeTI3bXJIUnJsanZkeXlXbU5WN2psRnJ4K3F0Yk5XdjlYNytsbHIvWHBmRzJxTlVX
ZXVDU0lxejhlZXZvYnAKVE0yZHZZYXBkTDFZZEF5S25OYzYyeGVkZWQxWTBWOUY1bmxPTFNNNGRl
clVlUGZkZCtPSUk0NklpTkw3L2ViTW1SUFhYWGRkell2NwpTdFplZSsyNDlkWmI0OUJERDQxYmJy
a2xmdmF6bjhYbzBhTmJIdi9JUno0U3UrNjZhMXgxMVZWeCtPR0h4MGMvK3RFMnp4ODdkbXpjCmR0
dHRjZmpoaDhlTEw3N1k4dXY5SXR0dXIvV2syV21ubmVJblAvbEp5ODh6Wjg2TW5YYmFLYzQ0NDR5
YWJYcjIyV2M3dkg5djU1MTMKamp2dXVDT1dMVnZXOHRnQkJ4d1FKNTU0WWp6eXlDUHg1cHR2eGhG
SEhCRS8vT0VQNDlKTEw0MkhIbm9vTHI3NDRycjZxcjNWVmx1dAo1VmQyUld1cTE1TlBQaGtqUm94
b3MyeVZWVllwL1A3SVduWFZVL2YwNmROajVzeVpjZFpaWjhVbW0yeFNkYisxNm12ZGR4SEZ4Ny9h
CkdLMnh4aHB4OHNrbng0UUpFMkxqalRldStsYUo5dTgxWDIyMTFlSzk5OTZycTVhaWRSVTFZTUNB
bGwvRi91bFBmMnBUWSt1THBucnEKcTZkUE9xUDlPRmJiWDdWelRXZjZmSVZkZDkwMUxycm9vbGkr
ZkhuTCs0cFhXV1dWTmkrTzFiWmZhZHlxUGFmOTltdTFyMGdiYTUzLwo2ejNHV3ZkTHRYMVhPOVph
TDJ1dnFha3BEanp3d0JneVpFanN1ZWVlTVduU3BEam5uSFBhckZQdGVLaDFqdWpNT2JYZWMzNjVO
bFhUCi9uaHZyZHI0akIwN05rYU9IQm1YWG5wcEhILzg4VEY4K1BDYSsycDlQcWhVWDYzNWZkcHBw
OFdsbDE0YXp6Ly9mTVg5MURvdXl4M3IKN1pjVkdhdjJ6Nm5uZUs3blBOYTYzK3A5L2F5MWZtZk9V
ejF4RHE1VWYzKzZocWwwdlZoMERJcWMxMXFycHkrcTlYTzl4MGk1ZVo3VApLaEVSYjcvOWRzeWRP
emR1dlBIR3VPYWFhK0thYTY2Sm0yKytPWGJaWlplNDZLS0xPdjFCMU5telo4ZllzV1BqcWFlZWls
R2pSc1VlCmUrelJjcUcxd3JISEhodlhYbnR0M0hqampYSEFBUWUwZWV5S0s2NklwcWFtK043M3Zo
Y0RCdzZNSzY2NG9xNXRWN0pvMGFMWVpwdHQKV240ZU5XcFVoNjlFZS9mZGQrUE5OOS9zOE55Tk45
NDRubjc2NlpnelowN0xzalhXV0NNMjNIREROZ2ZOb0VHRDR1Q0RENDRycjd3eQo3cjMzM3ZqT2Q3
NFQyMjY3YmZ6Z0J6K0lMYmJZb2xOOVZVblJtdXExeFJaYnhMUnAwenA5MHFwVlZ6MTEvK3UvL210
OC92T2ZqLzMzCjM3L0Raeis2cXVqNFZ4cWpGMTU0SWNhTkd4ZG5ubmxtZk9Zem44bFNTNUc2T3F1
NXVUbCsrY3RmdGhuM09YUG14S0pGaXdyWDE1MTkKVWtTUi9WVTYxM1NtejFlWU1XTkdiTDMxMWxV
LzFGaHArek5uenF3NGJwMnBxZHE1dE5yMmlwei82ejNHV3ZkTHRYMVhPOWFLK1B6bgpQeC9mK3Rh
MzRydmYvVzdjZGRkZExjdTdldngxNXB4YTd6bS9POVVhbjFOT09TV21UcDBhMTE1N2JSeDg4TUZk
M2wrUi9wMHlaVXFjCmYvNzVjZnJwcDhkTEw3MVVkcDJ1ekwwVk9qTldSWS9ucmh4SDliNSsxbHEv
M3I3S2ZRN3VqOWN3RVcydkY0dU9RVmZPYTdYNm9sby8KZDhkOHltbVZpSWdmLy9qSHNlKysrM1o0
OEtpampvcG5ubmttZnZHTFgwUkV4TEpseXpxa3BYTExWcGd4WTBiY2UrKzlzY0VHRzhUdAp0OThl
Z3dZTmFubEwxUXI3N0xOUFJFUzg5ZFpiSGQ1YTg3M3ZmUysrKzkzdnhxUkprMkxYWFhlTnRkWmFx
NjV0dDlZNlJQM3FWNytLCjAwNDdyZVhuTDM3eGkzSHZ2ZmZHT2VlY0UzUG16SWxYWDMwMUxyMzAw
dmpRaHo3VW9YMEhISEJBREJ3NE1CNTQ0SUdXWmIvOTdXL2oKcTEvOWFvZDlIbjMwMFhIampUZkdM
cnZzRWsxTlRYSDAwVWZIQlJkY0VJY2VlbWpkZmJWNDhlS1dEdzFHUkN4WnNxVGw1eUkxYmJiWgpa
dkduUC8wcElrcDNCVlpaWlpVTy9kVytyZnZ0dDEvTW16Y3Zici85OW9pSW1EdDNic3lkTzdkaVA5
ZmJWMFg3Y3NYWS9lZC8vbWZNCm1UTW52djcxcjVmZGYwVHBJbUQyN05ueC92dnZ4L3Z2dng4UjFm
c3VvdnI0dDFacGpCNSsrT0Y0NTUxMzR2MzMzNDhsUzViRWpCa3oKMm56cnlQTGx5OXNjZndzV0xH
anorTEpseTFvZXIxYkw3Tm16NDlKTEwyMzVNR210dWxaWXZIaHhoOURXL29TOFpNbVNsaG9tVEpn
UQpzMmZQam05OTYxc3hmLzc4K09NZi94aFhYbmxsckxubW1vWDdxbHFmMUhzZWFkMk9TdU5ZYXd3
aUtwOXJpclpwaGRZZll2ejFyMzhkCjMvakdOOW84dm56NThqYjlYV243YjczMVZzVnhxMVpUKysz
WGFsK3Q3UlU1L3hjNTMxYnFsMnI3cm5hc1JaU2Z6KysrKzI0c1g3NjgKNVVYM25IUE9pWC8rNTMr
T1F3ODlOR2JNbUJFUjFZK0hTdWVJMW4xYXozbSt0U0xuL0hMenNUUG5yZFpxamMvKysrOGZhNjIx
VnR4LwovLzJ4MldhYmRYaCt0Zk5CdWZwcXpiZTc3cm9yUHZheGo4WEpKNThjTysyMFU4VjNVZFNh
ZStXTzlmYkxpb3hWKytjVXZYNm8xYzVxCi9WYnY2MmV0OVd2MTFYdnZ2ZGZtQXJkVzdiV3VDY3Fk
azhzZHAwWDd0S3ZYTUoycHVkNHhXS0hTOVdMUjE0cGE1N1d1OUVXMWZxNVYKWDYxNVBtL2V2TGpt
bW12eWZiUGRkZGRkbDlaZWUrMTB3Z2tucEhmZmZiZmx3eUd6Wjg5T3A1MTJXb3FJdE1VV1c2UXJy
N3d5alJ3NQpNcTIzM25vdEg2eWJQbjE2aDJXdFBmcm9vMm5VcUZIcHR0dHVTemZmZkhNNjc3enp5
bjRRNVZ2ZitsYWFQbjE2aCtVVEowNU1FWkVHCkR4NmNoZzRkbWthUEhwMSsvZXRmMTdYdGxGTDY1
amUvbWNhTUdaTXV1dWlpTkdIQ2hQVGpILys0d3pwbm5IRkdHakJnUUdwdWJrNEgKSG5oZ2V1R0ZG
eXEyNys2NzcwN2JiNzk5dXVXV1c5TFpaNStkampubW1MUm8wYUt5Ky83eWw3K2NsaTVkbWxKS2Fl
N2N1ZW1vbzQ0cQp1MTYxOXR4ODg4MHBJdEw0OGVQVHE2KyttbTY3N2JiVTFOU1U5dGhqai9UbW0y
OFdxdW1HRzI1SUF3Y09USi85N0dmVDlkZGZuemJmCmZQTjA0b2tudG54SXFsSmIvLzNmL3owTkhq
dzRqUnMzTHAxMDBrbHB4SWdSNllnampraXZ2UEpLbS9vNzIxZTFIci90dHR2U2FxdXQKbHNhTkc1
ZWVmZmJaZE5sbGw2V0lTUHZ0dDErYU9YTm1oMzZjTkdsU2FtNXVUdWVlZTI1YXVuUnBvYjVMcWZ6
NEZ4MmpOOTU0STIyeAp4UlpwaXkyMlNHZWRkVmI2em5lK2s0WU5HNWJ1dXV1dU5HM2F0RFJreUpB
MGV2VG9OR1BHalBUUVF3K2xEVGJZSUcyNzdiYnA5Ny8vCmZYcjg4Y2ZUWnB0dGxyYmJicnVXRDlG
V3F1VVh2L2hGaW9oMDZxbW5GajUycGsrZm5uYllZWWUwempycnBIdnV1U2VsbE5LRER6NlkKMWx4
enpiVHp6anVuRjE1NElkMTY2NjBwSXRJWHYvakZsaTk1dU9TU1M5TEFnUVBUS3F1c2tzYU1HWk5l
Zi8zMXV2cXFVcDlNbmp5NQo3dk5JU3JYblFMVXhhSzNTdWFaSW0xSkthZE5OTjAxNzdMRkhPdi84
ODlQNDhlUFR5U2VmbkpZdlg5N3krRTAzM1pSV1cyMjFOSHIwCjZEUnQyclNxMjY5MURpdjNuRXJi
cjlXK1N0c3JldjZmT25WcTFWcHI5VXUxL3ExMnJMV2Z6N2ZjY2tzYU1XSkVpb2gwL1BISHQzeTQK
OU85Ly8zdmFjTU1OMDhZYmI1enV2UFBPcXNkRCsyMldteU1wMVhlZWI2M2FPYi9TdmpwNzNscWh5
T3ZocEVtVDBsVlhYZFZoZVpIegpRZnY2cXZYdi9mZmZuN2JjY3N1V3NaazhlWEtLaUhUQ0NTZTB2
TjYwVnVuWUtIZXNWenIrcTQxVnVlY1V2WDZvMXM0aS9WYjA5WE9GCld1dFg2cXRwMDZhbFQzemlF
Mm5BZ0FIcHFxdXVTdlBuejY5NVRxeDJUVkRwbk56K09HaXRwNjloT2x0enZXTlE2M3F4Nkd0RnBm
TmEKVi91aU02OGJLUldiNS9mZGQxK0tpUFQwMDArWGJWTjNpOXFyZE43Nzc3K2ZVaXA5aW4vRi84
dFp2SGh4aDJWTGx5NU41NXh6VHBvMQphMVo2NG9rbjBtOSs4NXQwNTUxM3BuMzIyYWV1YmErd2ZQ
bnlOaTlzNWN5ZlB6L05uajI3NXJaVzFQZlVVMCtsdDk1NnErcDY3ZHRXCnJxMHAxZCtlenRRMGYv
Nzh0R3pac3BSUzZWdFppbHE4ZUhITHhVbVJGK0I2NnlyYWwwVlYrNWFzYW1xTmY3VXhXcjU4ZVp1
K3FhZC8KNjZubDVaZGZUcGRmZm5uaHVycGk2ZEtsTFNlbW92VzExdDE5VWt1Ui9WV2FmeWtWYTlP
bW0yNmFwazZkbXQ1KysrMjBZTUdDdXVwcgp2LzBpNDFiUE9TbWw2dTNyelBaV3FGVnJrWDZwdHU5
cXgxcG41M08xNDZIb05qdHpiaXA2em0rdnMrMU1xZGl4ZE54eHgzVnBIKzJmCjI1M3p1N1BIWld2
MWpGVTk1OHl1dHJQZTE4OWE2OWZUVjdWcTc4dzFRYVZqS01jMVRFcWRxN25lTWFoMXZWaDBES3Fk
MTRvOHQxeGYKOU1UclJtdWRyYmN6bWxMcWhyODAxZ04rK01NZnh2LzkzLysxZkt0SVJPbFgvRk9t
VElsdmYvdmJ2VmdaOUk0bFM1YkU1WmRmSGtjZQplV1NIUDhaR0hwdHR0bG1jZWVhWmNkUlJSL1Yy
S1ExRnZ6U21oUXNYeHNzdnZ4ekxseStQRzI2NEliNy8vZS8zZGtrQUVSSFJzQUhrCnVlZWVpOTEz
M3oxR2pCZ1JXMis5ZGF5MjJtcXh3UVlieEttbm5ob0RCdzdzN2ZJZ3UxVDZqV1hodjR4TDkzcmho
UmZpSXgvNVNCeDAKMEVGeDhjVVh0L21qZHlzei9kSzRMcmpnZ2pqcHBKTmk5T2pSY2UrOTk4YVFJ
VU42dXlTQWlHamdBTExDYzg4OUYwMU5UYkg1NXB2MwpkaW5BU3V6QkJ4OXMrWERlMEtGRFk0Y2Rk
dWpsaWhxRGZtbGNTNVlzaWFlZmZqbysvdkdQOTNZcEFHMDBmQUFCQUFENkQrL2xBQUFBCnNoRkFB
QUNBYkFRUUFBQWdHd0VFQUFESVJnQUJBQUN5RVVBQUFJQnNCQkFBQUNBYkFRUUFBTWhHQUFFQUFM
SVJRQUFBZ0d3RUVBQUEKSUJzQkJBQUF5RVlBQVFBQXNoRkFBQUNBYkFRUUFBQWdHd0VFQUFESVJn
QUJBQUN5RVVBQUFJQnNCQkFBQUNBYkFRUUFBTWhHQUFFQQpBTElSUUFBQWdHd0VFQUFBSUJzQkJB
QUF5RVlBQVFBQXNoRkFBQUNBYkFRUUFBQWdHd0VFQUFESVp0VzQ0SUxlcnFGN25IaGliMWNRCjhm
dmZSeno0WUc5WDBYVkhIUlV4ZUhEdjFqQi9mc1FWVi9SdURkMWgxMTBqUm8zcTdTckNQQWNBR2tW
VGlraTlYVVMzU0EzUWpBc3UKaURqcHBONnVvdXRlZmpsaStQRGVyV0hXcklpTk4rN2RHcnJEbENt
TmNkSGMxTlRiRlhTUFJwam5BRUNYckJvUk1UY2ladlZ5SVowMQpQQ0xXNmUwaTJubTZ0d3ZvcEhX
aTFKK05aRmFVanMrK2FHUnZGOUNPZVE0QU5JSlZJeUorRlJFVGU3bVF6cm9sSXZicjdTTGEyYTYz
CkMraWsvYUxVbjQza3BJaTR0YmVMNktSR3UxZHZuZ01BamNDSDBBRUFnR3dFRUFBQUlCc0JCQUFB
eUVZQUFRQUFzaEZBQUFDQWJBUVEKQUFBZ0d3RUVBQURJUmdBQkFBQ3lFVUFBQUlCc0JCQUFBQ0Fi
QVFRQUFNaEdBQUVBQUxJUlFBQUFnR3dFRUFBQUlCc0JCQUFBeUVZQQpBUUFBc2hGQUFBQ0FiQVFR
QUFBZ0d3RUVBQURJUmdBQkFBQ3lFVUFBQUlCc1Z1MkpqWDc0d3hGNzdCSHhzWTlGREJ0V1d2YjY2
eEZQClBobnhQLzhUOGVxclBiSFgvbW5OTlNQR2pJa1lQVHBpazAxS1A3L3pUc1RNbVJFUFBoangr
OS8zZG9WOXk2aFJFYnZ1R3JIMTFoSE4KelJHTEZrWDg3VzhSanowVzhjQURwWjhweGp3SEFEcWpX
d1BJYnJ0Rm5IRkc2YUtrcWFuOE9pbVZMazdPT3kvaWYvKzNPL2Zldnd3ZgpIbkg2NlJILytxOFJn
d2RYWHUvWlp5UCs0ejhpcGs2TldMSWtYMzE5eWVxclJ4eDlkTVEzdmhHeDVaYVYxNXMzTCtLNjZ5
Sis4SU9JCldiUHkxZGZYbU9jQVFGZDB5MXV3aGc2TitOblBJdjdmLzRzWU42N3lSVWxFNmJGeDQw
cnIvdXhucGVmeWdhYW1pRk5PS2YyRzQ3amoKcW9lUGlOSUY5Y1VYUi96NXp4Rzc3SktueHI1a2wx
MUtmWFB4eGRYRFIwVEUybXVYK256bXpOSVlWRHVPVjBibU9RRFFIYm9jUUQ3NQp5WWcvL0NIaXkx
K3UvN2xmL25McHVaLzRSRmVyNkIvV1hqdmlsNytNT1AvOGlMWFdxdSs1VzIxVnV0Tjg0b2s5VWxx
ZmRPS0pwVDdaCmFxdjZucmZXV3FVeCtPVXZTMk9DZVE0QWRKOHVCWkRQZnJaMGdiZlJScDNmeGtZ
YmxUN0w4Tm5QZHFXU3ZxKzV1WFMzZVB6NHptOWoKd0lDSUtWTktiM3RaMloxM1hxa3ZCZ3pvL0Ri
R2p5K05TWE56OTlYVkY1bm5BRUIzNm5RQTJXR0hpRi84SW1MUW9LNFhNV2hRYVZzNwo3TkQxYmZW
RmE2eFJhbjkzM1NFKy9mU0liMzZ6ZTdiVkYzM3ptNlUrNkE2ZitFUnBiTlpZbzN1MjE5ZVk1d0JB
ZCt0VUFGbHZ2WWlmCi83eDczNTZ5OXRxbGJhNjNYdmR0czYvNDhZOGpkdDY1ZTdkNTNubGQrMjFL
WHpWK2ZQZi9CbWpublV0anRMSXh6d0dBbnRDcEFQS2YKLzFuNlN0anV0c2ttcFcydlRDWk9qRGp5
eU83ZmJsTlR4TFhYcmx3Zi9oMDZ0TlRtbnZqdytKRkhSdXkzWC9kdnQ1R1o1d0JBVDZnNwpnRXlZ
RUxIdnZqMVJTc20rKzBic3ZYZlBiYitSTkRkSFhISkp6MjEvNk5DSUN5L3N1ZTAzbWdzdjdObkFk
ZW1sSzgvblFjeHpBS0NuCjFCVkFWbHN0NGtjLzZxbFNQakJsU21sZi9kMTN2dFB6djZFNDZLQ0lU
Mys2Wi9mUkNENzk2VkpiZTlMUW9hVXg2Ky9NY3dDZ0o5VVYKUUw3eWxZak5OKytwVWo2dytlYWxm
ZlZuRzIwVWNleXhlZmIxdmUvbDJVOXZ5dFhHWTQvdDJyZEI5UVhtT1FEUWt3b0hrRlZXS2YxeAp0
bHhPT2FXMHovN3FHOStJV0hQTlBQc2FNeWJpVTUvS3M2L2U4S2xQbGRxWXc1cHJsc2F1dnpMUEFZ
Q2VWdmlsZi96NGlDMjI2TWxTCjJ0cGlpLzc3TFU1cnJwbi96dTl4eCtYZFgwNjUyL2FWcitRTGo3
bVo1d0JBVHlzY1FJNDRvaWZMYUp4OTVyRDMzdm0vaG5TLy9TSUcKRDg2N3p4d0dEODcvN1ZUcnJk
ZC9QMEJ0bmdNQVBhMVFBQms4T0dLdnZhcXY4OWhqRVIvL2VPbmZZNDkxZkh6ZXZOS0Y0aWFibEQ1
OApXc1JlZS9YUGkrYjk5Ni8rZUpHK21qS2w5UGgrKzVYV3IyWGd3SWd2ZktIK1dodmRGNzVRYWxz
MXRmcXExckZiVHEweDdJdk1jd0FnCmgwSUJaT3pZNm04NVdiaXc5TFdkVHp4UitqZGhRbWxaYThZ
Rk53QUFBQlZQU1VSQlZDZWRGUEd6bjBXODlGTEV5U2RIM0hkZjdmMnUKdVdacDMvM0o2cXRIakJ0
WGZaMWFmWFhmZmFYbEw3MVVXdStrazRydCsxLytwWE0xTjdKYWJhclZWMFdPM1hMR2pTdU5aWDlp
bmdNQQpPUlFLSUh2c1VmM3hlKzZKZU8yMUQzNSs3YlhTc2hVV0w0NjQ0WWEyejduNjZtSUYxdHAz
WDdQVFRoR0RCbFYrdkVoZlhYVlYyNTl2CnZMSDB2RnI2VzE5RzFHNVRyYjZxZGV4V01taFFhU3o3
RS9NY0FNaWhVQUQ1ekdlcVAvNlh2MVJmOXJlL1JTeGFWUHM1bmRsM1gxT3IKUFVYNmFzYU10aisv
OTE3cGpuTXRRNGRHYkxOTjdmWDZpbTIycWYxM1ZHcjFWYTFqdDVwZGRpbTJYbDlobmdNQU9kUU1J
R3V0RlRGeQpaUFYxeXIxdG8vV3lXbzlYTTNKa3FZYis0aE9mcVA1NGtiNWFZNDJPNjVSYlZzNG5Q
MWxzdmI2Z1NGdHE5VlZYanMzKzFKZm1PUUNRClM4MEFNbkpreElBQjFkY3A5NWUyV3kvYmVPT09m
N3l0NkYvbkhqQ2c5b1ZSWC9LeGoxVi92RWhmdGY5NW80MGlSb3dvdHYvdHR5KzIKWGw5UXBDMjEr
cXJXc2R2Vi9mY1Y1amtBa0V2TkFMTFZWclUzc3ROT2JUOUVPblpzMi9mSE56VkZmUHZiSC95OHpq
cjEvVEczSWpYMApCYXV2WHZwMm9HcUs5TlVKSjVTV3IvQ2Q3eFN2WWV1dGk2L2I2SXEwcFZaZjFU
cDJxOWwwMC83elFmVHVtdWV0KzNkbG5lY0FRSFdyCjFscWg2SjMxTys2SXVPaWkwditQUDc3ajQx
LzdXc1NRSWFXdjdqemlpTkxGVzFGRmEyaDBILzV3c2IvNlhLdXZOdDAwNHRGSEk2NjUKSm1MMDZJ
aUpFNHZYc1BIRzlWVGMySXEwcFVoZjFUcDJLMWxsbGRLWXZ2aGk4ZWMwcXU2YTUwY2ZIZEhjdkhM
UGN3Q2d1cG9CWk5pdwpZaHNhUERqaXpET3Jyek54WW4wWHkvWFcwT2cyMktENHVyWDZhcnZ0SWla
UDd0a2FHbDNSdHRUcXF5TEhiclVhK2tNQU1jOEJnRnhxCjNvOXZiczVSUnVQWDBCMGFvUjJOVUVO
M2FZUzJORUlOM2FFUjJ0RUlOUUFBUGEvUXQyRDF0a2Fvb1RzVS9VYWcvbDVEZDJtRXRqUkMKRGQy
aEVlWllJOVFBQVBTOG1nR2sxamZqNU5BSU5YU0hSbWhISTlUUVhScWhMWTFRUTNkb2hIWTBRZzBB
UU0rckdVQ1dMczFSUnVQWAowQjNlZjcrM0srZy9mUm5SR0cxcGhESHREbzNRbDQxUUF3RFE4Mm9H
a1BuemM1VFIrRFYwaDBab1J5UFUwRjBhb1MyTlVFTjNhSVIyCk5FSU5BRURQcXhsQTVzekpVVVox
czJmM2RnWGRveEhhMFFqajJWMGFvUzJOTUtiZFFWOENBTG5VRENDdnZwcWpqT3BlZTYyM0srZ2UK
amRDWGpWQkRkMm1FdGpSQ0RkMmhFZHJSWCtZNUFGQmR6UUR5d2dzNXltajhHcnJERzI5RUxGell1
elgwbDc2TTZQMi92N0Z3WVdsTQorNE5HT0M0YW9RWUFvT2ZWRENBelp1UW9vL0ZyNkE0cFJmejFy
NzFiUTMvcHk0aUl2L3lsZC9mLzE3K1d4clEvYUlUam9oRnFBQUI2ClhzMEE4dHh6dmZ2aDBQbnpT
elgwRjMvODQ4cTkvKzdVMjIzcDdmMTNKL01jQU1pbFpnQlp2anppOGNlcnIvT2IzMFFzWGx6L3po
Y3YKTGoyM21zY2ZMOVhRWDB5Zlh2M3h0OTZLZU9LSnptMzcvdnRyci9QWVk1M2JkaU9xZFZ4R0ZP
dVRjcDU0b2pRVzFkUWF5NzdFUEFjQQpjcWtaUUNJaUhucW84bU5MbDBZY2RsakVWNzlhLzg2Lyt0
WFNjNnQ5Ly8rREQ5YS8zVVpXcXozbm5odnh4UzlHdlA1NmZkdTk4ODZJCmNlTWlmdnZieXVzOC9Y
VHRpK3ErNU0wM1MyMnE1TGUvTGZYSm5YZld0OTNYWHkrTndibm5WbCt2dngyYjVqa0FrTU9xUlZh
NjU1NkkKczg4dS85Z0ZGMFE4LzN6cDN4Ly9HUEdSanhUYjhUUFBSUHo1eng5czQ3VFR5cTkzNzcz
RnR0ZFhQUDEweE1zdlIyeThjY2ZIWG5vcAo0cUtMSXBZdGk5aHV1NGhkZHkzMjE2SGZlU2ZpZ1Fk
S2Q1Qy85cldJSjU4c3YxNS82OHVJVXB0R2ppei8yTmUrVnVxVGZmZU5HRE1tCm9ybTU5dmFXTFN0
ZERMLzlkbWtzVGpnaFlzU0lqdXU5L0hMMThOTVhtZWNBUUE2RkFzampqNWUrcHZQREgyNjdmTUdD
aUNsVFB2ajUKejMvKzRHS2pIbE9tUkJ4M1hNU2dRVzJYdi9wcXNiZlo5RFYzM0JGeC9QRWRsNTk5
ZHVrQ09LSjBBWHo3N2ZWdiswOS9LbDFJamg5Zgpmci85elIxM1JKeDBVc2ZsZDk5ZDZvdUlVcC8r
ei8vVXYrMWx5MHBqY3MwMTVmZmIzenoybUhrT0FQUzhRbS9CV3I0ODRxYy83Ymo4CnhSZExkOSs3
NnAxM3luK2w2azkvMmovZkYzN1RUZVdYVi9yTlJiM0tmVGo2cFpkcXZ3Ky9ML3JOYjBwdGE2K3pu
Nk5wcjlLWVZCckQKdml3bDh4d0E2SG1GQWtoRXhKVlhkbHkyM1hZUlYxelI5U0t1dUtLMHJTTDc3
QSttVFN0L0IvbU9PeUtHRGV2YXR2ZmVPK0wwMHpzdQp2K3FxL3ZPVnNhMmxWR3BiZTZlZlh1cUxy
aGcyclB4dk92Nzg1OUlZOWtmbU9RRFEwd29Ia0dlZWlianZ2bzdMRHoyMC9BVnZVYWVmClh0cEdl
Ny82VldtZi9kV0ZGM1pjTm1KRTZZSjNqVFU2dDgwZGRvaTQ4Y2FJcHFhMnl4Y3Rpcmo4OHM1dHN5
KzQvUEpTRzF0cmFpcjEKeFE0N2RHNmJhNnhSR290eW4vOG9OM2I5UmU1NWZ0OTkvWHVlQXdBZEZR
NGdFUkhmKzE3NTVlZWUyN203elh2dlhmbWJocjcvL2ZxMwoxNWRjZjMzNXR3NTkrdE9kdTlzOGJG
akVYWGQxZkg5OVJHbDcvZVV2ZHBmenhodmwrMnpRb0ZLZmRPYTNTbGRjVVJxTDlsNTZxVFIyCi9W
bk9lVjVwWHdCQS8xVlhBSG40NFloZi9yTGo4czdjYmE1MHR6Nml0SStISDY2bnNyNW55WktJYjMr
Ny9HUDEzbTJ1ZHJkKzd0eisKSCtZaVNtMmNPN2ZqOHM3OFZxblMzZnFJMHBndFdkSzVHdnNLOHh3
QTZFbDFCWkNJMHRlU3Z2ZGV4K1gxM0cydWRyZit2ZmRLKzFnWgpYSDk5NVErRzEzTzN1ZExkK29q
U3R6alYremRGK3FMWFg2LzhGYkwxL0ZhcDJ0MzYzL3ltLy8vMll3WHpIQURvS1hVSGtHZWZqVGp6
CnpQS1BGYm5iWE8xdWZVUnAyODgrVzI5VmZWTktFVWNlV2ZxYTAvYWFtaUp1dUtIMjNlWnFkK3Nm
ZWFUMHR5eFdGaGRkVkdwek9VVisKcTFUdGJ2MkNCYVd4Nm84ZjVDL0hQQWNBZWtyZEFTU2k5Q0hj
U245ZHV0YmQ1bXAzNisrOHMzOS93TGVjbVROTGZ6Q3ZuTUdEcTk5dApybmEzL28wM0lnNDhjT1g2
ZXRQbHkwdHRydlI1bDJxL1ZhcDJ0ejZpTkVZelozWlBuWDJGZVE0QTlJUk9CWkNJaUVNT3Fmekh3
eXJkCmJhNTJ0Lzd4eDB2YlhCbmRlR1BFcEVubEg2dDB0N25XM2ZvdmZqRmkxcXp1cjdYUnpacFZh
bnVsM3lxVit3eERyYnYxa3lhVm5yY3kKTXM4QmdPN1c2UUN5WUVIRTV6NFhNWDE2K2NmYjMyMnVk
cmQrK3ZUU3RzcGROSzRzemptbjhvZkYyOTl0cm5hMy90MTNJL2Jjcy9LNApyQXltVHkvMXdidnZk
bnlzM0djWXF0MnQvLzczUzJPenNqTFBBWUR1MXVrQUVoRXhaMDdFbURFUlAvbEp4OGRhZjRhaDJ0
MzZuL3lrCnRJMDVjN3BTU2Y5dzFsa1JYL2xLeDc5cEVmSEIzZVpxZCt0bnpvelllZWVJaHg3cStW
b2IzVU1QbGZxaTNOdW1XdjlXcWRMZCtrV0wKU21OeDFsazlYMnVqTTg4QmdPN1VwUUFTRWJGd1lj
VEJCMGNjY0VESHQveXMrQXhEdWJ2MXMyYVZublB3d2FWdFVITDExUkVmLzNqRQpBdzkwZk96Y2N5
UHV2Ny9qM2ZvbFN5SW1UNDdZY2NlSXA1N0tVMmRmOE5SVHBUNlpQTG5qVitkKyt0T2x2aXgzdC82
QkIwcGpjUFhWCmVlcnNDOHh6QUtDN2REbUFySER6elJGYmJSVngxRkdsYnlKYXRxeTBmTVNJRCs3
V0wxdFdldXlvbzBycjNueHpkKzI5ZjVreEkyTDMKM1NOMjJ5M2lwcHMrK1BzV1RVMmx1L29yUFA5
OHhIbm5SV3k1WmNTcHA3ckFLMmZod2xMZmJMbGxxYStlZi82RHgzYmUrWU83OVhQbgpsdnA2MTEx
TGZUOWpSdS9VMitqTWN3Q2dxMWJ0em8wdFdoUng1WldsZjJ1dkhiSGRkaCs4MS83MTEwdDNwT2ZO
Njg0OTltOFBQbGo2Ck4yQkF4TGJiUm15eVNlbHRRKysrVzdwQWZ1V1YzcTZ3NzNqNTVkSlh2NTU1
WnNUdzRSRmJieDJ4N3JvUml4ZEgvTzF2RVgvNXl3Y1gKMDFSbm5nTUFYZEd0QWFTMWVmTWlwazNy
cWEydlhKWXRLMTNVZVh0Vjk1ZzFhK1g4aHJDZVlKNERBUFhxdHJkZ0FRQUExQ0tBQUFBQQoyUWdn
QUFCQU5nSUlBQUNRalFBQ0FBQmtJNEFBQUFEWkNDQUFBRUEyQWdnQUFKQ05BQUlBQUdRamdBQUFB
TmtJSUFBQVFEWUNDQUFBCmtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlBQUNRalFBQ0FBQmtJ
NEFBQUFEWkNDQUFBRUEyQWdnQUFKRE5xaEVSNjBURXlGNHUKcExQVzZlMEN5dWlyZlRtOHR3c29Z
M2owM2Y1c05PWTVBTkFJVm8ySStGeEVQTlhMaGZRbityTDdUT250QXZvUjh4d0FhQVRlZ2dVQQpB
R1RUbEY1K09mVjJFZDFpZUFPOGdXaisvSWgzM3VudEtycHV3dzBqQmd6bzNScVdMWXQ0N2JYZXJh
RTdORGRIREI3YzIxVkV6SnJWCjJ4VjBqMGFZNXdCQWx6U2xsUHBIQUFFQUFCcWV0MkFCQUFEWkND
QUFBRUEyQWdnQUFKQ05BQUlBQUdRamdBQUFBTmtJSUFBQVFEWUMKQ0FBQWtJMEFBZ0FBWkNPQUFB
QUEyUWdnQUFCQU5nSUlBQUNRalFBQ0FBQmtJNEFBQUFEWkNDQUFBRUEyQWdnQUFKQ05BQUlBQUdR
agpnQUFBQU5rSUlBQUFRRFlDQ0FBQWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlBQUNRalFB
Q0FBQmtJNEFBQUFEWkNDQUFBRUEyCkFnZ0FBSkNOQUFJQUFHUWpnQUFBQU5rSUlBQUFRRFlDQ0FB
QWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlBQUNRalFBQ0FBQmsKSTRBQUFBRFpDQ0FBQUVB
MkFnZ0FBSkNOQUFJQUFHUWpnQUFBQU5rSUlBQUFRRFlDQ0FBQWtJMEFBZ0FBWkNPQUFBQUEyUWdn
QUFCQQpOZ0lJQUFDUWpRQUNBQUJrSTRBQUFBRFpDQ0FBQUVBMkFnZ0FBSkNOQUFJQUFHUWpnQUFB
QU5rSUlBQUFRRFlDQ0FBQWtJMEFBZ0FBClpDT0FBQUFBMlFnZ0FBQkFOZ0lJQUFDUWpRQUNBQUJr
STRBQUFBRFpDQ0FBQUVBMkFnZ0FBSkNOQUFJQUFHUWpnQUFBQU5rSUlBQUEKUURZQ0NBQUFrSTBB
QWdBQVpDT0FBQUFBMlFnZ0FBQkFOZ0lJQUFDUWpRQUNBQUJrSTRBQUFBRFpDQ0FBQUVBMkFnZ0FB
SkNOQUFJQQpBR1FqZ0FBQUFOa0lJQUFBUURZQ0NBQUFrSTBBQWdBQVpDT0FBQUFBMlFnZ0FBQkFO
Z0lJQUFDUWpRQUNBQUJrSTRBQUFBRFpDQ0FBCkFFQTJBZ2dBQUpDTkFBSUFBR1FqZ0FBQUFOa0lJ
QUFBUURZQ0NBQUFrSTBBQWdBQVpDT0FBQUFBMlFnZ0FBQkFOZ0lJQUFDUWpRQUMKQUFCa0k0QUFB
QURaQ0NBQUFFQTJBZ2dBQUpDTkFBSUFBR1FqZ0FBQUFOa0lJQUFBUURZQ0NBQUFrSTBBQWdBQVpD
T0FBQUFBMlFnZwpBQUJBTmdJSUFBQ1FqUUFDQUFCa0k0QUFBQURaQ0NBQUFFQTJBZ2dBQUpDTkFB
SUFBR1FqZ0FBQUFOa0lJQUFBUURZQ0NBQUFrSTBBCkFnQUFaQ09BQUFBQTJRZ2dBQUJBTmdJSUFB
Q1FqUUFDQUFCa0k0QUFBQURaQ0NBQUFFQTJBZ2dBQUpDTkFBSUFBR1FqZ0FBQUFOa0kKSUFBQVFE
WUNDQUFBa0kwQUFnQUFaQ09BQUFBQTJRZ2dBQUJBTmdJSUFBQ1FqUUFDQUFCa0k0QUFBQURaQ0NB
QUFFQTJBZ2dBQUpDTgpBQUlBQUdRamdBQUFBTmtJSUFBQVFEWUNDQUFBa0kwQUFnQUFaQ09BQUFB
QTJRZ2dBQUJBTmdJSUFBQ1FqUUFDQUFCa0k0QUFBQURaCkNDQUFBRUEyQWdnQUFKQ05BQUlBQUdR
amdBQUFBTmtJSUFBQVFEWUNDQUFBa0kwQUFnQUFaQ09BQUFBQTJRZ2dBQUJBTmdJSUFBQ1EKalFB
Q0FBQmtJNEFBQUFEWkNDQUFBRUEyQWdnQUFKQ05BQUlBQUdRamdBQUFBTmtJSUFBQVFEWUNDQUFB
a0kwQUFnQUFaQ09BQUFBQQoyUWdnQUFCQU5nSUlBQUNRalFBQ0FBQmtJNEFBQUFEWkNDQUFBRUEy
QWdnQUFKQ05BQUlBQUdRamdBQUFBTmtJSUFBQVFEWUNDQUFBCmtJMEFBZ0FBWkNPQUFBQUEyUWdn
QUFCQU5nSUlBQUNRalFBQ0FBQmtJNEFBQUFEWkNDQUFBRUEyQWdnQUFKQ05BQUlBQUdRamdBQUEK
QU5rSUlBQUFRRFlDQ0FBQWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlBQUNRalFBQ0FBQmtJ
NEFBQUFEWkNDQUFBRUEyQWdnQQpBSkNOQUFJQUFHUWpnQUFBQU5rSUlBQUFRRFlDQ0FBQWtJMEFB
Z0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlBQUNRalFBQ0FBQmtJNEFBCkFBRFpDQ0FBQUVBMkFnZ0FB
SkNOQUFJQUFHUWpnQUFBQU5rSUlBQUFRRFlDQ0FBQWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5n
SUkKQUFDUWpRQUNBQUJrSTRBQUFBRFpDQ0FBQUVBMkFnZ0FBSkNOQUFJQUFHUWpnQUFBQU5rSUlB
QUFRRFlDQ0FBQWtJMEFBZ0FBWkNPQQpBQUFBMlFnZ0FBQkFOZ0lJQUFDUWpRQUNBQUJrSTRBQUFB
RFpDQ0FBQUVBMkFnZ0FBSkNOQUFJQUFHUWpnQUFBQU5rSUlBQUFRRFlDCkNBQUFrSTBBQWdBQVpD
T0FBQUFBMlFnZ0FBQkFOZ0lJQUFDUWpRQUNBQUJrSTRBQUFBRFpDQ0FBQUVBMkFnZ0FBSkNOQUFJ
QUFHUWoKZ0FBQUFOa0lJQUFBUURZQ0NBQUFrSTBBQWdBQVpDT0FBQUFBMlFnZ0FBQkFOZ0lJQUFD
UWpRQUNBQUJrSTRBQUFBRFpDQ0FBQUVBMgpBZ2dBQUpDTkFBSUFBR1FqZ0FBQUFOa0lJQUFBUURZ
Q0NBQUFrSTBBQWdBQVpDT0FBQUFBMlFnZ0FBQkFOZ0lJQUFDUWpRQUNBQUJrCkk0QUFBQURaQ0NB
QUFFQTJBZ2dBQUpDTkFBSUFBR1FqZ0FBQUFOa0lJQUFBUURZQ0NBQUFrSTBBQWdBQVpDT0FBQUFB
MlFnZ0FBQkEKTmdJSUFBQ1FqUUFDQUFCa0k0QUFBQURaQ0NBQUFFQTJBZ2dBQUpDTkFBSUFBR1Fq
Z0FBQUFOa0lJQUFBUURZQ0NBQUFrSTBBQWdBQQpaQ09BQUFBQTJRZ2dBQUJBTmdJSUFBQ1FqUUFD
QUFCa0k0QUFBQURaQ0NBQUFFQTJBZ2dBQUpDTkFBSUFBR1FqZ0FBQUFOa0lJQUFBClFEWUNDQUFB
a0kwQUFnQUFaQ09BQUFBQTJRZ2dBQUJBTmdJSUFBQ1FqUUFDQUFCa0k0QUFBQURaQ0NBQUFFQTJB
Z2dBQUpDTkFBSUEKQUdRamdBQUFBTmtJSUFBQVFEWUNDQUFBa0kwQUFnQUFaQ09BQUFBQTJRZ2dB
QUJBTmdJSUFBQ1FqUUFDQUFCa0k0QUFBQURaQ0NBQQpBRUEyQWdnQUFKQ05BQUlBQUdRamdBQUFB
TmtJSUFBQVFEWUNDQUFBa0kwQUFnQUFaQ09BQUFBQTJRZ2dBQUJBTmdJSUFBQ1FqUUFDCkFBQmtJ
NEFBQUFEWkNDQUFBRUEyQWdnQUFKQ05BQUlBQUdRamdBQUFBTmtJSUFBQVFEWUNDQUFBa0kwQUFn
QUFaQ09BQUFBQTJRZ2cKQUFCQU5nSUlBQUNRalFBQ0FBQmtJNEFBQUFEWkNDQUFBRUEyQWdnQUFK
Q05BQUlBQUdRamdBQUFBTmtJSUFBQVFEWUNDQUFBa0kwQQpBZ0FBWkNPQUFBQUEyUWdnQUFCQU5n
SUlBQUNRalFBQ0FBQmtJNEFBQUFEWkNDQUFBRUEyQWdnQUFKQ05BQUlBQUdRamdBQUFBTmtJCklB
QUFRRFlDQ0FBQWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlBQUNRalFBQ0FBQmtJNEFBQUFE
WkNDQUFBRUEyQWdnQUFKQ04KQUFJQUFHUWpnQUFBQU5rSUlBQUFRRFlDQ0FBQWtJMEFBZ0FBWkNP
QUFBQUEyUWdnQUFCQU5nSUlBQUNRalFBQ0FBQmtJNEFBQUFEWgpDQ0FBQUVBMkFnZ0FBSkNOQUFJ
QUFHUWpnQUFBQU5rSUlBQUFRRFlDQ0FBQWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlBQUNR
CmpRQUNBQUJrSTRBQUFBRFpDQ0FBQUVBMkFnZ0FBSkNOQUFJQUFHUWpnQUFBQU5rSUlBQUFRRFlD
Q0FBQWtJMEFBZ0FBWkNPQUFBQUEKMlFnZ0FBQkFOZ0lJQUFDUWpRQUNBQUJrSTRBQUFBRFpDQ0FB
QUVBMkFnZ0FBSkNOQUFJQUFHUWpnQUFBQU5rSUlBQUFRRFlDQ0FBQQprSTBBQWdBQVpDT0FBQUFB
MlFnZ0FBQkFOZ0lJQUFDUWpRQUNBQUJrSTRBQUFBRFpDQ0FBQUVBMkFnZ0FBSkNOQUFJQUFHUWpn
QUFBCkFOa0lJQUFBUURZQ0NBQUFrTTMvQjZldStRZjhXaUd5QUFBQUFFbEZUa1N1UW1DQwoKSW5k
ZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdHJhbnNmb3JtLWludmFsaWQtZXhwZWN0ZWQucG5n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUu
CnN2bjptaW1lLXR5cGUgPSBpbWFnZS9wbmcKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFB
QUpZQ0FZQUFBQ2Fkb0p3QUFBTWkwbEVRVlI0bk8zWnNRM0RNQkFFUWRPTkM2NzgKM1FLanBRVE54
QXdldUdqQk5UUHoyYkIrYStjWmtibTJaclBiemRqdG1lejJUTHU3QWRENm5qNEFBQUI0RHdFQ0FB
QmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsK
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpCWk16T25qd0FBQU43QgpEd2dBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFF
YUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFF
YUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFF
YUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFF
YUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVh
QUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVh
QUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVh
QUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
CkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFB
QUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
QwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFtVCtLClVSaW5PNTY2YWdBQUFBQkpSVTVFcmtKZ2dnPT0K
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>10944</attachid>
            <date>2006-10-06 01:10:08 -0700</date>
            <delta_ts>2006-12-22 13:45:30 -0800</delta_ts>
            <desc>Slightly cleaned up patch</desc>
            <filename>11108-8.diff</filename>
            <type>text/plain</type>
            <size>181579</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE2ODM5KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMDYtMTAtMDYgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTExMDgKKyAgICAgICAgUmVwbGFjZSB1c2FnZSBvZiBzcGxpdCBieSBwcm9wZXIgcGFy
c2VycworCisgICAgICAgIFRlc3RpbmcgbmV3IGtleXdvcmQgZGVmZXIgaW4gcHJlc2VydmVBc3Bl
Y3RSYXRpbywgZW1wdHkKKyAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpbyBhbmQgaW1wcm92ZWQg
dGVzdGluZyBmb3IgaW52YWxpZCB0cmFuc2Zvcm1zLgorCisgICAgICAgICogc3ZnL2N1c3RvbS9l
bXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAg
ICAgICAqIHN2Zy9jdXN0b20vZW1wdHktcHJlc2VydmUtYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnBu
ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0
aW8tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL2VtcHR5LXByZXNl
cnZlLWFzcGVjdC1yYXRpby5zdmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vcHJlc2Vy
dmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAg
ICogc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnBuZzog
QWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3Bl
Y3QtcmF0aW8tc3ludGF4LnN2ZzogQWRkZWQuCisgICAgICAgICogc3ZnL2N1c3RvbS90cmFuc2Zv
cm0taW52YWxpZC1leHBlY3RlZC5jaGVja3N1bToKKyAgICAgICAgKiBzdmcvY3VzdG9tL3RyYW5z
Zm9ybS1pbnZhbGlkLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdmcvY3VzdG9tL3RyYW5zZm9y
bS1pbnZhbGlkLnN2ZzoKKwogMjAwNi0xMC0wNSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQG55
cG9wLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbi4KQEAgLTM3LDYgKzYwLDcgQEAK
ICAgICAgICAgKiBmYXN0L2ZyYW1lcy9mcmFtZS1zcmMtYXR0cmlidXRlLWV4cGVjdGVkLnR4dDoK
ICAgICAgICAgVXBkYXRlIHRlc3QgcmVzdWx0LgogCis+Pj4+Pj4+IC5yMTY4MDAKIDIwMDYtMTAt
MDMgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBueXBvcC5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgVGltIEguCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtcHR5LXByZXNlcnZl
LWFzcGVjdC1yYXRpby1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2VtcHR5LXByZXNlcnZlLWFzcGVjdC1yYXRpby1leHBlY3RlZC5jaGVja3N1
bQkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1wdHktcHJlc2VydmUt
YXNwZWN0LXJhdGlvLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBA
CisxNjMxMDU4ODQ2N2NmYzIwZDU1MTYzNWFiYzU5Yjc4NApcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1wdHktcHJlc2VydmUtYXNwZWN0
LXJhdGlvLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L2VtcHR5LXByZXNlcnZlLWFzcGVjdC1yYXRpby1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtcHR5LXByZXNlcnZlLWFzcGVjdC1yYXRpby1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgS0NhbnZh
c0NvbnRhaW5lciB7c3ZnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICAgIEtDYW52YXNJdGVt
IHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
IzAwODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAsMC4wMEwxMDAuMDAsMTAwLjAwTDAu
MDAsMTAwLjAwIl0KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vZW1wdHktcHJlc2VydmUt
YXNwZWN0LXJhdGlvLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2Vt
cHR5LXByZXNlcnZlLWFzcGVjdC1yYXRpby5zdmcJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2VtcHR5LXByZXNlcnZlLWFzcGVjdC1yYXRpby5zdmcJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMyBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
IHByZXNlcnZlQXNwZWN0UmF0aW89IiIgPgorIDxyZWN0IGZpbGw9ImdyZWVuIiB0cmFuc2Zvcm09
InNjYWxlKCkgIiB4PSIwIiB5PSIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgLz4KKzwvc3Zn
PgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3lu
dGF4LWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0
b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5
bnRheC1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBAQAorNWM1NDNi
ODIyMTliOTk2NzExYzMwZWY1MTQ4ZjI1YjMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgt
ZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vcHJlc2Vy
dmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU4IEBACitsYXllciBhdCAoMCwwKSBzaXplIDc4
NXg3NDIKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAKK2xheWVyIGF0ICgwLDAp
IHNpemUgNzg1eDc0MgorICBSZW5kZXJCbG9jayB7aHRtbH0gYXQgKDAsMCkgc2l6ZSA3ODV4NzQy
CisgICAgUmVuZGVyQm9keSB7Ym9keX0gYXQgKDgsMTgpIHNpemUgNzY5eDcxNgorICAgICAgUmVu
ZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3Njl4MAorICAgICAgICBSZW5kZXJJ
bmxpbmUge3BhcnNlcmVycm9yfSBhdCAoMCwwKSBzaXplIDB4MCBbYmdjb2xvcj0jRkZEREREXSBb
Ym9yZGVyOiAoMnB4IHNvbGlkICNDQzc3NzcpXQorICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91
cykgYXQgKDAsMCkgc2l6ZSA3Njl4OTQKKyAgICAgICAgUmVuZGVyQmxvY2sge2gzfSBhdCAoMCww
KSBzaXplIDc2OXgyMgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDMyNHgyMgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzI0OiAiVGhpcyBw
YWdlIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgZXJyb3JzOiIKKyAgICAgICAgUmVuZGVyQmxvY2sg
e2Rpdn0gYXQgKDAsNDApIHNpemUgNzY5eDE0CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgNjA5eDE0CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCA2MDk6ICJlcnJvciBvbiBsaW5lIDM0IGF0IGNvbHVtbiA2OiBYTUwgZGVjbGFyYXRpb24gYWxs
b3dlZCBvbmx5IGF0IHRoZSBzdGFydCBvZiB0aGUgZG9jdW1lbnQiCisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoNjA5LDApIHdpZHRoIDA6ICIgIgorICAgICAgICBSZW5kZXJCbG9jayB7aDN9IGF0
ICgwLDcyKSBzaXplIDc2OXgyMgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDQyOXgyMgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNDI5OiAi
QmVsb3cgaXMgYSByZW5kZXJpbmcgb2YgdGhlIHBhZ2UgdXAgdG8gdGhlIGZpcnN0IGVycm9yLiIK
KyAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDExMikgc2l6ZSA3Njl4NjA0Cisg
ICAgICAgIFJlbmRlcklubGluZSB7cGFyc2VyZXJyb3J9IGF0ICgwLDApIHNpemUgMHgwIFtiZ2Nv
bG9yPSNGRkRERERdIFtib3JkZXI6ICgycHggc29saWQgI0NDNzc3NyldCisgICAgICAgIEtDYW52
YXNDb250YWluZXIge3N2Z30gYXQgKDgsMjIxLjczKSBzaXplIDI4OC4zOHg2NC4wOAorICAgICAg
ICAgIEtDYW52YXNDb250YWluZXIge2d9IGF0ICg4LDIyMS43Mykgc2l6ZSAyODguMzh4NjQuMDgK
KyAgICAgICAgICAgIEtDYW52YXNDb250YWluZXIge2d9IGF0ICg4LDIyMS43Mykgc2l6ZSAyODgu
Mzh4NjQuMDgKKyAgICAgICAgICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMCkgc2l6
ZSA3Njl4MTAKKyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSA0NjV4MTAKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ2NTog
IkFsbCBzdmdzIGJlbG93IHNob3VsZCBsb29rIHRoZSBzYW1lLCBzaW5jZSBhbGwgaGF2ZSBwcmVz
ZXJ2ZUFzcGVjdFJhdGlvIHdpdGggc3ludGF4IGVycm9ycyBhbmQgZGVmYXVsdCBzaG91bGQgYmUg
Y2hvc2VuLiIKKyAgICAgICAgICAgICAgS0NhbnZhc0NvbnRhaW5lciB7Z30gYXQgKDgsMjIxLjcz
KSBzaXplIDQ4LjA2eDY0LjA4IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkp
IHQ9KDAuMDAsNTAuMDApfV0KKyAgICAgICAgICAgICAgICBLQ2FudmFzQ29udGFpbmVyIHtzdmd9
IGF0ICg4LDIyMS43Mykgc2l6ZSA0OC4wNng5Ni4xMgorICAgICAgICAgICAgICAgICAgS0NhbnZh
c0l0ZW0ge3JlY3R9IGF0ICg4LDIyMS43Mykgc2l6ZSA0OC4wNng5Ni4xMiBbc3Ryb2tlPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
MDAwMF19XSBbZGF0YT0iTTAuNTAsMC41MEwyOS41MCwwLjUwTDI5LjUwLDM5LjUwTDAuNTAsMzku
NTAiXQorICAgICAgICAgICAgICAgICAgS0NhbnZhc0NvbnRhaW5lciB7Z30gYXQgKDE2LjAxLDI0
NS43Nikgc2l6ZSAzMi4wNHg0OC4wNiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEu
MDApKSB0PSgwLjAwLDUuMDApfV0KKyAgICAgICAgICAgICAgICAgICAgS0NhbnZhc0l0ZW0ge2Np
cmNsZX0gYXQgKDE2LjAxLDI0NS43Nikgc2l6ZSAzMi4wNHg0OC4wNiBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jRkZGRjAwXX1dIFtkYXRhPSJNMjUuMDAsMTUuMDBMMjQuOTgsMTUuNjNMMjQu
OTIsMTYuMjVMMjQuODIsMTYuODdMMjQuNjksMTcuNDlMMjQuNTEsMTguMDlMMjQuMzAsMTguNjhM
MjQuMDUsMTkuMjZMMjMuNzYsMTkuODJMMjMuNDQsMjAuMzZMMjMuMDksMjAuODhMMjIuNzEsMjEu
MzdMMjIuMjksMjEuODVMMjEuODUsMjIuMjlMMjEuMzcsMjIuNzFMMjAuODgsMjMuMDlMMjAuMzYs
MjMuNDRMMTkuODIsMjMuNzZMMTkuMjYsMjQuMDVMMTguNjgsMjQuMzBMMTguMDksMjQuNTFMMTcu
NDksMjQuNjlMMTYuODcsMjQuODJMMTYuMjUsMjQuOTJMMTUuNjMsMjQuOThMMTUuMDAsMjUuMDBM
MTQuMzcsMjQuOThMMTMuNzUsMjQuOTJMMTMuMTMsMjQuODJMMTIuNTEsMjQuNjlMMTEuOTEsMjQu
NTFMMTEuMzIsMjQuMzBMMTAuNzQsMjQuMDVMMTAuMTgsMjMuNzZMOS42NCwyMy40NEw5LjEyLDIz
LjA5TDguNjMsMjIuNzFMOC4xNSwyMi4yOUw3LjcxLDIxLjg1TDcuMjksMjEuMzdMNi45MSwyMC44
OEw2LjU2LDIwLjM2TDYuMjQsMTkuODJMNS45NSwxOS4yNkw1LjcwLDE4LjY4TDUuNDksMTguMDlM
NS4zMSwxNy40OUw1LjE4LDE2Ljg3TDUuMDgsMTYuMjVMNS4wMiwxNS42M0w1LjAwLDE1LjAwTDUu
MDIsMTQuMzdMNS4wOCwxMy43NUw1LjE4LDEzLjEzTDUuMzEsMTIuNTFMNS40OSwxMS45MUw1Ljcw
LDExLjMyTDUuOTUsMTAuNzRMNi4yNCwxMC4xOEw2LjU2LDkuNjRMNi45MSw5LjEyTDcuMjksOC42
M0w3LjcxLDguMTVMOC4xNSw3LjcxTDguNjMsNy4yOUw5LjEyLDYuOTFMOS42NCw2LjU2TDEwLjE4
LDYuMjRMMTAuNzQsNS45NUwxMS4zMiw1LjcwTDExLjkxLDUuNDlMMTIuNTEsNS4zMUwxMy4xMyw1
LjE4TDEzLjc1LDUuMDhMMTQuMzcsNS4wMkwxNS4wMCw1LjAwTDE1LjYzLDUuMDJMMTYuMjUsNS4w
OEwxNi44Nyw1LjE4TDE3LjQ5LDUuMzFMMTguMDksNS40OUwxOC42OCw1LjcwTDE5LjI2LDUuOTVM
MTkuODIsNi4yNEwyMC4zNiw2LjU2TDIwLjg4LDYuOTFMMjEuMzcsNy4yOUwyMS44NSw3LjcxTDIy
LjI5LDguMTVMMjIuNzEsOC42M0wyMy4wOSw5LjEyTDIzLjQ0LDkuNjRMMjMuNzYsMTAuMThMMjQu
MDUsMTAuNzRMMjQuMzAsMTEuMzJMMjQuNTEsMTEuOTFMMjQuNjksMTIuNTFMMjQuODIsMTMuMTNM
MjQuOTIsMTMuNzVMMjQuOTgsMTQuMzciXQorICAgICAgICAgICAgICAgICAgICBLQ2FudmFzSXRl
bSB7Y2lyY2xlfSBhdCAoMjQuODIsMjU4Ljk4KSBzaXplIDQuODF4Ny4yMSBbZmlsbD17W3R5cGU9
U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMTMuNTAsMTIuMDBMMTMuNTAsMTIuMDlM
MTMuNDksMTIuMTlMMTMuNDcsMTIuMjhMMTMuNDUsMTIuMzdMMTMuNDMsMTIuNDZMMTMuMzksMTIu
NTVMMTMuMzYsMTIuNjRMMTMuMzEsMTIuNzJMMTMuMjcsMTIuODBMMTMuMjEsMTIuODhMMTMuMTYs
MTIuOTZMMTMuMDksMTMuMDNMMTMuMDMsMTMuMDlMMTIuOTYsMTMuMTZMMTIuODgsMTMuMjFMMTIu
ODAsMTMuMjdMMTIuNzIsMTMuMzFMMTIuNjQsMTMuMzZMMTIuNTUsMTMuMzlMMTIuNDYsMTMuNDNM
MTIuMzcsMTMuNDVMMTIuMjgsMTMuNDdMMTIuMTksMTMuNDlMMTIuMDksMTMuNTBMMTIuMDAsMTMu
NTBMMTEuOTEsMTMuNTBMMTEuODEsMTMuNDlMMTEuNzIsMTMuNDdMMTEuNjMsMTMuNDVMMTEuNTQs
MTMuNDNMMTEuNDUsMTMuMzlMMTEuMzYsMTMuMzZMMTEuMjgsMTMuMzFMMTEuMjAsMTMuMjdMMTEu
MTIsMTMuMjFMMTEuMDQsMTMuMTZMMTAuOTcsMTMuMDlMMTAuOTEsMTMuMDNMMTAuODQsMTIuOTZM
MTAuNzksMTIuODhMMTAuNzMsMTIuODBMMTAuNjksMTIuNzJMMTAuNjQsMTIuNjRMMTAuNjEsMTIu
NTVMMTAuNTcsMTIuNDZMMTAuNTUsMTIuMzdMMTAuNTMsMTIuMjhMMTAuNTEsMTIuMTlMMTAuNTAs
MTIuMDlMMTAuNTAsMTIuMDBMMTAuNTAsMTEuOTFMMTAuNTEsMTEuODFMMTAuNTMsMTEuNzJMMTAu
NTUsMTEuNjNMMTAuNTcsMTEuNTRMMTAuNjEsMTEuNDVMMTAuNjQsMTEuMzZMMTAuNjksMTEuMjhM
MTAuNzMsMTEuMjBMMTAuNzksMTEuMTJMMTAuODQsMTEuMDRMMTAuOTEsMTAuOTdMMTAuOTcsMTAu
OTFMMTEuMDQsMTAuODRMMTEuMTIsMTAuNzlMMTEuMjAsMTAuNzNMMTEuMjgsMTAuNjlMMTEuMzYs
MTAuNjRMMTEuNDUsMTAuNjFMMTEuNTQsMTAuNTdMMTEuNjMsMTAuNTVMMTEuNzIsMTAuNTNMMTEu
ODEsMTAuNTFMMTEuOTEsMTAuNTBMMTIuMDAsMTAuNTBMMTIuMDksMTAuNTBMMTIuMTksMTAuNTFM
MTIuMjgsMTAuNTNMMTIuMzcsMTAuNTVMMTIuNDYsMTAuNTdMMTIuNTUsMTAuNjFMMTIuNjQsMTAu
NjRMMTIuNzIsMTAuNjlMMTIuODAsMTAuNzNMMTIuODgsMTAuNzlMMTIuOTYsMTAuODRMMTMuMDMs
MTAuOTFMMTMuMDksMTAuOTdMMTMuMTYsMTEuMDRMMTMuMjEsMTEuMTJMMTMuMjcsMTEuMjBMMTMu
MzEsMTEuMjhMMTMuMzYsMTEuMzZMMTMuMzksMTEuNDVMMTMuNDMsMTEuNTRMMTMuNDUsMTEuNjNM
MTMuNDcsMTEuNzJMMTMuNDksMTEuODFMMTMuNTAsMTEuOTEiXQorICAgICAgICAgICAgICAgICAg
ICBLQ2FudmFzSXRlbSB7Y2lyY2xlfSBhdCAoMzIuODMsMjU4Ljk4KSBzaXplIDQuODF4Ny4yMSBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMTguNTAsMTIuMDBM
MTguNTAsMTIuMDlMMTguNDksMTIuMTlMMTguNDcsMTIuMjhMMTguNDUsMTIuMzdMMTguNDMsMTIu
NDZMMTguMzksMTIuNTVMMTguMzYsMTIuNjRMMTguMzEsMTIuNzJMMTguMjcsMTIuODBMMTguMjEs
MTIuODhMMTguMTYsMTIuOTZMMTguMDksMTMuMDNMMTguMDMsMTMuMDlMMTcuOTYsMTMuMTZMMTcu
ODgsMTMuMjFMMTcuODAsMTMuMjdMMTcuNzIsMTMuMzFMMTcuNjQsMTMuMzZMMTcuNTUsMTMuMzlM
MTcuNDYsMTMuNDNMMTcuMzcsMTMuNDVMMTcuMjgsMTMuNDdMMTcuMTksMTMuNDlMMTcuMDksMTMu
NTBMMTcuMDAsMTMuNTBMMTYuOTEsMTMuNTBMMTYuODEsMTMuNDlMMTYuNzIsMTMuNDdMMTYuNjMs
MTMuNDVMMTYuNTQsMTMuNDNMMTYuNDUsMTMuMzlMMTYuMzYsMTMuMzZMMTYuMjgsMTMuMzFMMTYu
MjAsMTMuMjdMMTYuMTIsMTMuMjFMMTYuMDQsMTMuMTZMMTUuOTcsMTMuMDlMMTUuOTEsMTMuMDNM
MTUuODQsMTIuOTZMMTUuNzksMTIuODhMMTUuNzMsMTIuODBMMTUuNjksMTIuNzJMMTUuNjQsMTIu
NjRMMTUuNjEsMTIuNTVMMTUuNTcsMTIuNDZMMTUuNTUsMTIuMzdMMTUuNTMsMTIuMjhMMTUuNTEs
MTIuMTlMMTUuNTAsMTIuMDlMMTUuNTAsMTIuMDBMMTUuNTAsMTEuOTFMMTUuNTEsMTEuODFMMTUu
NTMsMTEuNzJMMTUuNTUsMTEuNjNMMTUuNTcsMTEuNTRMMTUuNjEsMTEuNDVMMTUuNjQsMTEuMzZM
MTUuNjksMTEuMjhMMTUuNzMsMTEuMjBMMTUuNzksMTEuMTJMMTUuODQsMTEuMDRMMTUuOTEsMTAu
OTdMMTUuOTcsMTAuOTFMMTYuMDQsMTAuODRMMTYuMTIsMTAuNzlMMTYuMjAsMTAuNzNMMTYuMjgs
MTAuNjlMMTYuMzYsMTAuNjRMMTYuNDUsMTAuNjFMMTYuNTQsMTAuNTdMMTYuNjMsMTAuNTVMMTYu
NzIsMTAuNTNMMTYuODEsMTAuNTFMMTYuOTEsMTAuNTBMMTcuMDAsMTAuNTBMMTcuMDksMTAuNTBM
MTcuMTksMTAuNTFMMTcuMjgsMTAuNTNMMTcuMzcsMTAuNTVMMTcuNDYsMTAuNTdMMTcuNTUsMTAu
NjFMMTcuNjQsMTAuNjRMMTcuNzIsMTAuNjlMMTcuODAsMTAuNzNMMTcuODgsMTAuNzlMMTcuOTYs
MTAuODRMMTguMDMsMTAuOTFMMTguMDksMTAuOTdMMTguMTYsMTEuMDRMMTguMjEsMTEuMTJMMTgu
MjcsMTEuMjBMMTguMzEsMTEuMjhMMTguMzYsMTEuMzZMMTguMzksMTEuNDVMMTguNDMsMTEuNTRM
MTguNDUsMTEuNjNMMTguNDcsMTEuNzJMMTguNDksMTEuODFMMTguNTAsMTEuOTEiXQorICAgICAg
ICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7cGF0aH0gYXQgKDIzLjAyLDI3Ny41Mykgc2l6ZSAx
OC4wMngxNC41NyBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ug
d2lkdGg9Mi4wMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRh
PSJNMTAuMDAsMTkuMDBMMTUuMDAsMjMuMDBMMjAuMDAsMTkuMDAiXQorICAgICAgICAgICAgICBL
Q2FudmFzQ29udGFpbmVyIHtnfSBhdCAoODguMTAsMjIxLjczKSBzaXplIDQ4LjA2eDY0LjA4IFt0
cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDUwLjAwLDUwLjAwKX1dCisg
ICAgICAgICAgICAgICAgS0NhbnZhc0NvbnRhaW5lciB7c3ZnfSBhdCAoODguMTAsMjIxLjczKSBz
aXplIDQ4LjA2eDk2LjEyCisgICAgICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQg
KDg4LjEwLDIyMS43Mykgc2l6ZSA0OC4wNng5Ni4xMiBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0
YT0iTTAuNTAsMC41MEwyOS41MCwwLjUwTDI5LjUwLDM5LjUwTDAuNTAsMzkuNTAiXQorICAgICAg
ICAgICAgICAgICAgS0NhbnZhc0NvbnRhaW5lciB7Z30gYXQgKDk2LjExLDI0NS43Nikgc2l6ZSAz
Mi4wNHg0OC4wNiBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAw
LDUuMDApfV0KKyAgICAgICAgICAgICAgICAgICAgS0NhbnZhc0l0ZW0ge2NpcmNsZX0gYXQgKDk2
LjExLDI0NS43Nikgc2l6ZSAzMi4wNHg0OC4wNiBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0j
RkZGRjAwXX1dIFtkYXRhPSJNMjUuMDAsMTUuMDBMMjQuOTgsMTUuNjNMMjQuOTIsMTYuMjVMMjQu
ODIsMTYuODdMMjQuNjksMTcuNDlMMjQuNTEsMTguMDlMMjQuMzAsMTguNjhMMjQuMDUsMTkuMjZM
MjMuNzYsMTkuODJMMjMuNDQsMjAuMzZMMjMuMDksMjAuODhMMjIuNzEsMjEuMzdMMjIuMjksMjEu
ODVMMjEuODUsMjIuMjlMMjEuMzcsMjIuNzFMMjAuODgsMjMuMDlMMjAuMzYsMjMuNDRMMTkuODIs
MjMuNzZMMTkuMjYsMjQuMDVMMTguNjgsMjQuMzBMMTguMDksMjQuNTFMMTcuNDksMjQuNjlMMTYu
ODcsMjQuODJMMTYuMjUsMjQuOTJMMTUuNjMsMjQuOThMMTUuMDAsMjUuMDBMMTQuMzcsMjQuOThM
MTMuNzUsMjQuOTJMMTMuMTMsMjQuODJMMTIuNTEsMjQuNjlMMTEuOTEsMjQuNTFMMTEuMzIsMjQu
MzBMMTAuNzQsMjQuMDVMMTAuMTgsMjMuNzZMOS42NCwyMy40NEw5LjEyLDIzLjA5TDguNjMsMjIu
NzFMOC4xNSwyMi4yOUw3LjcxLDIxLjg1TDcuMjksMjEuMzdMNi45MSwyMC44OEw2LjU2LDIwLjM2
TDYuMjQsMTkuODJMNS45NSwxOS4yNkw1LjcwLDE4LjY4TDUuNDksMTguMDlMNS4zMSwxNy40OUw1
LjE4LDE2Ljg3TDUuMDgsMTYuMjVMNS4wMiwxNS42M0w1LjAwLDE1LjAwTDUuMDIsMTQuMzdMNS4w
OCwxMy43NUw1LjE4LDEzLjEzTDUuMzEsMTIuNTFMNS40OSwxMS45MUw1LjcwLDExLjMyTDUuOTUs
MTAuNzRMNi4yNCwxMC4xOEw2LjU2LDkuNjRMNi45MSw5LjEyTDcuMjksOC42M0w3LjcxLDguMTVM
OC4xNSw3LjcxTDguNjMsNy4yOUw5LjEyLDYuOTFMOS42NCw2LjU2TDEwLjE4LDYuMjRMMTAuNzQs
NS45NUwxMS4zMiw1LjcwTDExLjkxLDUuNDlMMTIuNTEsNS4zMUwxMy4xMyw1LjE4TDEzLjc1LDUu
MDhMMTQuMzcsNS4wMkwxNS4wMCw1LjAwTDE1LjYzLDUuMDJMMTYuMjUsNS4wOEwxNi44Nyw1LjE4
TDE3LjQ5LDUuMzFMMTguMDksNS40OUwxOC42OCw1LjcwTDE5LjI2LDUuOTVMMTkuODIsNi4yNEwy
MC4zNiw2LjU2TDIwLjg4LDYuOTFMMjEuMzcsNy4yOUwyMS44NSw3LjcxTDIyLjI5LDguMTVMMjIu
NzEsOC42M0wyMy4wOSw5LjEyTDIzLjQ0LDkuNjRMMjMuNzYsMTAuMThMMjQuMDUsMTAuNzRMMjQu
MzAsMTEuMzJMMjQuNTEsMTEuOTFMMjQuNjksMTIuNTFMMjQuODIsMTMuMTNMMjQuOTIsMTMuNzVM
MjQuOTgsMTQuMzciXQorICAgICAgICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7Y2lyY2xlfSBh
dCAoMTA0LjkzLDI1OC45OCkgc2l6ZSA0LjgxeDcuMjEgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDAwMF19XSBbZGF0YT0iTTEzLjUwLDEyLjAwTDEzLjUwLDEyLjA5TDEzLjQ5LDEyLjE5
TDEzLjQ3LDEyLjI4TDEzLjQ1LDEyLjM3TDEzLjQzLDEyLjQ2TDEzLjM5LDEyLjU1TDEzLjM2LDEy
LjY0TDEzLjMxLDEyLjcyTDEzLjI3LDEyLjgwTDEzLjIxLDEyLjg4TDEzLjE2LDEyLjk2TDEzLjA5
LDEzLjAzTDEzLjAzLDEzLjA5TDEyLjk2LDEzLjE2TDEyLjg4LDEzLjIxTDEyLjgwLDEzLjI3TDEy
LjcyLDEzLjMxTDEyLjY0LDEzLjM2TDEyLjU1LDEzLjM5TDEyLjQ2LDEzLjQzTDEyLjM3LDEzLjQ1
TDEyLjI4LDEzLjQ3TDEyLjE5LDEzLjQ5TDEyLjA5LDEzLjUwTDEyLjAwLDEzLjUwTDExLjkxLDEz
LjUwTDExLjgxLDEzLjQ5TDExLjcyLDEzLjQ3TDExLjYzLDEzLjQ1TDExLjU0LDEzLjQzTDExLjQ1
LDEzLjM5TDExLjM2LDEzLjM2TDExLjI4LDEzLjMxTDExLjIwLDEzLjI3TDExLjEyLDEzLjIxTDEx
LjA0LDEzLjE2TDEwLjk3LDEzLjA5TDEwLjkxLDEzLjAzTDEwLjg0LDEyLjk2TDEwLjc5LDEyLjg4
TDEwLjczLDEyLjgwTDEwLjY5LDEyLjcyTDEwLjY0LDEyLjY0TDEwLjYxLDEyLjU1TDEwLjU3LDEy
LjQ2TDEwLjU1LDEyLjM3TDEwLjUzLDEyLjI4TDEwLjUxLDEyLjE5TDEwLjUwLDEyLjA5TDEwLjUw
LDEyLjAwTDEwLjUwLDExLjkxTDEwLjUxLDExLjgxTDEwLjUzLDExLjcyTDEwLjU1LDExLjYzTDEw
LjU3LDExLjU0TDEwLjYxLDExLjQ1TDEwLjY0LDExLjM2TDEwLjY5LDExLjI4TDEwLjczLDExLjIw
TDEwLjc5LDExLjEyTDEwLjg0LDExLjA0TDEwLjkxLDEwLjk3TDEwLjk3LDEwLjkxTDExLjA0LDEw
Ljg0TDExLjEyLDEwLjc5TDExLjIwLDEwLjczTDExLjI4LDEwLjY5TDExLjM2LDEwLjY0TDExLjQ1
LDEwLjYxTDExLjU0LDEwLjU3TDExLjYzLDEwLjU1TDExLjcyLDEwLjUzTDExLjgxLDEwLjUxTDEx
LjkxLDEwLjUwTDEyLjAwLDEwLjUwTDEyLjA5LDEwLjUwTDEyLjE5LDEwLjUxTDEyLjI4LDEwLjUz
TDEyLjM3LDEwLjU1TDEyLjQ2LDEwLjU3TDEyLjU1LDEwLjYxTDEyLjY0LDEwLjY0TDEyLjcyLDEw
LjY5TDEyLjgwLDEwLjczTDEyLjg4LDEwLjc5TDEyLjk2LDEwLjg0TDEzLjAzLDEwLjkxTDEzLjA5
LDEwLjk3TDEzLjE2LDExLjA0TDEzLjIxLDExLjEyTDEzLjI3LDExLjIwTDEzLjMxLDExLjI4TDEz
LjM2LDExLjM2TDEzLjM5LDExLjQ1TDEzLjQzLDExLjU0TDEzLjQ1LDExLjYzTDEzLjQ3LDExLjcy
TDEzLjQ5LDExLjgxTDEzLjUwLDExLjkxIl0KKyAgICAgICAgICAgICAgICAgICAgS0NhbnZhc0l0
ZW0ge2NpcmNsZX0gYXQgKDExMi45NCwyNTguOTgpIHNpemUgNC44MXg3LjIxIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xOC41MCwxMi4wMEwxOC41MCwxMi4w
OUwxOC40OSwxMi4xOUwxOC40NywxMi4yOEwxOC40NSwxMi4zN0wxOC40MywxMi40NkwxOC4zOSwx
Mi41NUwxOC4zNiwxMi42NEwxOC4zMSwxMi43MkwxOC4yNywxMi44MEwxOC4yMSwxMi44OEwxOC4x
NiwxMi45NkwxOC4wOSwxMy4wM0wxOC4wMywxMy4wOUwxNy45NiwxMy4xNkwxNy44OCwxMy4yMUwx
Ny44MCwxMy4yN0wxNy43MiwxMy4zMUwxNy42NCwxMy4zNkwxNy41NSwxMy4zOUwxNy40NiwxMy40
M0wxNy4zNywxMy40NUwxNy4yOCwxMy40N0wxNy4xOSwxMy40OUwxNy4wOSwxMy41MEwxNy4wMCwx
My41MEwxNi45MSwxMy41MEwxNi44MSwxMy40OUwxNi43MiwxMy40N0wxNi42MywxMy40NUwxNi41
NCwxMy40M0wxNi40NSwxMy4zOUwxNi4zNiwxMy4zNkwxNi4yOCwxMy4zMUwxNi4yMCwxMy4yN0wx
Ni4xMiwxMy4yMUwxNi4wNCwxMy4xNkwxNS45NywxMy4wOUwxNS45MSwxMy4wM0wxNS44NCwxMi45
NkwxNS43OSwxMi44OEwxNS43MywxMi44MEwxNS42OSwxMi43MkwxNS42NCwxMi42NEwxNS42MSwx
Mi41NUwxNS41NywxMi40NkwxNS41NSwxMi4zN0wxNS41MywxMi4yOEwxNS41MSwxMi4xOUwxNS41
MCwxMi4wOUwxNS41MCwxMi4wMEwxNS41MCwxMS45MUwxNS41MSwxMS44MUwxNS41MywxMS43Mkwx
NS41NSwxMS42M0wxNS41NywxMS41NEwxNS42MSwxMS40NUwxNS42NCwxMS4zNkwxNS42OSwxMS4y
OEwxNS43MywxMS4yMEwxNS43OSwxMS4xMkwxNS44NCwxMS4wNEwxNS45MSwxMC45N0wxNS45Nywx
MC45MUwxNi4wNCwxMC44NEwxNi4xMiwxMC43OUwxNi4yMCwxMC43M0wxNi4yOCwxMC42OUwxNi4z
NiwxMC42NEwxNi40NSwxMC42MUwxNi41NCwxMC41N0wxNi42MywxMC41NUwxNi43MiwxMC41M0wx
Ni44MSwxMC41MUwxNi45MSwxMC41MEwxNy4wMCwxMC41MEwxNy4wOSwxMC41MEwxNy4xOSwxMC41
MUwxNy4yOCwxMC41M0wxNy4zNywxMC41NUwxNy40NiwxMC41N0wxNy41NSwxMC42MUwxNy42NCwx
MC42NEwxNy43MiwxMC42OUwxNy44MCwxMC43M0wxNy44OCwxMC43OUwxNy45NiwxMC44NEwxOC4w
MywxMC45MUwxOC4wOSwxMC45N0wxOC4xNiwxMS4wNEwxOC4yMSwxMS4xMkwxOC4yNywxMS4yMEwx
OC4zMSwxMS4yOEwxOC4zNiwxMS4zNkwxOC4zOSwxMS40NUwxOC40MywxMS41NEwxOC40NSwxMS42
M0wxOC40NywxMS43MkwxOC40OSwxMS44MUwxOC41MCwxMS45MSJdCisgICAgICAgICAgICAgICAg
ICAgIEtDYW52YXNJdGVtIHtwYXRofSBhdCAoMTAzLjEyLDI3Ny41Mykgc2l6ZSAxOC4wMngxNC41
NyBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9Mi4w
MF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMTAuMDAs
MTkuMDBMMTUuMDAsMjMuMDBMMjAuMDAsMTkuMDAiXQorICAgICAgICAgICAgICBLQ2FudmFzQ29u
dGFpbmVyIHtnfSBhdCAoMTY4LjIxLDIyMS43Mykgc2l6ZSA0OC4wNng2NC4wOCBbdHJhbnNmb3Jt
PXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxMDAuMDAsNTAuMDApfV0KKyAgICAgICAg
ICAgICAgICBLQ2FudmFzQ29udGFpbmVyIHtzdmd9IGF0ICgxNjguMjEsMjIxLjczKSBzaXplIDQ4
LjA2eDk2LjEyCisgICAgICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQgKDE2OC4y
MSwyMjEuNzMpIHNpemUgNDguMDZ4OTYuMTIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0j
RkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0w
LjUwLDAuNTBMMjkuNTAsMC41MEwyOS41MCwzOS41MEwwLjUwLDM5LjUwIl0KKyAgICAgICAgICAg
ICAgICAgIEtDYW52YXNDb250YWluZXIge2d9IGF0ICgxNzYuMjIsMjQ1Ljc2KSBzaXplIDMyLjA0
eDQ4LjA2IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsNS4w
MCl9XQorICAgICAgICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7Y2lyY2xlfSBhdCAoMTc2LjIy
LDI0NS43Nikgc2l6ZSAzMi4wNHg0OC4wNiBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZG
RjAwXX1dIFtkYXRhPSJNMjUuMDAsMTUuMDBMMjQuOTgsMTUuNjNMMjQuOTIsMTYuMjVMMjQuODIs
MTYuODdMMjQuNjksMTcuNDlMMjQuNTEsMTguMDlMMjQuMzAsMTguNjhMMjQuMDUsMTkuMjZMMjMu
NzYsMTkuODJMMjMuNDQsMjAuMzZMMjMuMDksMjAuODhMMjIuNzEsMjEuMzdMMjIuMjksMjEuODVM
MjEuODUsMjIuMjlMMjEuMzcsMjIuNzFMMjAuODgsMjMuMDlMMjAuMzYsMjMuNDRMMTkuODIsMjMu
NzZMMTkuMjYsMjQuMDVMMTguNjgsMjQuMzBMMTguMDksMjQuNTFMMTcuNDksMjQuNjlMMTYuODcs
MjQuODJMMTYuMjUsMjQuOTJMMTUuNjMsMjQuOThMMTUuMDAsMjUuMDBMMTQuMzcsMjQuOThMMTMu
NzUsMjQuOTJMMTMuMTMsMjQuODJMMTIuNTEsMjQuNjlMMTEuOTEsMjQuNTFMMTEuMzIsMjQuMzBM
MTAuNzQsMjQuMDVMMTAuMTgsMjMuNzZMOS42NCwyMy40NEw5LjEyLDIzLjA5TDguNjMsMjIuNzFM
OC4xNSwyMi4yOUw3LjcxLDIxLjg1TDcuMjksMjEuMzdMNi45MSwyMC44OEw2LjU2LDIwLjM2TDYu
MjQsMTkuODJMNS45NSwxOS4yNkw1LjcwLDE4LjY4TDUuNDksMTguMDlMNS4zMSwxNy40OUw1LjE4
LDE2Ljg3TDUuMDgsMTYuMjVMNS4wMiwxNS42M0w1LjAwLDE1LjAwTDUuMDIsMTQuMzdMNS4wOCwx
My43NUw1LjE4LDEzLjEzTDUuMzEsMTIuNTFMNS40OSwxMS45MUw1LjcwLDExLjMyTDUuOTUsMTAu
NzRMNi4yNCwxMC4xOEw2LjU2LDkuNjRMNi45MSw5LjEyTDcuMjksOC42M0w3LjcxLDguMTVMOC4x
NSw3LjcxTDguNjMsNy4yOUw5LjEyLDYuOTFMOS42NCw2LjU2TDEwLjE4LDYuMjRMMTAuNzQsNS45
NUwxMS4zMiw1LjcwTDExLjkxLDUuNDlMMTIuNTEsNS4zMUwxMy4xMyw1LjE4TDEzLjc1LDUuMDhM
MTQuMzcsNS4wMkwxNS4wMCw1LjAwTDE1LjYzLDUuMDJMMTYuMjUsNS4wOEwxNi44Nyw1LjE4TDE3
LjQ5LDUuMzFMMTguMDksNS40OUwxOC42OCw1LjcwTDE5LjI2LDUuOTVMMTkuODIsNi4yNEwyMC4z
Niw2LjU2TDIwLjg4LDYuOTFMMjEuMzcsNy4yOUwyMS44NSw3LjcxTDIyLjI5LDguMTVMMjIuNzEs
OC42M0wyMy4wOSw5LjEyTDIzLjQ0LDkuNjRMMjMuNzYsMTAuMThMMjQuMDUsMTAuNzRMMjQuMzAs
MTEuMzJMMjQuNTEsMTEuOTFMMjQuNjksMTIuNTFMMjQuODIsMTMuMTNMMjQuOTIsMTMuNzVMMjQu
OTgsMTQuMzciXQorICAgICAgICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7Y2lyY2xlfSBhdCAo
MTg1LjAzLDI1OC45OCkgc2l6ZSA0LjgxeDcuMjEgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
IzAwMDAwMF19XSBbZGF0YT0iTTEzLjUwLDEyLjAwTDEzLjUwLDEyLjA5TDEzLjQ5LDEyLjE5TDEz
LjQ3LDEyLjI4TDEzLjQ1LDEyLjM3TDEzLjQzLDEyLjQ2TDEzLjM5LDEyLjU1TDEzLjM2LDEyLjY0
TDEzLjMxLDEyLjcyTDEzLjI3LDEyLjgwTDEzLjIxLDEyLjg4TDEzLjE2LDEyLjk2TDEzLjA5LDEz
LjAzTDEzLjAzLDEzLjA5TDEyLjk2LDEzLjE2TDEyLjg4LDEzLjIxTDEyLjgwLDEzLjI3TDEyLjcy
LDEzLjMxTDEyLjY0LDEzLjM2TDEyLjU1LDEzLjM5TDEyLjQ2LDEzLjQzTDEyLjM3LDEzLjQ1TDEy
LjI4LDEzLjQ3TDEyLjE5LDEzLjQ5TDEyLjA5LDEzLjUwTDEyLjAwLDEzLjUwTDExLjkxLDEzLjUw
TDExLjgxLDEzLjQ5TDExLjcyLDEzLjQ3TDExLjYzLDEzLjQ1TDExLjU0LDEzLjQzTDExLjQ1LDEz
LjM5TDExLjM2LDEzLjM2TDExLjI4LDEzLjMxTDExLjIwLDEzLjI3TDExLjEyLDEzLjIxTDExLjA0
LDEzLjE2TDEwLjk3LDEzLjA5TDEwLjkxLDEzLjAzTDEwLjg0LDEyLjk2TDEwLjc5LDEyLjg4TDEw
LjczLDEyLjgwTDEwLjY5LDEyLjcyTDEwLjY0LDEyLjY0TDEwLjYxLDEyLjU1TDEwLjU3LDEyLjQ2
TDEwLjU1LDEyLjM3TDEwLjUzLDEyLjI4TDEwLjUxLDEyLjE5TDEwLjUwLDEyLjA5TDEwLjUwLDEy
LjAwTDEwLjUwLDExLjkxTDEwLjUxLDExLjgxTDEwLjUzLDExLjcyTDEwLjU1LDExLjYzTDEwLjU3
LDExLjU0TDEwLjYxLDExLjQ1TDEwLjY0LDExLjM2TDEwLjY5LDExLjI4TDEwLjczLDExLjIwTDEw
Ljc5LDExLjEyTDEwLjg0LDExLjA0TDEwLjkxLDEwLjk3TDEwLjk3LDEwLjkxTDExLjA0LDEwLjg0
TDExLjEyLDEwLjc5TDExLjIwLDEwLjczTDExLjI4LDEwLjY5TDExLjM2LDEwLjY0TDExLjQ1LDEw
LjYxTDExLjU0LDEwLjU3TDExLjYzLDEwLjU1TDExLjcyLDEwLjUzTDExLjgxLDEwLjUxTDExLjkx
LDEwLjUwTDEyLjAwLDEwLjUwTDEyLjA5LDEwLjUwTDEyLjE5LDEwLjUxTDEyLjI4LDEwLjUzTDEy
LjM3LDEwLjU1TDEyLjQ2LDEwLjU3TDEyLjU1LDEwLjYxTDEyLjY0LDEwLjY0TDEyLjcyLDEwLjY5
TDEyLjgwLDEwLjczTDEyLjg4LDEwLjc5TDEyLjk2LDEwLjg0TDEzLjAzLDEwLjkxTDEzLjA5LDEw
Ljk3TDEzLjE2LDExLjA0TDEzLjIxLDExLjEyTDEzLjI3LDExLjIwTDEzLjMxLDExLjI4TDEzLjM2
LDExLjM2TDEzLjM5LDExLjQ1TDEzLjQzLDExLjU0TDEzLjQ1LDExLjYzTDEzLjQ3LDExLjcyTDEz
LjQ5LDExLjgxTDEzLjUwLDExLjkxIl0KKyAgICAgICAgICAgICAgICAgICAgS0NhbnZhc0l0ZW0g
e2NpcmNsZX0gYXQgKDE5My4wNCwyNTguOTgpIHNpemUgNC44MXg3LjIxIFtmaWxsPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xOC41MCwxMi4wMEwxOC41MCwxMi4wOUwx
OC40OSwxMi4xOUwxOC40NywxMi4yOEwxOC40NSwxMi4zN0wxOC40MywxMi40NkwxOC4zOSwxMi41
NUwxOC4zNiwxMi42NEwxOC4zMSwxMi43MkwxOC4yNywxMi44MEwxOC4yMSwxMi44OEwxOC4xNiwx
Mi45NkwxOC4wOSwxMy4wM0wxOC4wMywxMy4wOUwxNy45NiwxMy4xNkwxNy44OCwxMy4yMUwxNy44
MCwxMy4yN0wxNy43MiwxMy4zMUwxNy42NCwxMy4zNkwxNy41NSwxMy4zOUwxNy40NiwxMy40M0wx
Ny4zNywxMy40NUwxNy4yOCwxMy40N0wxNy4xOSwxMy40OUwxNy4wOSwxMy41MEwxNy4wMCwxMy41
MEwxNi45MSwxMy41MEwxNi44MSwxMy40OUwxNi43MiwxMy40N0wxNi42MywxMy40NUwxNi41NCwx
My40M0wxNi40NSwxMy4zOUwxNi4zNiwxMy4zNkwxNi4yOCwxMy4zMUwxNi4yMCwxMy4yN0wxNi4x
MiwxMy4yMUwxNi4wNCwxMy4xNkwxNS45NywxMy4wOUwxNS45MSwxMy4wM0wxNS44NCwxMi45Nkwx
NS43OSwxMi44OEwxNS43MywxMi44MEwxNS42OSwxMi43MkwxNS42NCwxMi42NEwxNS42MSwxMi41
NUwxNS41NywxMi40NkwxNS41NSwxMi4zN0wxNS41MywxMi4yOEwxNS41MSwxMi4xOUwxNS41MCwx
Mi4wOUwxNS41MCwxMi4wMEwxNS41MCwxMS45MUwxNS41MSwxMS44MUwxNS41MywxMS43MkwxNS41
NSwxMS42M0wxNS41NywxMS41NEwxNS42MSwxMS40NUwxNS42NCwxMS4zNkwxNS42OSwxMS4yOEwx
NS43MywxMS4yMEwxNS43OSwxMS4xMkwxNS44NCwxMS4wNEwxNS45MSwxMC45N0wxNS45NywxMC45
MUwxNi4wNCwxMC44NEwxNi4xMiwxMC43OUwxNi4yMCwxMC43M0wxNi4yOCwxMC42OUwxNi4zNiwx
MC42NEwxNi40NSwxMC42MUwxNi41NCwxMC41N0wxNi42MywxMC41NUwxNi43MiwxMC41M0wxNi44
MSwxMC41MUwxNi45MSwxMC41MEwxNy4wMCwxMC41MEwxNy4wOSwxMC41MEwxNy4xOSwxMC41MUwx
Ny4yOCwxMC41M0wxNy4zNywxMC41NUwxNy40NiwxMC41N0wxNy41NSwxMC42MUwxNy42NCwxMC42
NEwxNy43MiwxMC42OUwxNy44MCwxMC43M0wxNy44OCwxMC43OUwxNy45NiwxMC44NEwxOC4wMywx
MC45MUwxOC4wOSwxMC45N0wxOC4xNiwxMS4wNEwxOC4yMSwxMS4xMkwxOC4yNywxMS4yMEwxOC4z
MSwxMS4yOEwxOC4zNiwxMS4zNkwxOC4zOSwxMS40NUwxOC40MywxMS41NEwxOC40NSwxMS42M0wx
OC40NywxMS43MkwxOC40OSwxMS44MUwxOC41MCwxMS45MSJdCisgICAgICAgICAgICAgICAgICAg
IEtDYW52YXNJdGVtIHtwYXRofSBhdCAoMTgzLjIzLDI3Ny41Mykgc2l6ZSAxOC4wMngxNC41NyBb
c3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9Mi4wMF19
XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMTAuMDAsMTku
MDBMMTUuMDAsMjMuMDBMMjAuMDAsMTkuMDAiXQorICAgICAgICAgICAgICBLQ2FudmFzQ29udGFp
bmVyIHtnfSBhdCAoMjQ4LjMxLDIyMS43Mykgc2l6ZSA0OC4wNng2NC4wOCBbdHJhbnNmb3JtPXtt
PSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxNTAuMDAsNTAuMDApfV0KKyAgICAgICAgICAg
ICAgICBLQ2FudmFzQ29udGFpbmVyIHtzdmd9IGF0ICgyNDguMzEsMjIxLjczKSBzaXplIDQ4LjA2
eDk2LjEyCisgICAgICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQgKDI0OC4zMSwy
MjEuNzMpIHNpemUgNDguMDZ4OTYuMTIgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYw
MDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0wLjUw
LDAuNTBMMjkuNTAsMC41MEwyOS41MCwzOS41MEwwLjUwLDM5LjUwIl0KKyAgICAgICAgICAgICAg
ICAgIEtDYW52YXNDb250YWluZXIge2d9IGF0ICgyNTYuMzIsMjQ1Ljc2KSBzaXplIDMyLjA0eDQ4
LjA2IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsNS4wMCl9
XQorICAgICAgICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7Y2lyY2xlfSBhdCAoMjU2LjMyLDI0
NS43Nikgc2l6ZSAzMi4wNHg0OC4wNiBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZGRjAw
XX1dIFtkYXRhPSJNMjUuMDAsMTUuMDBMMjQuOTgsMTUuNjNMMjQuOTIsMTYuMjVMMjQuODIsMTYu
ODdMMjQuNjksMTcuNDlMMjQuNTEsMTguMDlMMjQuMzAsMTguNjhMMjQuMDUsMTkuMjZMMjMuNzYs
MTkuODJMMjMuNDQsMjAuMzZMMjMuMDksMjAuODhMMjIuNzEsMjEuMzdMMjIuMjksMjEuODVMMjEu
ODUsMjIuMjlMMjEuMzcsMjIuNzFMMjAuODgsMjMuMDlMMjAuMzYsMjMuNDRMMTkuODIsMjMuNzZM
MTkuMjYsMjQuMDVMMTguNjgsMjQuMzBMMTguMDksMjQuNTFMMTcuNDksMjQuNjlMMTYuODcsMjQu
ODJMMTYuMjUsMjQuOTJMMTUuNjMsMjQuOThMMTUuMDAsMjUuMDBMMTQuMzcsMjQuOThMMTMuNzUs
MjQuOTJMMTMuMTMsMjQuODJMMTIuNTEsMjQuNjlMMTEuOTEsMjQuNTFMMTEuMzIsMjQuMzBMMTAu
NzQsMjQuMDVMMTAuMTgsMjMuNzZMOS42NCwyMy40NEw5LjEyLDIzLjA5TDguNjMsMjIuNzFMOC4x
NSwyMi4yOUw3LjcxLDIxLjg1TDcuMjksMjEuMzdMNi45MSwyMC44OEw2LjU2LDIwLjM2TDYuMjQs
MTkuODJMNS45NSwxOS4yNkw1LjcwLDE4LjY4TDUuNDksMTguMDlMNS4zMSwxNy40OUw1LjE4LDE2
Ljg3TDUuMDgsMTYuMjVMNS4wMiwxNS42M0w1LjAwLDE1LjAwTDUuMDIsMTQuMzdMNS4wOCwxMy43
NUw1LjE4LDEzLjEzTDUuMzEsMTIuNTFMNS40OSwxMS45MUw1LjcwLDExLjMyTDUuOTUsMTAuNzRM
Ni4yNCwxMC4xOEw2LjU2LDkuNjRMNi45MSw5LjEyTDcuMjksOC42M0w3LjcxLDguMTVMOC4xNSw3
LjcxTDguNjMsNy4yOUw5LjEyLDYuOTFMOS42NCw2LjU2TDEwLjE4LDYuMjRMMTAuNzQsNS45NUwx
MS4zMiw1LjcwTDExLjkxLDUuNDlMMTIuNTEsNS4zMUwxMy4xMyw1LjE4TDEzLjc1LDUuMDhMMTQu
MzcsNS4wMkwxNS4wMCw1LjAwTDE1LjYzLDUuMDJMMTYuMjUsNS4wOEwxNi44Nyw1LjE4TDE3LjQ5
LDUuMzFMMTguMDksNS40OUwxOC42OCw1LjcwTDE5LjI2LDUuOTVMMTkuODIsNi4yNEwyMC4zNiw2
LjU2TDIwLjg4LDYuOTFMMjEuMzcsNy4yOUwyMS44NSw3LjcxTDIyLjI5LDguMTVMMjIuNzEsOC42
M0wyMy4wOSw5LjEyTDIzLjQ0LDkuNjRMMjMuNzYsMTAuMThMMjQuMDUsMTAuNzRMMjQuMzAsMTEu
MzJMMjQuNTEsMTEuOTFMMjQuNjksMTIuNTFMMjQuODIsMTMuMTNMMjQuOTIsMTMuNzVMMjQuOTgs
MTQuMzciXQorICAgICAgICAgICAgICAgICAgICBLQ2FudmFzSXRlbSB7Y2lyY2xlfSBhdCAoMjY1
LjEzLDI1OC45OCkgc2l6ZSA0LjgxeDcuMjEgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
MDAwMF19XSBbZGF0YT0iTTEzLjUwLDEyLjAwTDEzLjUwLDEyLjA5TDEzLjQ5LDEyLjE5TDEzLjQ3
LDEyLjI4TDEzLjQ1LDEyLjM3TDEzLjQzLDEyLjQ2TDEzLjM5LDEyLjU1TDEzLjM2LDEyLjY0TDEz
LjMxLDEyLjcyTDEzLjI3LDEyLjgwTDEzLjIxLDEyLjg4TDEzLjE2LDEyLjk2TDEzLjA5LDEzLjAz
TDEzLjAzLDEzLjA5TDEyLjk2LDEzLjE2TDEyLjg4LDEzLjIxTDEyLjgwLDEzLjI3TDEyLjcyLDEz
LjMxTDEyLjY0LDEzLjM2TDEyLjU1LDEzLjM5TDEyLjQ2LDEzLjQzTDEyLjM3LDEzLjQ1TDEyLjI4
LDEzLjQ3TDEyLjE5LDEzLjQ5TDEyLjA5LDEzLjUwTDEyLjAwLDEzLjUwTDExLjkxLDEzLjUwTDEx
LjgxLDEzLjQ5TDExLjcyLDEzLjQ3TDExLjYzLDEzLjQ1TDExLjU0LDEzLjQzTDExLjQ1LDEzLjM5
TDExLjM2LDEzLjM2TDExLjI4LDEzLjMxTDExLjIwLDEzLjI3TDExLjEyLDEzLjIxTDExLjA0LDEz
LjE2TDEwLjk3LDEzLjA5TDEwLjkxLDEzLjAzTDEwLjg0LDEyLjk2TDEwLjc5LDEyLjg4TDEwLjcz
LDEyLjgwTDEwLjY5LDEyLjcyTDEwLjY0LDEyLjY0TDEwLjYxLDEyLjU1TDEwLjU3LDEyLjQ2TDEw
LjU1LDEyLjM3TDEwLjUzLDEyLjI4TDEwLjUxLDEyLjE5TDEwLjUwLDEyLjA5TDEwLjUwLDEyLjAw
TDEwLjUwLDExLjkxTDEwLjUxLDExLjgxTDEwLjUzLDExLjcyTDEwLjU1LDExLjYzTDEwLjU3LDEx
LjU0TDEwLjYxLDExLjQ1TDEwLjY0LDExLjM2TDEwLjY5LDExLjI4TDEwLjczLDExLjIwTDEwLjc5
LDExLjEyTDEwLjg0LDExLjA0TDEwLjkxLDEwLjk3TDEwLjk3LDEwLjkxTDExLjA0LDEwLjg0TDEx
LjEyLDEwLjc5TDExLjIwLDEwLjczTDExLjI4LDEwLjY5TDExLjM2LDEwLjY0TDExLjQ1LDEwLjYx
TDExLjU0LDEwLjU3TDExLjYzLDEwLjU1TDExLjcyLDEwLjUzTDExLjgxLDEwLjUxTDExLjkxLDEw
LjUwTDEyLjAwLDEwLjUwTDEyLjA5LDEwLjUwTDEyLjE5LDEwLjUxTDEyLjI4LDEwLjUzTDEyLjM3
LDEwLjU1TDEyLjQ2LDEwLjU3TDEyLjU1LDEwLjYxTDEyLjY0LDEwLjY0TDEyLjcyLDEwLjY5TDEy
LjgwLDEwLjczTDEyLjg4LDEwLjc5TDEyLjk2LDEwLjg0TDEzLjAzLDEwLjkxTDEzLjA5LDEwLjk3
TDEzLjE2LDExLjA0TDEzLjIxLDExLjEyTDEzLjI3LDExLjIwTDEzLjMxLDExLjI4TDEzLjM2LDEx
LjM2TDEzLjM5LDExLjQ1TDEzLjQzLDExLjU0TDEzLjQ1LDExLjYzTDEzLjQ3LDExLjcyTDEzLjQ5
LDExLjgxTDEzLjUwLDExLjkxIl0KKyAgICAgICAgICAgICAgICAgICAgS0NhbnZhc0l0ZW0ge2Np
cmNsZX0gYXQgKDI3My4xNCwyNTguOTgpIHNpemUgNC44MXg3LjIxIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xOC41MCwxMi4wMEwxOC41MCwxMi4wOUwxOC40
OSwxMi4xOUwxOC40NywxMi4yOEwxOC40NSwxMi4zN0wxOC40MywxMi40NkwxOC4zOSwxMi41NUwx
OC4zNiwxMi42NEwxOC4zMSwxMi43MkwxOC4yNywxMi44MEwxOC4yMSwxMi44OEwxOC4xNiwxMi45
NkwxOC4wOSwxMy4wM0wxOC4wMywxMy4wOUwxNy45NiwxMy4xNkwxNy44OCwxMy4yMUwxNy44MCwx
My4yN0wxNy43MiwxMy4zMUwxNy42NCwxMy4zNkwxNy41NSwxMy4zOUwxNy40NiwxMy40M0wxNy4z
NywxMy40NUwxNy4yOCwxMy40N0wxNy4xOSwxMy40OUwxNy4wOSwxMy41MEwxNy4wMCwxMy41MEwx
Ni45MSwxMy41MEwxNi44MSwxMy40OUwxNi43MiwxMy40N0wxNi42MywxMy40NUwxNi41NCwxMy40
M0wxNi40NSwxMy4zOUwxNi4zNiwxMy4zNkwxNi4yOCwxMy4zMUwxNi4yMCwxMy4yN0wxNi4xMiwx
My4yMUwxNi4wNCwxMy4xNkwxNS45NywxMy4wOUwxNS45MSwxMy4wM0wxNS44NCwxMi45NkwxNS43
OSwxMi44OEwxNS43MywxMi44MEwxNS42OSwxMi43MkwxNS42NCwxMi42NEwxNS42MSwxMi41NUwx
NS41NywxMi40NkwxNS41NSwxMi4zN0wxNS41MywxMi4yOEwxNS41MSwxMi4xOUwxNS41MCwxMi4w
OUwxNS41MCwxMi4wMEwxNS41MCwxMS45MUwxNS41MSwxMS44MUwxNS41MywxMS43MkwxNS41NSwx
MS42M0wxNS41NywxMS41NEwxNS42MSwxMS40NUwxNS42NCwxMS4zNkwxNS42OSwxMS4yOEwxNS43
MywxMS4yMEwxNS43OSwxMS4xMkwxNS44NCwxMS4wNEwxNS45MSwxMC45N0wxNS45NywxMC45MUwx
Ni4wNCwxMC44NEwxNi4xMiwxMC43OUwxNi4yMCwxMC43M0wxNi4yOCwxMC42OUwxNi4zNiwxMC42
NEwxNi40NSwxMC42MUwxNi41NCwxMC41N0wxNi42MywxMC41NUwxNi43MiwxMC41M0wxNi44MSwx
MC41MUwxNi45MSwxMC41MEwxNy4wMCwxMC41MEwxNy4wOSwxMC41MEwxNy4xOSwxMC41MUwxNy4y
OCwxMC41M0wxNy4zNywxMC41NUwxNy40NiwxMC41N0wxNy41NSwxMC42MUwxNy42NCwxMC42NEwx
Ny43MiwxMC42OUwxNy44MCwxMC43M0wxNy44OCwxMC43OUwxNy45NiwxMC44NEwxOC4wMywxMC45
MUwxOC4wOSwxMC45N0wxOC4xNiwxMS4wNEwxOC4yMSwxMS4xMkwxOC4yNywxMS4yMEwxOC4zMSwx
MS4yOEwxOC4zNiwxMS4zNkwxOC4zOSwxMS40NUwxOC40MywxMS41NEwxOC40NSwxMS42M0wxOC40
NywxMS43MkwxOC40OSwxMS44MUwxOC41MCwxMS45MSJdCisgICAgICAgICAgICAgICAgICAgIEtD
YW52YXNJdGVtIHtwYXRofSBhdCAoMjYzLjMzLDI3Ny41Mykgc2l6ZSAxOC4wMngxNC41NyBbc3Ry
b2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMTAuMDAsMTkuMDBM
MTUuMDAsMjMuMDBMMjAuMDAsMTkuMDAiXQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9w
cmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXguc3ZnCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4
LnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMzIgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIg
ZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZH
IDEuMSBCYXNpYy8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9z
dmcxMS1iYXNpYy5kdGQiIFsKKwk8IUVOVElUWSBTbWlsZSAiCis8cmVjdCB4PScuNScgeT0nLjUn
IHdpZHRoPScyOScgaGVpZ2h0PSczOScgZmlsbD0nYmxhY2snIHN0cm9rZT0ncmVkJy8+Cis8ZyB0
cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLCA1KSc+Cis8Y2lyY2xlIGN4PScxNScgY3k9JzE1JyByPScx
MCcgZmlsbD0neWVsbG93Jy8+Cis8Y2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxLjUnIGZpbGw9
J2JsYWNrJy8+Cis8Y2lyY2xlIGN4PScxNycgY3k9JzEyJyByPScxLjUnIGZpbGw9J2JsYWNrJy8+
Cis8cGF0aCBkPSdNIDEwIDE5IEwgMTUgMjMgMjAgMTknIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13
aWR0aD0nMicvPgorPC9nPgorIj4KKwk8IUVOVElUWSBWaWV3cG9ydDIgIjxyZWN0IHg9Jy41JyB5
PScuNScgd2lkdGg9JzI5JyBoZWlnaHQ9JzU5JworZmlsbD0nbm9uZScgc3Ryb2tlPSdibHVlJy8+
Ij4KK10+Cis8c3ZnIHZlcnNpb249IjEuMSIgYmFzZVByb2ZpbGU9ImJhc2ljIiB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hsaW5rIiBpZD0ic3ZnLXJvb3QiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIHZpZXdC
b3g9IjAgMCA0ODAgMzYwIj4KKwk8ZyBpZD0idGVzdC1ib2R5LWNvbnRlbnQiIHRyYW5zZm9ybT0i
dHJhbnNsYXRlKDAsIDApIj4KKwkJPGcgZm9udC1zaXplPSI5Ij4KKwkJCTx0ZXh0IHg9IjAiIHk9
IjMwIj5BbGwgc3ZncyBiZWxvdyBzaG91bGQgbG9vayB0aGUgc2FtZSwgc2luY2UgYWxsIGhhdmUg
cHJlc2VydmVBc3BlY3RSYXRpbyB3aXRoIHN5bnRheCBlcnJvcnMgYW5kIGRlZmF1bHQgc2hvdWxk
IGJlIGNob3Nlbi48L3RleHQ+CisJCTxnIGlkPSJtZWV0LWdyb3VwLTIiIHRyYW5zZm9ybT0idHJh
bnNsYXRlKDAsIDUwKSI+CisgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5
OS94bGluayIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSIgdmlld0JveD0iMCAwIDMwIDQwIiB3
aWR0aD0iMzAiIGhlaWdodD0iNjAiPiZTbWlsZTs8L3N2Zz4KKwkJCTwvZz4KKwkJCTxnIHRyYW5z
Zm9ybT0idHJhbnNsYXRlKDUwLCA1MCkiPgorICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIiB2aWV3Qm94PSIw
IDAgMzAgNDAiIHdpZHRoPSIzMCIgaGVpZ2h0PSI2MCI+JlNtaWxlOzwvc3ZnPgorCQkJPC9nPgor
CQkJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAwLCA1MCkiPgorICAgICAgICAgPHN2ZyB2ZXJz
aW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9
Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVy
IG1lZXQiIHZpZXdCb3g9IjAgMCAzMCA0MCIgd2lkdGg9IjMwIiBoZWlnaHQ9IjYwIj4mU21pbGU7
PC9zdmc+CisJCQk8L2c+CisJCQk8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTAsIDUwKSI+Cisg
ICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAv
c3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgcHJlc2VydmVB
c3BlY3RSYXRpbz0iZGVmZXIgeE1pZFlNaWQgbWVldCBhIiB2aWV3Qm94PSIwIDAgMzAgNDAiIHdp
ZHRoPSIzMCIgaGVpZ2h0PSI2MCI+JlNtaWxlOzwvc3ZnPgorCQkJPC9nPgorICAgICAgICAgICAg
PC9nPgorCTwvZz4KKzwvc3ZnPgorPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi
Pz4KKzwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xIEJhc2ljLy9FTiIg
Imh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLWJhc2ljLmR0ZCIg
WworCTwhRU5USVRZIFNtaWxlICIKKzxyZWN0IHg9Jy41JyB5PScuNScgd2lkdGg9JzI5JyBoZWln
aHQ9JzM5JyBmaWxsPSdibGFjaycgc3Ryb2tlPSdyZWQnLz4KKzxnIHRyYW5zZm9ybT0ndHJhbnNs
YXRlKDAsIDUpJz4KKzxjaXJjbGUgY3g9JzE1JyBjeT0nMTUnIHI9JzEwJyBmaWxsPSd5ZWxsb3cn
Lz4KKzxjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEuNScgZmlsbD0nYmxhY2snLz4KKzxjaXJj
bGUgY3g9JzE3JyBjeT0nMTInIHI9JzEuNScgZmlsbD0nYmxhY2snLz4KKzxwYXRoIGQ9J00gMTAg
MTkgTCAxNSAyMyAyMCAxOScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScyJy8+Cis8L2c+
CisiPgorCTwhRU5USVRZIFZpZXdwb3J0MiAiPHJlY3QgeD0nLjUnIHk9Jy41JyB3aWR0aD0nMjkn
IGhlaWdodD0nNTknCitmaWxsPSdub25lJyBzdHJva2U9J2JsdWUnLz4iPgorXT4KKzxzdmcgdmVy
c2lvbj0iMS4xIiBiYXNlUHJvZmlsZT0iYmFzaWMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIGlkPSJz
dmctcm9vdCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDQ4MCAzNjAi
PgorCTxnIGlkPSJ0ZXN0LWJvZHktY29udGVudCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwgMCki
PgorCQk8ZyBmb250LXNpemU9IjkiPgorCQkJPHRleHQgeD0iMCIgeT0iMzAiPkFsbCBzdmdzIGJl
bG93IHNob3VsZCBsb29rIHRoZSBzYW1lLCBzaW5jZSBhbGwgaGF2ZSBwcmVzZXJ2ZUFzcGVjdFJh
dGlvIHdpdGggc3ludGF4IGVycm9ycyBhbmQgZGVmYXVsdCBzaG91bGQgYmUgY2hvc2VuLjwvdGV4
dD4KKwkJPGcgaWQ9Im1lZXQtZ3JvdXAtMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCwgNTApIj4K
KyAgICAgICAgIDxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAw
MC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBwcmVzZXJ2
ZUFzcGVjdFJhdGlvPSJub25lIiB2aWV3Qm94PSIwIDAgMzAgNDAiIHdpZHRoPSIzMCIgaGVpZ2h0
PSI2MCI+JlNtaWxlOzwvc3ZnPgorCQkJPC9nPgorCQkJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUo
NTAsIDUwKSI+CisgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu
ayIgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIiIHZpZXdCb3g9IjAgMCAzMCA0MCIgd2lkdGg9
IjMwIiBoZWlnaHQ9IjYwIj4mU21pbGU7PC9zdmc+CisJCQk8L2c+CisJCQk8ZyB0cmFuc2Zvcm09
InRyYW5zbGF0ZSgxMDAsIDUwKSI+CisgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9
Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5v
cmcvMTk5OS94bGluayIgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgbWVldCIgdmlld0JveD0i
MCAwIDMwIDQwIiB3aWR0aD0iMzAiIGhlaWdodD0iNjAiPiZTbWlsZTs8L3N2Zz4KKwkJCTwvZz4K
KwkJCTxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1MCwgNTApIj4KKyAgICAgICAgIDxzdmcgdmVy
c2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5r
PSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZl
ciB4TWlkWU1pZCBtZWV0IGEiIHZpZXdCb3g9IjAgMCAzMCA0MCIgd2lkdGg9IjMwIiBoZWlnaHQ9
IjYwIj4mU21pbGU7PC9zdmc+CisJCQk8L2c+CisgICAgICAgICAgICA8L2c+CisJPC9nPgorPC9z
dmc+Cis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCI/PgorPCFET0NUWVBFIHN2
ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEgQmFzaWMvL0VOIiAiaHR0cDovL3d3dy53My5v
cmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEtYmFzaWMuZHRkIiBbCisJPCFFTlRJVFkgU21p
bGUgIgorPHJlY3QgeD0nLjUnIHk9Jy41JyB3aWR0aD0nMjknIGhlaWdodD0nMzknIGZpbGw9J2Js
YWNrJyBzdHJva2U9J3JlZCcvPgorPGcgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCwgNSknPgorPGNp
cmNsZSBjeD0nMTUnIGN5PScxNScgcj0nMTAnIGZpbGw9J3llbGxvdycvPgorPGNpcmNsZSBjeD0n
MTInIGN5PScxMicgcj0nMS41JyBmaWxsPSdibGFjaycvPgorPGNpcmNsZSBjeD0nMTcnIGN5PScx
Micgcj0nMS41JyBmaWxsPSdibGFjaycvPgorPHBhdGggZD0nTSAxMCAxOSBMIDE1IDIzIDIwIDE5
JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzInLz4KKzwvZz4KKyI+CisJPCFFTlRJVFkg
Vmlld3BvcnQyICI8cmVjdCB4PScuNScgeT0nLjUnIHdpZHRoPScyOScgaGVpZ2h0PSc1OScKK2Zp
bGw9J25vbmUnIHN0cm9rZT0nYmx1ZScvPiI+CitdPgorPHN2ZyB2ZXJzaW9uPSIxLjEiIGJhc2VQ
cm9maWxlPSJiYXNpYyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4
bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgaWQ9InN2Zy1yb290IiB3aWR0aD0i
MTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgNDgwIDM2MCI+CisJPGcgaWQ9InRlc3Qt
Ym9keS1jb250ZW50IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCAwKSI+CisJCTxnIGZvbnQtc2l6
ZT0iOSI+CisJCQk8dGV4dCB4PSIwIiB5PSIzMCI+QWxsIHN2Z3MgYmVsb3cgc2hvdWxkIGxvb2sg
dGhlIHNhbWUsIHNpbmNlIGFsbCBoYXZlIHByZXNlcnZlQXNwZWN0UmF0aW8gd2l0aCBzeW50YXgg
ZXJyb3JzIGFuZCBkZWZhdWx0IHNob3VsZCBiZSBjaG9zZW4uPC90ZXh0PgorCQk8ZyBpZD0ibWVl
dC1ncm91cC0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCA1MCkiPgorICAgICAgICAgPHN2ZyB2
ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxp
bms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89Im5v
bmUiIHZpZXdCb3g9IjAgMCAzMCA0MCIgd2lkdGg9IjMwIiBoZWlnaHQ9IjYwIj4mU21pbGU7PC9z
dmc+CisJCQk8L2c+CisJCQk8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MCwgNTApIj4KKyAgICAg
ICAgIDxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
IHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBwcmVzZXJ2ZUFzcGVj
dFJhdGlvPSJkZWZlciIgdmlld0JveD0iMCAwIDMwIDQwIiB3aWR0aD0iMzAiIGhlaWdodD0iNjAi
PiZTbWlsZTs8L3N2Zz4KKwkJCTwvZz4KKwkJCTxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwMCwg
NTApIj4KKyAgICAgICAgIDxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5v
cmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBw
cmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciBtZWV0IiB2aWV3Qm94PSIwIDAgMzAgNDAiIHdpZHRo
PSIzMCIgaGVpZ2h0PSI2MCI+JlNtaWxlOzwvc3ZnPgorCQkJPC9nPgorCQkJPGcgdHJhbnNmb3Jt
PSJ0cmFuc2xhdGUoMTUwLCA1MCkiPgorICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5z
PSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMu
b3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIHhNaWRZTWlkIG1lZXQg
YSIgdmlld0JveD0iMCAwIDMwIDQwIiB3aWR0aD0iMzAiIGhlaWdodD0iNjAiPiZTbWlsZTs8L3N2
Zz4KKwkJCTwvZz4KKyAgICAgICAgICAgIDwvZz4KKwk8L2c+Cis8L3N2Zz4KKzw/eG1sIHZlcnNp
b249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzND
Ly9EVEQgU1ZHIDEuMSBCYXNpYy8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcv
MS4xL0RURC9zdmcxMS1iYXNpYy5kdGQiIFsKKwk8IUVOVElUWSBTbWlsZSAiCis8cmVjdCB4PScu
NScgeT0nLjUnIHdpZHRoPScyOScgaGVpZ2h0PSczOScgZmlsbD0nYmxhY2snIHN0cm9rZT0ncmVk
Jy8+Cis8ZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLCA1KSc+Cis8Y2lyY2xlIGN4PScxNScgY3k9
JzE1JyByPScxMCcgZmlsbD0neWVsbG93Jy8+Cis8Y2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScx
LjUnIGZpbGw9J2JsYWNrJy8+Cis8Y2lyY2xlIGN4PScxNycgY3k9JzEyJyByPScxLjUnIGZpbGw9
J2JsYWNrJy8+Cis8cGF0aCBkPSdNIDEwIDE5IEwgMTUgMjMgMjAgMTknIHN0cm9rZT0nYmxhY2sn
IHN0cm9rZS13aWR0aD0nMicvPgorPC9nPgorIj4KKwk8IUVOVElUWSBWaWV3cG9ydDIgIjxyZWN0
IHg9Jy41JyB5PScuNScgd2lkdGg9JzI5JyBoZWlnaHQ9JzU5JworZmlsbD0nbm9uZScgc3Ryb2tl
PSdibHVlJy8+Ij4KK10+Cis8c3ZnIHZlcnNpb249IjEuMSIgYmFzZVByb2ZpbGU9ImJhc2ljIiB4
bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnLXJvb3QiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEw
MCUiIHZpZXdCb3g9IjAgMCA0ODAgMzYwIj4KKwk8ZyBpZD0idGVzdC1ib2R5LWNvbnRlbnQiIHRy
YW5zZm9ybT0idHJhbnNsYXRlKDAsIDApIj4KKwkJPGcgZm9udC1zaXplPSI5Ij4KKwkJCTx0ZXh0
IHg9IjAiIHk9IjMwIj5BbGwgc3ZncyBiZWxvdyBzaG91bGQgbG9vayB0aGUgc2FtZSwgc2luY2Ug
YWxsIGhhdmUgcHJlc2VydmVBc3BlY3RSYXRpbyB3aXRoIHN5bnRheCBlcnJvcnMgYW5kIGRlZmF1
bHQgc2hvdWxkIGJlIGNob3Nlbi48L3RleHQ+CisJCTxnIGlkPSJtZWV0LWdyb3VwLTIiIHRyYW5z
Zm9ybT0idHJhbnNsYXRlKDAsIDUwKSI+CisgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53
My5vcmcvMTk5OS94bGluayIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSIgdmlld0JveD0iMCAw
IDMwIDQwIiB3aWR0aD0iMzAiIGhlaWdodD0iNjAiPiZTbWlsZTs8L3N2Zz4KKwkJCTwvZz4KKwkJ
CTxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwLCA1MCkiPgorICAgICAgICAgPHN2ZyB2ZXJzaW9u
PSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0
dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVyIiB2
aWV3Qm94PSIwIDAgMzAgNDAiIHdpZHRoPSIzMCIgaGVpZ2h0PSI2MCI+JlNtaWxlOzwvc3ZnPgor
CQkJPC9nPgorCQkJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAwLCA1MCkiPgorICAgICAgICAg
PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1s
bnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0
aW89ImRlZmVyIG1lZXQiIHZpZXdCb3g9IjAgMCAzMCA0MCIgd2lkdGg9IjMwIiBoZWlnaHQ9IjYw
Ij4mU21pbGU7PC9zdmc+CisJCQk8L2c+CisJCQk8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNTAs
IDUwKSI+CisgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIg
cHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgeE1pZFlNaWQgbWVldCBhIiB2aWV3Qm94PSIwIDAg
MzAgNDAiIHdpZHRoPSIzMCIgaGVpZ2h0PSI2MCI+JlNtaWxlOzwvc3ZnPgorCQkJPC9nPgorICAg
ICAgICAgICAgPC9nPgorCTwvZz4KKzwvc3ZnPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS90cmFuc2Zvcm0taW52YWxpZC1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3RyYW5zZm9ybS1pbnZhbGlkLWV4cGVjdGVkLmNoZWNrc3VtCShy
ZXZpc2lvbiAxNjgzOCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vdHJhbnNmb3JtLWludmFs
aWQtZXhwZWN0ZWQuY2hlY2tzdW0JKHdvcmtpbmcgY29weSkKQEAgLTEgKzEgQEAKLTc3ODgwM2Rm
MGE4MjRlZDhmMmM3ZGZhMDdjNTY4MzJlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorYmVk
MjNiMGI0NGI2MTU1YWNiNmY1YjhjYzRiZTQxMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RyYW5zZm9ybS1pbnZhbGlkLWV4cGVjdGVk
LmNoZWNrc3VtLnJlago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RyYW5z
Zm9ybS1pbnZhbGlkLWV4cGVjdGVkLmNoZWNrc3VtLnJlagkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3N2Zy9jdXN0b20vdHJhbnNmb3JtLWludmFsaWQtZXhwZWN0ZWQuY2hlY2tzdW0ucmVq
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKKyoqKioqKioqKioqKioqKgorKioqIDEgKioq
KgorLSA3Nzg4MDNkZjBhODI0ZWQ4ZjJjN2RmYTA3YzU2ODMyZS0tLSAxIC0tLS0KKysgYmVkMjNi
MGI0NGI2MTU1YWNiNmY1YjhjYzRiZTQxMDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RyYW5zZm9ybS1pbnZhbGlkLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RyYW5zZm9ybS1pbnZhbGlk
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTY4MzgpCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L3RyYW5zZm9ybS1pbnZhbGlkLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDcgQEAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAotICAgIEtDYW52YXNDb250YWluZXIge3N2Z30gYXQgKDAsMCkgc2l6ZSAx
MDB4MTAwCi0gICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtm
aWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAw
LjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCi0gICAgICBLQ2FudmFzSXRlbSB7
cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAw
LDEwMC4wMCJdCisgICAgS0NhbnZhc0NvbnRhaW5lciB7c3ZnfSBhdCAoMTAsMCkgc2l6ZSA0MzB4
MTAwCisgICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQgKDEwLDApIHNpemUgMTAweDEwMCBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMTAuMDAsMC4wMEwxMTAu
MDAsMC4wMEwxMTAuMDAsMTAwLjAwTDEwLjAwLDEwMC4wMCJdCisgICAgICBLQ2FudmFzSXRlbSB7
cmVjdH0gYXQgKDEyMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
IzAwODAwMF19XSBbZGF0YT0iTTEyMC4wMCwwLjAwTDIyMC4wMCwwLjAwTDIyMC4wMCwxMDAuMDBM
MTIwLjAwLDEwMC4wMCJdCisgICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQgKDIzMCwwKSBzaXpl
IDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTIz
MC4wMCwwLjAwTDMzMC4wMCwwLjAwTDMzMC4wMCwxMDAuMDBMMjMwLjAwLDEwMC4wMCJdCisgICAg
ICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQgKDM0MCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTM0MC4wMCwwLjAwTDQ0MC4wMCwwLjAw
TDQ0MC4wMCwxMDAuMDBMMzQwLjAwLDEwMC4wMCJdCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL3RyYW5zZm9ybS1pbnZhbGlkLWV4cGVjdGVkLnR4dC5yZWoKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2N1c3RvbS90cmFuc2Zvcm0taW52YWxpZC1leHBlY3RlZC50eHQucmVqCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90cmFuc2Zvcm0taW52YWxpZC1l
eHBlY3RlZC50eHQucmVqCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACisqKioqKioqKioq
KioqKioKKyoqKiAxLDUgKioqKgorICBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorLSAgICAgS0NhbnZhc0NvbnRhaW5lciB7
c3ZnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKy0gICAgICAgS0NhbnZhc0l0ZW0ge3JlY3R9IGF0
ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1d
IFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAi
XQorLSAgICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAw
LDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCistLS0gMSw3IC0tLS0KKyAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKysgICAgIEtDYW52YXNDb250YWluZXIge3N2Z30gYXQgKDEwLDApIHNpemUgNDMweDEwMAor
KyAgICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQgKDEwLDApIHNpemUgMTAweDEwMCBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMTAuMDAsMC4wMEwxMTAuMDAs
MC4wMEwxMTAuMDAsMTAwLjAwTDEwLjAwLDEwMC4wMCJdCisrICAgICAgIEtDYW52YXNJdGVtIHty
ZWN0fSBhdCAoMTIwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDA4MDAwXX1dIFtkYXRhPSJNMTIwLjAwLDAuMDBMMjIwLjAwLDAuMDBMMjIwLjAwLDEwMC4wMEwx
MjAuMDAsMTAwLjAwIl0KKysgICAgICAgS0NhbnZhc0l0ZW0ge3JlY3R9IGF0ICgyMzAsMCkgc2l6
ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0y
MzAuMDAsMC4wMEwzMzAuMDAsMC4wMEwzMzAuMDAsMTAwLjAwTDIzMC4wMCwxMDAuMDAiXQorKyAg
ICAgICBLQ2FudmFzSXRlbSB7cmVjdH0gYXQgKDM0MCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTM0MC4wMCwwLjAwTDQ0MC4wMCww
LjAwTDQ0MC4wMCwxMDAuMDBMMzQwLjAwLDEwMC4wMCJdCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcv
Y3VzdG9tL3RyYW5zZm9ybS1pbnZhbGlkLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL3RyYW5zZm9ybS1pbnZhbGlkLnN2ZwkocmV2aXNpb24gMTY4MzgpCisrKyBMYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3RyYW5zZm9ybS1pbnZhbGlkLnN2Zwkod29ya2luZyBjb3B5KQpA
QCAtMSw3ICsxLDkgQEAKIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04IiBzdGFu
ZGFsb25lPSJubyI/PgogPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjAv
L0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMtU1ZHLTIwMDEwOTA0L0RURC9zdmcx
MC5kdGQiPgotPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIx
MDAiIGhlaWdodD0iMTAwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+Cis8c3ZnIHhtbG5zPSJodHRw
Oi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjgwMCIgaGVpZ2h0PSIxMDAiPgogICAgIDwh
LS0gQm90aCBvZiB0aGVzZSBwcmV2aW91c2x5IGNhdXNlZCBjcmFzaGVzLCBidXQgbm93IHNob3Vs
ZCBiZSBpZ25vcmVkLiAtLT4KLQk8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNm
b3JtPSJzY2FsZSgpIiBmaWxsPSJncmVlbiIvPgotCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0i
MTAwIiB0cmFuc2Zvcm09ImZvbygxLDEpIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0IHg9IjEwIiB3
aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJzY2FsZSgpIiBmaWxsPSJncmVlbiIv
PgorCTxyZWN0IHg9IjEyMCIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHRyYW5zZm9ybT0iZm9v
KDEsMSkiIGZpbGw9ImdyZWVuIi8+CisJPHJlY3QgeD0iMjMwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9
IjEwMCIgdHJhbnNmb3JtPSIiIGZpbGw9ImdyZWVuIi8+CisJPHJlY3QgeD0iMzQwIiB3aWR0aD0i
MTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJmb28oNSksIiBmaWxsPSJncmVlbiIvPgogPC9z
dmc+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3RyYW5zZm9ybS1pbnZhbGlkLnN2Zy5y
ZWoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90cmFuc2Zvcm0taW52YWxp
ZC5zdmcucmVqCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90cmFuc2Zv
cm0taW52YWxpZC5zdmcucmVqCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5IEBACisqKioqKioq
KioqKioqKioKKyoqKiAxLDcgKioqKgorICA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJV
VEYtOCIgc3RhbmRhbG9uZT0ibm8iPz4KKyAgPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8v
RFREIFNWRyAxLjAvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMtU1ZHLTIwMDEw
OTA0L0RURC9zdmcxMC5kdGQiPgorLSA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAw
L3N2ZyIgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KKyAg
ICAgIDwhLS0gQm90aCBvZiB0aGVzZSBwcmV2aW91c2x5IGNhdXNlZCBjcmFzaGVzLCBidXQgbm93
IHNob3VsZCBiZSBpZ25vcmVkLiAtLT4KKy0gCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAw
IiB0cmFuc2Zvcm09InNjYWxlKCkiIGZpbGw9ImdyZWVuIi8+CistIAk8cmVjdCB3aWR0aD0iMTAw
IiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJmb28oMSwxKSIgZmlsbD0iZ3JlZW4iLz4KKyAgPC9z
dmc+CistLS0gMSw5IC0tLS0KKyAgPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgi
IHN0YW5kYWxvbmU9Im5vIj8+CisgIDwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBT
VkcgMS4wLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLVNWRy0yMDAxMDkwNC9E
VEQvc3ZnMTAuZHRkIj4KKysgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmci
IHdpZHRoPSI4MDAiIGhlaWdodD0iMTAwIj4KKyAgICAgIDwhLS0gQm90aCBvZiB0aGVzZSBwcmV2
aW91c2x5IGNhdXNlZCBjcmFzaGVzLCBidXQgbm93IHNob3VsZCBiZSBpZ25vcmVkLiAtLT4KKysg
CTxyZWN0IHg9IjEwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJzY2FsZSgp
IiBmaWxsPSJncmVlbiIvPgorKyAJPHJlY3QgeD0iMTIwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEw
MCIgdHJhbnNmb3JtPSJmb28oMSwxKSIgZmlsbD0iZ3JlZW4iLz4KKysgCTxyZWN0IHg9IjIzMCIg
d2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHRyYW5zZm9ybT0iIiBmaWxsPSJncmVlbiIvPgorKyAJ
PHJlY3QgeD0iMzQwIiB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJmb28oNSks
IiBmaWxsPSJncmVlbiIvPgorICA8L3N2Zz4KSW5kZXg6IFdlYkNvcmUvQ01ha2VMaXN0cy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTY4MzgpCisr
KyBXZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01ODIsNyArNTgyLDcg
QEAgc2V0IChTVkdfU09VUkNFUwogICAgIGtzdmcyL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAKICAg
ICBrc3ZnMi9zdmcvU1ZHU3R5bGVkRWxlbWVudC5jcHAKICAgICBrc3ZnMi9zdmcvU1ZHRkVNZXJn
ZU5vZGVFbGVtZW50LmNwcAotICAgIGtzdmcyL3N2Zy9zdmdwYXRocGFyc2VyLmNwcAorICAgIGtz
dmcyL3N2Zy9TVkdQYXJzZXJVdGlscy5jcHAKICAgICBrc3ZnMi9zdmcvU1ZHRkVHYXVzc2lhbkJs
dXJFbGVtZW50LmNwcAogICAgIGtzdmcyL3N2Zy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQuY3Bw
CiAgICAga3N2ZzIvc3ZnL1NWR0ZFRGlzcGxhY2VtZW50TWFwRWxlbWVudC5jcHAKSW5kZXg6IFdl
YkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lv
biAxNjgzOSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTA3IEBACisyMDA2LTEwLTA2ICBSb2IgQnVpcyAgPGJ1aXNAa2RlLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTEwOAorICAgICAgICBSZXBsYWNlIHVzYWdlIG9mIHNwbGl0
IGJ5IHByb3BlciBwYXJzZXJzCisKKyAgICAgICAgR2V0IHJpZCBvZiBhbGwgdXNlcyBvZiBzcGxp
dCgpIGluIGtzdmcgYW5kIHJlb3JnYW5pemUKKyAgICAgICAgc3ZnIHBhcnNpbmcgZnVuY3Rpb25z
IGluIHRoZSBwcm9jZXNzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAtIHJlbmFtZSBzdmdw
YXRocGFyc2VyLiogdG8gU1ZHUGFyc2VyVXRpbHMuKgorCisgICAgICAgICoga3N2ZzIvc3ZnL1NW
R0FuaW1hdGlvbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0aW9uRWxl
bWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAtIHVzZSBTVkdTdHJpbmdMaXN0
OjpwYXJzZSBpbnN0ZWFkIG9mIHBhcnNlU2VwYXJhdGVkTGlzdAorCisgICAgICAgICoga3N2ZzIv
c3ZnL1NWR0NvbG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0NvbG9yOjpzZXRSR0JDb2xv
cik6CisgICAgICAgIC0gdXNlIGZ1bmN0aW9ucyBmcm9tIFNWR1BhcnNlclV0aWxzIGluc3RlYWQg
b2Ygc3BsaQorCisgICAgICAgICoga3N2ZzIvc3ZnL1NWR0ZFRGlmZnVzZUxpZ2h0aW5nRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQ6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHRkVHYXVzc2lhbkJs
dXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVu
dDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGRVNwZWN1
bGFyTGlnaHRpbmdFbGVtZW50LmNwcDoKKyAgICAgICAgKFNWR0ZFU3BlY3VsYXJMaWdodGluZ0Vs
ZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHRkVU
dXJidWxlbmNlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdGRVR1cmJ1bGVuY2VF
bGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgIC0gdXNlIFNWR1N0cmluZ0xp
c3Q6OnBhcnNlIGluc3RlYWQgb2Ygc3BsaXQKKworICAgICAgICAqIGtzdmcyL3N2Zy9TVkdGaXRU
b1ZpZXdCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRml0VG9WaWV3Qm94OjpwYXJzZVZp
ZXdCb3gpOgorICAgICAgICAtIHJld3JpdGUgcGFyc2VyIHVzaW5nIGZ1bmN0aW9ucyBmcm9tIFNW
R1BhcnNlclV0aWxzIGluc3RlYWQgb2Ygc3BsaXQKKworICAgICAgICAqIGtzdmcyL3N2Zy9TVkdI
ZWxwZXIuY3BwOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdIZWxwZXIuaDoKKyAgICAgICAgLSAg
cGFyc2VEZXByZWNhdGVkTGlzdCBpcyBub3cgU1ZHU3RyaW5nTGlzdDo6cGFyc2UKKworICAgICAg
ICAqIGtzdmcyL3N2Zy9TVkdMZW5ndGguY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHTGVuZ3Ro
OjpzZXRWYWx1ZUFzU3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6dHJ5UGFy
c2VMZW5ndGhVbml0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aDo6dXBkYXRlVmFsdWVJ
blNwZWNpZmllZFVuaXRzKToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHTGVuZ3RoLmg6CisgICAg
ICAgIC0gdXNlIGZ1bmN0aW9ucyBmcm9tIFNWR1BhcnNlclV0aWxzIGluc3RlYWQgb2Ygc3BsaXQK
KyAgICAgICAgLSBtb3ZlIHBhcnNpbmcgb2YgdW5pdHMgaW50byB0cnlQYXJzZUxlbmd0aFVuaXQs
IHRvCisgICAgICAgICAgYmUgcmV1c2VkIGJ5IFNWR0xlbmd0aExpc3QKKworICAgICAgICAqIGtz
dmcyL3N2Zy9TVkdMZW5ndGhMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0xlbmd0aExp
c3Q6OnBhcnNlKToKKyAgICAgICAgLSB1c2UgZnVuY3Rpb25zIGZyb20gU1ZHUGFyc2VyVXRpbHMg
aW5zdGVhZCBvZiBzcGxpdAorCisgICAgICAgICoga3N2ZzIvc3ZnL1NWR051bWJlckxpc3QuY3Bw
OgorICAgICAgICAoU1ZHTnVtYmVyTGlzdDo6cGFyc2UpOgorICAgICAgICAqIGtzdmcyL3N2Zy9T
VkdOdW1iZXJMaXN0Lmg6CisgICAgICAgIC0gdXNlIGZ1bmN0aW9ucyBmcm9tIFNWR1BhcnNlclV0
aWxzIGluc3RlYWQgb2Ygc3BsaXQKKworICAgICAgICAqIGtzdmcyL3N2Zy9TVkdQYXJzZXJVdGls
cy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDb29yZCk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQb2x5UGFyc2VyOjpwYXJzZVBvaW50cyk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdQYXRoUGFyc2VyOjpwYXJzZVNWRyk6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR1BhcnNlclV0
aWxzLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6aXNXaGl0ZXNwYWNlKToKKyAgICAgICAg
KFdlYkNvcmU6OnNraXBPcHRpb25hbFNwYWNlcyk6CisgICAgICAgIChXZWJDb3JlOjpza2lwT3B0
aW9uYWxTcGFjZXNPckRlbGltaXRlcik6CisgICAgICAgIChXZWJDb3JlOjp0cnlQYXJzZUNvb3Jk
KToKKyAgICAgICAgKFdlYkNvcmU6OnRyeVBhcnNlTnVtYmVyTGlzdCk6CisgICAgICAgIC0gbW92
ZSBwcml2YXRlIHBhcnNpbmcgaGVscGVyIGZ1bmN0aW9ucyBpbnRvIHRoZSBoZWFkZXIKKyAgICAg
ICAgLSB1c2UgVUNoYXIqIGluc3RlYWQgb2YgY2hhcioKKyAgICAgICAgLSBhZGQgdHJ5UGFyc2VO
dW1iZXJMaXN0IGZvciBzaW1wbGUgbnVtYmVyIGxpc3RzCisKKyAgICAgICAgKiBrc3ZnMi9zdmcv
U1ZHUGF0aEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQu
aDoKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHUG9seUVsZW1lbnQuY3BwOgorICAgICAgICAoU1ZH
UG9seUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBrc3ZnMi9zdmcv
U1ZHUG9seUVsZW1lbnQuaDoKKyAgICAgICAgLSBhZGp1c3QgdG8gc3ZncGF0aHBhcnNlciByZW5h
bWUKKworICAgICAgICAqIGtzdmcyL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OnBhcnNlUHJlc2VydmVBc3Bl
Y3RSYXRpbyk6CisgICAgICAgIC0gcmV3cml0ZSBwYXJzZXIgdXNpbmcgZnVuY3Rpb25zIGZyb20g
U1ZHUGFyc2VyVXRpbHMgaW5zdGVhZCBvZiBzcGxpdAorICAgICAgICAtIHRha2UgaW50byBhY2Nv
dW50IHRoZSBrZXl3b3JkICdkZWZlcicsIHRob3VnaCB3ZSBkbyBub3QgdXNlIGl0IHlldAorCisg
ICAgICAgICoga3N2ZzIvc3ZnL1NWR1N0cmluZ0xpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHU3RyaW5nTGlzdDo6cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3RyaW5nTGlzdDo6
cGFyc2UpOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdTdHJpbmdMaXN0Lmg6CisgICAgICAgIC0g
YWRkIG1ldGhvZCBwYXJzZSB3aGljaCByZXBsYWNlcyBTVkdIZWxwZXI6OnBhcnNlU2VwYXJhdGVk
TGlzdAorICAgICAgICAtIHVzZSBmdW5jdGlvbnMgZnJvbSBTVkdQYXJzZXJVdGlscyBpbnN0ZWFk
IG9mIHNwbGl0CisKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHVGVzdHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHVGVzdHM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgLSByZW1v
dmFsIG9mIGRlcHJlY2F0ZWRTdHJpbmcgdXNhZ2UKKworICAgICAgICAqIGtzdmcyL3N2Zy9TVkdU
cmFuc2Zvcm1hYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlVHJhbnNmb3JtUGFyYW1M
aXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RyYW5zZm9ybWFibGU6OnBhcnNlVHJhbnNmb3Jt
QXR0cmlidXRlKToKKyAgICAgICAgLSByZXdyaXRlIHBhcnNlciB1c2luZyBmdW5jdGlvbnMgZnJv
bSBTVkdQYXJzZXJVdGlscyBpbnN0ZWFkIG9mIHNwbGl0CisKKyAgICAgICAgKiBrc3ZnMi9zdmcv
c3ZncGF0aHBhcnNlci5jcHA6IFJlbW92ZWQuCisgICAgICAgICoga3N2ZzIvc3ZnL3N2Z3BhdGhw
YXJzZXIuaDogUmVtb3ZlZC4KKwogMjAwNi0xMC0wNSAgU3RldmUgRmFsa2VuYnVyZyAgPHNmYWxr
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IGFyb2Jlbi4KQEAgLTYxMyw2ICs3
MTcsNyBAQAogICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6OnNldFJlcXVlc3RIZWFk
ZXIpOgogICAgICAgICByZW1vdmVkIGV4Y2VwdGlvbiBzZXQgd2hlbiB0aGUgcmVxdWVzdCBpcyBu
b3Qgb3BlbiB5ZXQKIAorPj4+Pj4+PiAucjE2ODAwCiAyMDA2LTEwLTA0ICBBbmRlcnMgQ2FybHNz
b24gIDxhY2FybHNzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEpvaG4gU3Vs
bGl2YW4uCkluZGV4OiBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gMTY4MzgpCisrKyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTY5NCw4ICsxNjk0LDggQEAKIAkJQTg4QUQ0QTkwOTUy
NDhGMDAwMUREMTk2IC8qIFNWR1BhaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBOEMwRjg4QjA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGFpbnQuaCAq
LzsgfTsKIAkJQTg4QUQ0QUEwOTUyNDhGMDAwMUREMTk2IC8qIFNWR1BhdGhFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QzBGODhDMDg5
NzAxRjMwMEJBNTExNCAvKiBTVkdQYXRoRWxlbWVudC5jcHAgKi87IH07CiAJCUE4OEFENEFCMDk1
MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThDMEY4OEQwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1Bh
dGhFbGVtZW50LmggKi87IH07Ci0JCUE4OEFENEFDMDk1MjQ4RjAwMDFERDE5NiAvKiBzdmdwYXRo
cGFyc2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE4QzBGODhFMDg5NzAxRjMwMEJBNTExNCAvKiBzdmdwYXRocGFyc2VyLmNwcCAqLzsgfTsKLQkJ
QTg4QUQ0QUQwOTUyNDhGMDAwMUREMTk2IC8qIHN2Z3BhdGhwYXJzZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QzBGODhGMDg5NzAxRjMwMEJBNTEx
NCAvKiBzdmdwYXRocGFyc2VyLmggKi87IH07CisJCUE4OEFENEFDMDk1MjQ4RjAwMDFERDE5NiAv
KiBTVkdQYXJzZXJVdGlscy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBOEMwRjg4RTA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGFyc2VyVXRpbHMuY3Bw
ICovOyB9OworCQlBODhBRDRBRDA5NTI0OEYwMDAxREQxOTYgLyogU1ZHUGFyc2VyVXRpbHMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QzBGODhGMDg5
NzAxRjMwMEJBNTExNCAvKiBTVkdQYXJzZXJVdGlscy5oICovOyB9OwogCQlBODhBRDRBRTA5NTI0
OEYwMDAxREQxOTYgLyogU1ZHUGF0aFNlZ0FyYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEMwRjg5MDA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0
aFNlZ0FyYy5jcHAgKi87IH07CiAJCUE4OEFENEFGMDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXRo
U2VnQXJjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
OEMwRjg5MTA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0aFNlZ0FyYy5oICovOyB9OwogCQlBODhB
RDRCMDA5NTI0OEYwMDAxREQxOTYgLyogU1ZHUGF0aFNlZ0Nsb3NlUGF0aC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEMwRjg5MjA4OTcwMUYzMDBC
QTUxMTQgLyogU1ZHUGF0aFNlZ0Nsb3NlUGF0aC5jcHAgKi87IH07CkBAIC00MTM5LDggKzQxMzks
OCBAQAogCQlBOEMwRjg4QjA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGFpbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYWludC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJQThD
MEY4OEMwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUGF0aEVsZW1lbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsg
fTsKIAkJQThDMEY4OEQwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhFbGVtZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aEVsZW1l
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7
IH07Ci0JCUE4QzBGODhFMDg5NzAxRjMwMEJBNTExNCAvKiBzdmdwYXRocGFyc2VyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gc3ZncGF0
aHBhcnNlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1Rh
YnMgPSAwOyB9OwotCQlBOEMwRjg4RjA4OTcwMUYzMDBCQTUxMTQgLyogc3ZncGF0aHBhcnNlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdp
ZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IHN2Z3Bh
dGhwYXJzZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFi
cyA9IDA7IH07CisJCUE4QzBGODhFMDg5NzAxRjMwMEJBNTExNCAvKiBTVkdQYXJzZXJVdGlscy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50
V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFNWR1BhcnNlclV0aWxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4
OyB1c2VzVGFicyA9IDA7IH07CisJCUE4QzBGODhGMDg5NzAxRjMwMEJBNTExNCAvKiBTVkdQYXJz
ZXJVdGlscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNWR1BhcnNlclV0aWxzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0g
ODsgdXNlc1RhYnMgPSAwOyB9OwogCQlBOEMwRjg5MDA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0
aFNlZ0FyYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFNWR1BhdGhTZWdBcmMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJX
aWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJQThDMEY4OTEwODk3MDFGMzAwQkE1MTE0IC8q
IFNWR1BhdGhTZWdBcmMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTVkdQYXRoU2VnQXJjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldp
ZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlBOEMwRjg5MjA4OTcwMUYzMDBCQTUxMTQgLyog
U1ZHUGF0aFNlZ0Nsb3NlUGF0aC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhdGhTZWdDbG9zZVBhdGguY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKQEAgLTcxNTUsOCAr
NzE1NSw4IEBACiAJCQkJQjJFOTU0OEUwQUI1RkJBMzAwNzZERTM3IC8qIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW8uaWRsICovLAogCQkJCUE4QzBGODhDMDg5NzAxRjMwMEJBNTExNCAvKiBTVkdQYXRo
RWxlbWVudC5jcHAgKi8sCiAJCQkJQThDMEY4OEQwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhF
bGVtZW50LmggKi8sCi0JCQkJQThDMEY4OEUwODk3MDFGMzAwQkE1MTE0IC8qIHN2Z3BhdGhwYXJz
ZXIuY3BwICovLAotCQkJCUE4QzBGODhGMDg5NzAxRjMwMEJBNTExNCAvKiBzdmdwYXRocGFyc2Vy
LmggKi8sCisJCQkJQThDMEY4OEUwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhcnNlclV0aWxzLmNw
cCAqLywKKwkJCQlBOEMwRjg4RjA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGFyc2VyVXRpbHMuaCAq
LywKIAkJCQlBOEMwRjg5QzA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0aFNlZy5jcHAgKi8sCiAJ
CQkJQThDMEY4OUQwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhTZWcuaCAqLywKIAkJCQlBOEMw
Rjg5MDA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0aFNlZ0FyYy5jcHAgKi8sCkBAIC04MjgxLDcg
KzgyODEsNyBAQAogCQkJCUE4OEFENEE3MDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdOdW1iZXJMaXN0
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODhBRDRBOTA5NTI0OEYwMDAxREQxOTYgLyogU1ZHUGFp
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4OEFENEFCMDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQ
YXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQTg4QUQ0QUQwOTUyNDhGMDAwMUREMTk2
IC8qIHN2Z3BhdGhwYXJzZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4OEFENEFEMDk1MjQ4RjAw
MDFERDE5NiAvKiBTVkdQYXJzZXJVdGlscy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg4QUQ0QUYw
OTUyNDhGMDAwMUREMTk2IC8qIFNWR1BhdGhTZWdBcmMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
OEFENEIxMDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXRoU2VnQ2xvc2VQYXRoLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBODhBRDRCMzA5NTI0OEYwMDAxREQxOTYgLyogU1ZHUGF0aFNlZ0N1cnZldG9D
dWJpYy5oIGluIEhlYWRlcnMgKi8sCkBAIC05NjAwLDcgKzk2MDAsNyBAQAogCQkJCUE4OEFENEE2
MDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdOdW1iZXJMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUE4OEFENEE4MDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYWludC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBODhBRDRBQTA5NTI0OEYwMDAxREQxOTYgLyogU1ZHUGF0aEVsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJQTg4QUQ0QUMwOTUyNDhGMDAwMUREMTk2IC8qIHN2Z3BhdGhwYXJzZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTg4QUQ0QUMwOTUyNDhGMDAwMUREMTk2IC8qIFNWR1Bh
cnNlclV0aWxzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4OEFENEFFMDk1MjQ4RjAwMDFERDE5
NiAvKiBTVkdQYXRoU2VnQXJjLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4OEFENEIwMDk1MjQ4
RjAwMDFERDE5NiAvKiBTVkdQYXRoU2VnQ2xvc2VQYXRoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUE4OEFENEIyMDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljLmNwcCBp
biBTb3VyY2VzICovLApJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDE2ODM4KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHQW5pbWF0aW9u
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIFNWR0Fu
aW1hdGlvbkVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0CiAgICAgICAgIFJlZlB0cjxTVkdTdHJpbmdM
aXN0PiB0ZW1wID0gbmV3IFNWR1N0cmluZ0xpc3QoKTsKIAogICAgICAgICAvLyBGZWVkIGRhdGEg
aW50byBsaXN0Ci0gICAgICAgIFNWR0hlbHBlcjo6cGFyc2VTZXBhcmF0ZWRMaXN0KHRlbXAuZ2V0
KCksIHZhbHVlLCAnOycpOworICAgICAgICB0ZW1wLT5wYXJzZSh2YWx1ZSwgJzsnKTsKIAogICAg
ICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKIApAQCAtMjUwLDE3ICsyNTAsMTcgQEAgdm9pZCBT
VkdBbmltYXRpb25FbGVtZW50OjpwYXJzZU1hcHBlZEF0dAogICAgIGVsc2UgaWYgKGF0dHItPm5h
bWUoKSA9PSBTVkdOYW1lczo6dmFsdWVzQXR0cikKICAgICB7CiAgICAgICAgIG1fdmFsdWVzID0g
bmV3IFNWR1N0cmluZ0xpc3QoKTsKLSAgICAgICAgU1ZHSGVscGVyOjpwYXJzZVNlcGFyYXRlZExp
c3QobV92YWx1ZXMuZ2V0KCksIHZhbHVlLCAnOycpOworICAgICAgICBtX3ZhbHVlcy0+cGFyc2Uo
dmFsdWUsICc7Jyk7CiAgICAgfQogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1l
czo6a2V5VGltZXNBdHRyKQogICAgIHsKICAgICAgICAgbV9rZXlUaW1lcyA9IG5ldyBTVkdTdHJp
bmdMaXN0KCk7Ci0gICAgICAgIFNWR0hlbHBlcjo6cGFyc2VTZXBhcmF0ZWRMaXN0KG1fa2V5VGlt
ZXMuZ2V0KCksIHZhbHVlLCAnOycpOworICAgICAgICBtX2tleVRpbWVzLT5wYXJzZSh2YWx1ZSwg
JzsnKTsKICAgICB9CiAgICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjprZXlT
cGxpbmVzQXR0cikKICAgICB7CiAgICAgICAgIG1fa2V5U3BsaW5lcyA9IG5ldyBTVkdTdHJpbmdM
aXN0KCk7Ci0gICAgICAgIFNWR0hlbHBlcjo6cGFyc2VTZXBhcmF0ZWRMaXN0KG1fa2V5U3BsaW5l
cy5nZXQoKSwgdmFsdWUsICc7Jyk7CisgICAgICAgIG1fa2V5U3BsaW5lcy0+cGFyc2UodmFsdWUs
ICc7Jyk7CiAgICAgfQogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6ZnJv
bUF0dHIpCiAgICAgICAgIG1fZnJvbSA9IHZhbHVlOwpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcv
U1ZHQ29sb3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0NvbG9yLmNw
cAkocmV2aXNpb24gMTY4MzgpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdDb2xvci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpZmRl
ZiBTVkdfU1VQUE9SVAogI2luY2x1ZGUgIlNWR0NvbG9yLmgiCisjaW5jbHVkZSAiU1ZHUGFyc2Vy
VXRpbHMuaCIKIAogI2luY2x1ZGUgImtzdmcuaCIKIApAQCAtMjI2LDI3ICsyMjcsNTIgQEAgdm9p
ZCBTVkdDb2xvcjo6c2V0UkdCQ29sb3IoY29uc3QgU3RyaW5nJgogCiAgICAgU3RyaW5nIHBhcnNl
ID0gbV9yZ2JDb2xvci5zdHJpcFdoaXRlU3BhY2UoKTsKICAgICBpZiAocGFyc2Uuc3RhcnRzV2l0
aCgicmdiKCIpKSB7Ci0gICAgICAgIFZlY3RvcjxTdHJpbmc+IGNvbG9ycyA9IHBhcnNlLnNwbGl0
KCcsJyk7Ci0gICAgICAgIFN0cmluZyByID0gY29sb3JzWzBdLnJpZ2h0KChjb2xvcnNbMF0ubGVu
Z3RoKCkgLSA0KSk7Ci0gICAgICAgIFN0cmluZyBnID0gY29sb3JzWzFdOwotICAgICAgICBTdHJp
bmcgYiA9IGNvbG9yc1syXS5sZWZ0KChjb2xvcnNbMl0ubGVuZ3RoKCkgLSAxKSk7Ci0gICAgCi0g
ICAgICAgIGlmIChyLmNvbnRhaW5zKCIlIikpIHsKLSAgICAgICAgICAgIHIgPSByLmxlZnQoci5s
ZW5ndGgoKSAtIDEpOwotICAgICAgICAgICAgciA9IFN0cmluZzo6bnVtYmVyKGludCgoKDI1NS4w
ICogci50b0RvdWJsZSgpKSAvIDEwMC4wKSkpOworICAgICAgICBpbnQgbm9ybWFsID0gMCwgcGVy
Y2VudGFnZXMgPSAwOworICAgICAgICBkb3VibGUgciA9IC0xLCBnID0gLTEsIGIgPSAtMTsKKyAg
ICAgICAgY29uc3QgVUNoYXIqIHB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPihw
YXJzZS5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigpKSArIDQ7CisgICAgICAgIHNraXBP
cHRpb25hbFNwYWNlcyhwdHIpOworICAgICAgICBpZiAoIXRyeVBhcnNlQ29vcmQocHRyLCByKSkK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKCpwdHIgPT0gJyUnKSB7CisgICAgICAg
ICAgICBwZXJjZW50YWdlcysrOworICAgICAgICAgICAgcHRyKys7CisgICAgICAgICAgICBza2lw
T3B0aW9uYWxTcGFjZXNPckRlbGltaXRlcihwdHIpOworICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgbm9ybWFsKys7CisgICAgICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsKICAg
ICAgICAgfQogCi0gICAgICAgIGlmIChnLmNvbnRhaW5zKCIlIikpIHsKLSAgICAgICAgICAgIGcg
PSBnLmxlZnQoZy5sZW5ndGgoKSAtIDEpOwotICAgICAgICAgICAgZyA9IFN0cmluZzo6bnVtYmVy
KGludCgoKDI1NS4wICogZy50b0RvdWJsZSgpKSAvIDEwMC4wKSkpOworICAgICAgICBpZiAoIXRy
eVBhcnNlQ29vcmQocHRyLCBnKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKCpw
dHIgPT0gJyUnKSB7CisgICAgICAgICAgICBwZXJjZW50YWdlcysrOworICAgICAgICAgICAgcHRy
Kys7CisgICAgICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXNPckRlbGltaXRlcihwdHIpOworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgbm9ybWFsKys7CisgICAgICAgICAgICBza2lwT3B0
aW9uYWxTcGFjZXMocHRyKTsKICAgICAgICAgfQotICAgIAotICAgICAgICBpZiAoYi5jb250YWlu
cygiJSIpKSB7Ci0gICAgICAgICAgICBiID0gYi5sZWZ0KGIubGVuZ3RoKCkgLSAxKTsKLSAgICAg
ICAgICAgIGIgPSBTdHJpbmc6Om51bWJlcihpbnQoKCgyNTUuMCAqIGIudG9Eb3VibGUoKSkgLyAx
MDAuMCkpKTsKKworICAgICAgICBpZiAoIXRyeVBhcnNlQ29vcmQocHRyLCBiKSkKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgaWYgKCpwdHIgPT0gJyUnKSB7CisgICAgICAgICAgICBwZXJj
ZW50YWdlcysrOworICAgICAgICAgICAgcHRyKys7CisgICAgICAgICAgICBza2lwT3B0aW9uYWxT
cGFjZXNPckRlbGltaXRlcihwdHIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbm9y
bWFsKys7CisgICAgICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsKICAgICAgICAgfQog
Ci0gICAgICAgIG1fY29sb3IgPSBDb2xvcihyLnRvSW50KCksIGcudG9JbnQoKSwgYi50b0ludCgp
KTsKKyAgICAgICAgaWYgKCpwdHIrKyAhPSAnKScpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgaWYgKHBlcmNlbnRhZ2VzID09IDMpCisgICAgICAgICAgICBtX2NvbG9yID0gQ29sb3Io
aW50KCgyNTUuMCAqIHIpIC8gMTAwLjApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCgoMjU1LjAgKiBnKSAvIDEwMC4wKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQo
KDI1NS4wICogYikgLyAxMDAuMCkpOworICAgICAgICBlbHNlIGlmIChub3JtYWwgPT0gMykKKyAg
ICAgICAgICAgIG1fY29sb3IgPSBDb2xvcihpbnQociksIGludChnKSwgaW50KGIpKTsKICAgICB9
IGVsc2UgewogICAgICAgICBTdHJpbmcgY29sb3JOYW1lID0gbV9yZ2JDb2xvci5sb3dlcigpOwog
Ly8gICAgICAgIGludCBjb2wgPSBXZWJDb3JlOjpnZXRWYWx1ZUlEKG5hbWUuYXNjaWkoKSwgbmFt
ZS5sZW5ndGgoKSk7CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGlu
Z0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFRGlmZnVz
ZUxpZ2h0aW5nRWxlbWVudC5jcHAJKHJldmlzaW9uIDE2ODM4KQorKysgV2ViQ29yZS9rc3ZnMi9z
dmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcs
NiArMjcsNyBAQAogI2luY2x1ZGUgImtzdmcuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgogI2lu
Y2x1ZGUgIlNWR0hlbHBlci5oIgorI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxzLmgiCiAjaW5jbHVk
ZSAiU1ZHUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJTVkdDb2xvci5oIgogI2luY2x1ZGUgIlNW
R0ZFTGlnaHRFbGVtZW50LmgiCkBAIC02NywxMiArNjgsMTUgQEAgdm9pZCBTVkdGRURpZmZ1c2VM
aWdodGluZ0VsZW1lbnQ6OnBhcnNlTQogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdO
YW1lczo6ZGlmZnVzZUNvbnN0YW50QXR0cikKICAgICAgICAgc2V0RGlmZnVzZUNvbnN0YW50QmFz
ZVZhbHVlKHZhbHVlLnRvSW50KCkpOwogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdO
YW1lczo6a2VybmVsVW5pdExlbmd0aEF0dHIpIHsKLSAgICAgICAgVmVjdG9yPFN0cmluZz4gbnVt
YmVycyA9IHZhbHVlLnNwbGl0KCcgJyk7Ci0gICAgICAgIHNldEtlcm5lbFVuaXRMZW5ndGhYQmFz
ZVZhbHVlKG51bWJlcnNbMF0udG9Eb3VibGUoKSk7Ci0gICAgICAgIGlmIChudW1iZXJzLnNpemUo
KSA9PSAxKQotICAgICAgICAgICAgc2V0S2VybmVsVW5pdExlbmd0aFlCYXNlVmFsdWUobnVtYmVy
c1swXS50b0RvdWJsZSgpKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgc2V0S2VybmVsVW5p
dExlbmd0aFlCYXNlVmFsdWUobnVtYmVyc1sxXS50b0RvdWJsZSgpKTsKKyAgICAgICAgZG91Ymxl
IHggPSAwLCB5ID0gMDsKKyAgICAgICAgaW50IG5yID0gdHJ5UGFyc2VOdW1iZXJMaXN0KHZhbHVl
LCB4LCB5KTsKKyAgICAgICAgaWYgKG5yID4gMCkgeworICAgICAgICAgICAgc2V0S2VybmVsVW5p
dExlbmd0aFhCYXNlVmFsdWUoeCk7CisgICAgICAgICAgICBpZiAobnIgPT0gMSkKKyAgICAgICAg
ICAgICAgICBzZXRLZXJuZWxVbml0TGVuZ3RoWUJhc2VWYWx1ZSh4KTsKKyAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICBzZXRLZXJuZWxVbml0TGVuZ3RoWUJhc2VWYWx1ZSh5KTsKKyAg
ICAgICAgfQogICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpsaWdodGlu
Z19jb2xvckF0dHIpCiAgICAgICAgIHNldExpZ2h0aW5nQ29sb3JCYXNlVmFsdWUobmV3IFNWR0Nv
bG9yKHZhbHVlKSk7CiAgICAgZWxzZQpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVHYXVz
c2lhbkJsdXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdG
RUdhdXNzaWFuQmx1ckVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNjgzOCkKKysrIFdlYkNvcmUva3N2
ZzIvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMw
LDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5jbHVkZSAiU1ZHSGVscGVy
LmgiCisjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbHMuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdHls
ZS5oIgogI2luY2x1ZGUgIlNWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5oIgogCkBAIC02MCwxMiAr
NjEsMTUgQEAgdm9pZCBTVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQ6OnBhcnNlTWFwcAogewogICAg
IGNvbnN0IFN0cmluZyYgdmFsdWUgPSBhdHRyLT52YWx1ZSgpOwogICAgIGlmIChhdHRyLT5uYW1l
KCkgPT0gU1ZHTmFtZXM6OnN0ZERldmlhdGlvbkF0dHIpIHsKLSAgICAgICAgVmVjdG9yPFN0cmlu
Zz4gbnVtYmVycyA9IHZhbHVlLnNwbGl0KCcgJyk7Ci0gICAgICAgIHNldFN0ZERldmlhdGlvblhC
YXNlVmFsdWUobnVtYmVyc1swXS50b0RvdWJsZSgpKTsKLSAgICAgICAgaWYobnVtYmVycy5zaXpl
KCkgPT0gMSkKLSAgICAgICAgICAgIHNldFN0ZERldmlhdGlvbllCYXNlVmFsdWUobnVtYmVyc1sw
XS50b0RvdWJsZSgpKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgc2V0U3RkRGV2aWF0aW9u
WUJhc2VWYWx1ZShudW1iZXJzWzFdLnRvRG91YmxlKCkpOworICAgICAgICBkb3VibGUgeCA9IDAs
IHkgPSAwOworICAgICAgICBpbnQgbnIgPSB0cnlQYXJzZU51bWJlckxpc3QodmFsdWUsIHgsIHkp
OworICAgICAgICBpZiAobnIgPiAwKSB7CisgICAgICAgICAgICBzZXRTdGREZXZpYXRpb25YQmFz
ZVZhbHVlKHgpOworICAgICAgICAgICAgaWYgKG5yID09IDEpCisgICAgICAgICAgICAgICAgc2V0
U3RkRGV2aWF0aW9uWUJhc2VWYWx1ZSh4KTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICBzZXRTdGREZXZpYXRpb25ZQmFzZVZhbHVlKHkpOworICAgICAgICB9CiAgICAgfQogICAg
IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6aW5BdHRyKQogICAgICAgICBzZXRJ
bjFCYXNlVmFsdWUodmFsdWUpOwpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVTcGVjdWxh
ckxpZ2h0aW5nRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZH
RkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5jcHAJKHJldmlzaW9uIDE2ODM4KQorKysgV2ViQ29y
ZS9rc3ZnMi9zdmcvU1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIlNWR05hbWVzLmgiCiAjaW5jbHVkZSAi
U1ZHSGVscGVyLmgiCisjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbHMuaCIKICNpbmNsdWRlICJTVkdS
ZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlNWR0NvbG9yLmgiCiAjaW5jbHVkZSAiU1ZHRkVMaWdo
dEVsZW1lbnQuaCIKQEAgLTczLDEyICs3NCwxNSBAQCB2b2lkIFNWR0ZFU3BlY3VsYXJMaWdodGlu
Z0VsZW1lbnQ6OnBhcnNlCiAgICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpz
cGVjdWxhckV4cG9uZW50QXR0cikKICAgICAgICAgc2V0U3BlY3VsYXJFeHBvbmVudEJhc2VWYWx1
ZSh2YWx1ZS50b0RvdWJsZSgpKTsKICAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFt
ZXM6Omtlcm5lbFVuaXRMZW5ndGhBdHRyKSB7Ci0gICAgICAgIFZlY3RvcjxTdHJpbmc+IG51bWJl
cnMgPSB2YWx1ZS5zcGxpdCgnICcpOwotICAgICAgICBzZXRLZXJuZWxVbml0TGVuZ3RoWEJhc2VW
YWx1ZShudW1iZXJzWzBdLnRvRG91YmxlKCkpOwotICAgICAgICBpZiAobnVtYmVycy5zaXplKCkg
PT0gMSkKLSAgICAgICAgICAgIHNldEtlcm5lbFVuaXRMZW5ndGhZQmFzZVZhbHVlKG51bWJlcnNb
MF0udG9Eb3VibGUoKSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHNldEtlcm5lbFVuaXRM
ZW5ndGhZQmFzZVZhbHVlKG51bWJlcnNbMV0udG9Eb3VibGUoKSk7CisgICAgICAgIGRvdWJsZSB4
ID0gMCwgeSA9IDA7CisgICAgICAgIGludCBuciA9IHRyeVBhcnNlTnVtYmVyTGlzdCh2YWx1ZSwg
eCwgeSk7CisgICAgICAgIGlmIChuciA+IDApIHsKKyAgICAgICAgICAgIHNldEtlcm5lbFVuaXRM
ZW5ndGhYQmFzZVZhbHVlKHgpOworICAgICAgICAgICAgaWYgKG5yID09IDEpCisgICAgICAgICAg
ICAgICAgc2V0S2VybmVsVW5pdExlbmd0aFlCYXNlVmFsdWUoeCk7CisgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgc2V0S2VybmVsVW5pdExlbmd0aFlCYXNlVmFsdWUoeSk7CisgICAg
ICAgIH0KICAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6bGlnaHRpbmdf
Y29sb3JBdHRyKQogICAgICAgICBzZXRMaWdodGluZ0NvbG9yQmFzZVZhbHVlKG5ldyBTVkdDb2xv
cih2YWx1ZSkpOwogICAgIGVsc2UKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFVHVyYnVs
ZW5jZUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFVHVy
YnVsZW5jZUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNjgzOCkKKysrIFdlYkNvcmUva3N2ZzIvc3Zn
L1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3
IEBACiAKICNpbmNsdWRlICJrc3ZnLmgiCiAjaW5jbHVkZSAiU1ZHSGVscGVyLmgiCisjaW5jbHVk
ZSAiU1ZHUGFyc2VyVXRpbHMuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZS5oIgogI2luY2x1
ZGUgIlNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaCIKIApAQCAtNjIsMjggKzYzLDI4IEBAIEFOSU1B
VEVEX1BST1BFUlRZX0RFRklOSVRJT05TKFNWR0ZFVHVyYnUKIHZvaWQgU1ZHRkVUdXJidWxlbmNl
RWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlICphdHRyKQogewog
ICAgIGNvbnN0IFN0cmluZyYgdmFsdWUgPSBhdHRyLT52YWx1ZSgpOwotICAgIGlmIChhdHRyLT5u
YW1lKCkgPT0gU1ZHTmFtZXM6OnR5cGVBdHRyKQotICAgIHsKKyAgICBpZiAoYXR0ci0+bmFtZSgp
ID09IFNWR05hbWVzOjp0eXBlQXR0cikgewogICAgICAgICBpZih2YWx1ZSA9PSAiZnJhY3RhbE5v
aXNlIikKICAgICAgICAgICAgIHNldFR5cGVCYXNlVmFsdWUoU1ZHX1RVUkJVTEVOQ0VfVFlQRV9G
UkFDVEFMTk9JU0UpOwogICAgICAgICBlbHNlIGlmKHZhbHVlID09ICJ0dXJidWxlbmNlIikKICAg
ICAgICAgICAgIHNldFR5cGVCYXNlVmFsdWUoU1ZHX1RVUkJVTEVOQ0VfVFlQRV9UVVJCVUxFTkNF
KTsKICAgICB9Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpzdGl0Y2hU
aWxlc0F0dHIpCi0gICAgeworICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6
c3RpdGNoVGlsZXNBdHRyKSB7CiAgICAgICAgIGlmKHZhbHVlID09ICJzdGl0Y2giKQogICAgICAg
ICAgICAgc2V0U3RpdGNoVGlsZXNCYXNlVmFsdWUoU1ZHX1NUSVRDSFRZUEVfU1RJVENIKTsKICAg
ICAgICAgZWxzZSBpZih2YWx1ZSA9PSAibm9zdGl0Y2giKQogICAgICAgICAgICAgc2V0U3RpdGNo
VGlsZXNCYXNlVmFsdWUoU1ZHX1NUSVRDSFRZUEVfTk9TVElUQ0gpOwogICAgIH0KLSAgICBlbHNl
IGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OmJhc2VGcmVxdWVuY3lBdHRyKQotICAgIHsK
LSAgICAgICAgVmVjdG9yPFN0cmluZz4gbnVtYmVycyA9IHZhbHVlLnNwbGl0KCcgJyk7Ci0gICAg
ICAgIHNldEJhc2VGcmVxdWVuY3lYQmFzZVZhbHVlKG51bWJlcnNbMF0udG9Eb3VibGUoKSk7Ci0g
ICAgICAgIGlmKG51bWJlcnMuc2l6ZSgpID09IDEpCi0gICAgICAgICAgICBzZXRCYXNlRnJlcXVl
bmN5WUJhc2VWYWx1ZShudW1iZXJzWzBdLnRvRG91YmxlKCkpOwotICAgICAgICBlbHNlCi0gICAg
ICAgICAgICBzZXRCYXNlRnJlcXVlbmN5WUJhc2VWYWx1ZShudW1iZXJzWzFdLnRvRG91YmxlKCkp
OworICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6YmFzZUZyZXF1ZW5jeUF0
dHIpIHsKKyAgICAgICAgZG91YmxlIHggPSAwLCB5ID0gMDsKKyAgICAgICAgaW50IG5yID0gdHJ5
UGFyc2VOdW1iZXJMaXN0KHZhbHVlLCB4LCB5KTsKKyAgICAgICAgaWYgKG5yID4gMCkgeworICAg
ICAgICAgICAgc2V0QmFzZUZyZXF1ZW5jeVhCYXNlVmFsdWUoeCk7CisgICAgICAgICAgICBpZiAo
bnIgPT0gMSkKKyAgICAgICAgICAgICAgICBzZXRCYXNlRnJlcXVlbmN5WUJhc2VWYWx1ZSh4KTsK
KyAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICBzZXRCYXNlRnJlcXVlbmN5WUJhc2VW
YWx1ZSh5KTsKKyAgICAgICAgfQogICAgIH0KICAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0g
U1ZHTmFtZXM6OnNlZWRBdHRyKQogICAgICAgICBzZXRTZWVkQmFzZVZhbHVlKHZhbHVlLnRvRG91
YmxlKCkpOwpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCShyZXZpc2lv
biAxNjgzOCkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJh
dGlvLmgiCiAjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlN0cmluZ0ltcGwu
aCIKLSNpbmNsdWRlICJzdmdwYXRocGFyc2VyLmgiCisjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbHMu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MSwzMCArNTEsMjEgQEAgQU5JTUFURURf
UFJPUEVSVFlfREVGSU5JVElPTlNfV0lUSF9DT05URQogdm9pZCBTVkdGaXRUb1ZpZXdCb3g6OnBh
cnNlVmlld0JveChjb25zdCBTdHJpbmcmIHN0cikKIHsKICAgICBkb3VibGUgeCA9IDAsIHkgPSAw
LCB3ID0gMCwgaCA9IDA7Ci0gICAgRGVwcmVjYXRlZFN0cmluZyB2aWV3Ym94ID0gc3RyLmRlcHJl
Y2F0ZWRTdHJpbmcoKTsKLSAgICBjb25zdCBjaGFyICpwID0gdmlld2JveC5sYXRpbjEoKTsKLSAg
ICBjb25zdCBjaGFyICplbmQgPSBwICsgdmlld2JveC5sZW5ndGgoKTsKLSAgICBjb25zdCBjaGFy
ICpjID0gcDsKLSAgICBwID0gcGFyc2VDb29yZChjLCB4KTsKLSAgICBpZiAocCA9PSBjKQorICAg
IFN0cmluZyB2aWV3Qm94ID0gc3RyOworICAgIGNvbnN0IFVDaGFyKiBwID0gcmVpbnRlcnByZXRf
Y2FzdDxjb25zdCBVQ2hhcio+KHZpZXdCb3guY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24o
KSk7CisgICAgaWYgKCF0cnlQYXJzZUNvb3JkKHAsIHgpKQogICAgICAgICBnb3RvIGJhaWxfb3V0
OwogCi0gICAgYyA9IHA7Ci0gICAgcCA9IHBhcnNlQ29vcmQoYywgeSk7Ci0gICAgaWYgKHAgPT0g
YykKKyAgICBpZiAoIXRyeVBhcnNlQ29vcmQocCwgeSkpCiAgICAgICAgIGdvdG8gYmFpbF9vdXQ7
CiAKLSAgICBjID0gcDsKLSAgICBwID0gcGFyc2VDb29yZChjLCB3KTsKLSAgICBpZih3IDwgMC4w
IHx8IHAgPT0gYykgLy8gY2hlY2sgdGhhdCB3aWR0aCBpcyBwb3NpdGl2ZQorICAgIGlmICghdHJ5
UGFyc2VDb29yZChwLCB3KSB8fCB3IDwgMC4wKSAvLyBjaGVjayB0aGF0IHdpZHRoIGlzIHBvc2l0
aXZlCiAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CiAKLSAgICBjID0gcDsKLSAgICBwID0gcGFyc2VD
b29yZChjLCBoKTsKLSAgICBpZiAoaCA8IDAuMCB8fCBwID09IGMpIC8vIGNoZWNrIHRoYXQgaGVp
Z2h0IGlzIHBvc2l0aXZlCisgICAgaWYgKCF0cnlQYXJzZUNvb3JkKHAsIGgpIHx8IGggPCAwLjAp
IC8vIGNoZWNrIHRoYXQgaGVpZ2h0IGlzIHBvc2l0aXZlCiAgICAgICAgIGdvdG8gYmFpbF9vdXQ7
CiAgICAgCi0gICAgaWYgKHAgPCBlbmQpIC8vIG5vdGhpbmcgc2hvdWxkIGNvbWUgYWZ0ZXIgdGhl
IGxhc3QsIGZvdXJ0aCBudW1iZXIKKyAgICBpZiAoKnApIC8vIG5vdGhpbmcgc2hvdWxkIGNvbWUg
YWZ0ZXIgdGhlIGxhc3QsIGZvdXJ0aCBudW1iZXIKICAgICAgICAgZ290byBiYWlsX291dDsKIAog
ICAgIHNldFZpZXdCb3hCYXNlVmFsdWUoRmxvYXRSZWN0KHgsIHksIHcsIGgpKTsKSW5kZXg6IFdl
YkNvcmUva3N2ZzIvc3ZnL1NWR0hlbHBlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3Zn
Mi9zdmcvU1ZHSGVscGVyLmNwcAkocmV2aXNpb24gMTY4MzgpCisrKyBXZWJDb3JlL2tzdmcyL3N2
Zy9TVkdIZWxwZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NywxOSArNzcsNiBAQCBmbG9hdCBT
VkdIZWxwZXI6OlBlcmNlbnRhZ2VPZlZpZXdwb3J0KGZsCiAgICAgcmV0dXJuIDAuMDsKIH0KIAot
dm9pZCBTVkdIZWxwZXI6OnBhcnNlU2VwYXJhdGVkTGlzdChTVkdTdHJpbmdMaXN0ICpsaXN0LCBj
b25zdCBTdHJpbmcmIGRhdGEsIFVDaGFyIGRlbGltaXRlcikKLXsKLSAgICAvLyBUT0RPIDogbW9y
ZSBlcnJvciBjaGVja2luZy9yZXBvcnRpbmcKLSAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKLSAg
ICBsaXN0LT5jbGVhcihlYyk7Ci0KLSAgICBWZWN0b3I8U3RyaW5nPiBzdWJzdHJpbmdzID0gU3Ry
aW5nKGRhdGEpLnNwbGl0KGRlbGltaXRlcik7Ci0gICAgCi0gICAgVmVjdG9yPFN0cmluZz46OmNv
bnN0X2l0ZXJhdG9yIGVuZCA9IHN1YnN0cmluZ3MuZW5kKCk7Ci0gICAgZm9yIChWZWN0b3I8U3Ry
aW5nPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBzdWJzdHJpbmdzLmJlZ2luKCk7IGl0ICE9IGVuZDsg
KytpdCkKLSAgICAgICAgbGlzdC0+YXBwZW5kSXRlbSgqaXQsIGVjKTsKLX0KLQogfQogCiAvLyB2
aW06dHM9NDpub2V0CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdIZWxwZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdIZWxwZXIuaAkocmV2aXNpb24gMTY4MzgpCisr
KyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdIZWxwZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsOCAr
NDIsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgU1ZHSGVscGVyIHsKICAgICBw
dWJsaWM6CiAgICAgICAgIHN0YXRpYyBmbG9hdCBQZXJjZW50YWdlT2ZWaWV3cG9ydChmbG9hdCB2
YWx1ZSwgY29uc3QgU1ZHRWxlbWVudCAqdmlld3BvcnRFbGVtZW50LCBMZW5ndGhNb2RlIG1vZGUp
OwotCi0gICAgICAgIHN0YXRpYyB2b2lkIHBhcnNlU2VwYXJhdGVkTGlzdChTVkdTdHJpbmdMaXN0
ICpsaXN0LCBjb25zdCBTdHJpbmcgJmRhdGEsIFVDaGFyIGRlbGltaXRlciA9ICcsJyk7CiAgICAg
fTsKIAogICAgIC8vIExhenkgY3JlYXRpb24sIHRlbXBsYXRlLWJhc2VkCkluZGV4OiBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdMZW5ndGguY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3Zn
L1NWR0xlbmd0aC5jcHAJKHJldmlzaW9uIDE2ODM4KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZH
TGVuZ3RoLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsOSArMjgsOSBAQAogI2luY2x1ZGUgIlJl
bmRlclBhdGguaCIKICNpbmNsdWRlICJTVkdFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHTGVuZ3Ro
LmgiCisjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbHMuaCIKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50
LmgiCiAjaW5jbHVkZSAia3N2Zy5oIgotI2luY2x1ZGUgInN2Z3BhdGhwYXJzZXIuaCIKIAogI2lu
Y2x1ZGUgPG1hdGguaD4KIApAQCAtMTA2LDQ1ICsxMDYsNTcgQEAgZmxvYXQgU1ZHTGVuZ3RoOjp2
YWx1ZUluU3BlY2lmaWVkVW5pdHMoKQogCiB2b2lkIFNWR0xlbmd0aDo6c2V0VmFsdWVBc1N0cmlu
Zyhjb25zdCBTdHJpbmcmIHMpCiB7Ci0gICAgaWYocy5pc0VtcHR5KCkpCisgICAgaWYgKHMuaXNF
bXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBEZXByZWNhdGVkU3RyaW5nIHZhbHVlQXNR
U3RyaW5nID0gcy5kZXByZWNhdGVkU3RyaW5nKCk7Ci0KICAgICBkb3VibGUgY29udmVydGVkTnVt
YmVyID0gMDsKLSAgICBjb25zdCBjaGFyICpzdGFydCA9IHZhbHVlQXNRU3RyaW5nLmxhdGluMSgp
OwotICAgIGNvbnN0IGNoYXIgKmVuZCA9IHBhcnNlQ29vcmQoc3RhcnQsIGNvbnZlcnRlZE51bWJl
cik7Ci0gICAgbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgPSBjb252ZXJ0ZWROdW1iZXI7Ci0KLSAg
ICB1bnNpZ25lZCBpbnQgZGlmZiA9IGVuZCAtIHN0YXJ0OwotICAgIGlmIChkaWZmIDwgdmFsdWVB
c1FTdHJpbmcubGVuZ3RoKCkpIHsKLSAgICAgICAgaWYgKHMuZW5kc1dpdGgoVW5pdFRleHRbU1ZH
X0xFTkdUSFRZUEVfUFhdKSkKLSAgICAgICAgICAgIG1fdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQ
RV9QWDsKLSAgICAgICAgZWxzZSBpZiAocy5lbmRzV2l0aChVbml0VGV4dFtTVkdfTEVOR1RIVFlQ
RV9DTV0pKQotICAgICAgICAgICAgbV91bml0VHlwZSA9IFNWR19MRU5HVEhUWVBFX0NNOwotICAg
ICAgICBlbHNlIGlmIChzLmVuZHNXaXRoKFVuaXRUZXh0W1NWR19MRU5HVEhUWVBFX1BDXSkpCi0g
ICAgICAgICAgICBtX3VuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfUEM7Ci0gICAgICAgIGVsc2Ug
aWYgKHMuZW5kc1dpdGgoVW5pdFRleHRbU1ZHX0xFTkdUSFRZUEVfTU1dKSkKLSAgICAgICAgICAg
IG1fdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9NTTsKLSAgICAgICAgZWxzZSBpZiAocy5lbmRz
V2l0aChVbml0VGV4dFtTVkdfTEVOR1RIVFlQRV9JTl0pKQotICAgICAgICAgICAgbV91bml0VHlw
ZSA9IFNWR19MRU5HVEhUWVBFX0lOOwotICAgICAgICBlbHNlIGlmIChzLmVuZHNXaXRoKFVuaXRU
ZXh0W1NWR19MRU5HVEhUWVBFX1BUXSkpCi0gICAgICAgICAgICBtX3VuaXRUeXBlID0gU1ZHX0xF
TkdUSFRZUEVfUFQ7Ci0gICAgICAgICBlbHNlIGlmIChzLmVuZHNXaXRoKFVuaXRUZXh0W1NWR19M
RU5HVEhUWVBFX1BFUkNFTlRBR0VdKSkKLSAgICAgICAgICAgIG1fdW5pdFR5cGUgPSBTVkdfTEVO
R1RIVFlQRV9QRVJDRU5UQUdFOwotICAgICAgICBlbHNlIGlmIChzLmVuZHNXaXRoKFVuaXRUZXh0
W1NWR19MRU5HVEhUWVBFX0VNU10pKQotICAgICAgICAgICAgbV91bml0VHlwZSA9IFNWR19MRU5H
VEhUWVBFX0VNUzsKLSAgICAgICAgZWxzZSBpZiAocy5lbmRzV2l0aChVbml0VGV4dFtTVkdfTEVO
R1RIVFlQRV9FWFNdKSkKLSAgICAgICAgICAgIG1fdW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9F
WFM7Ci0gICAgICAgIGVsc2UgaWYgKHMuaXNFbXB0eSgpKQotICAgICAgICAgICAgbV91bml0VHlw
ZSA9IFNWR19MRU5HVEhUWVBFX05VTUJFUjsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbV91
bml0VHlwZSA9IFNWR19MRU5HVEhUWVBFX1VOS05PV047CisgICAgU1ZHTGVuZ3RoVHlwZSB1bml0
VHlwZTsKKyAgICBTdHJpbmcgbGVuZ3RoID0gczsKKyAgICBjb25zdCBVQ2hhciogcHRyID0gcmVp
bnRlcnByZXRfY2FzdDxjb25zdCBVQ2hhcio+KGxlbmd0aC5jaGFyYWN0ZXJzV2l0aE51bGxUZXJt
aW5hdGlvbigpKTsKKyAgICBpZiAodHJ5UGFyc2VDb29yZChwdHIsIGNvbnZlcnRlZE51bWJlcikp
IHsKKyAgICAgICAgaWYgKCF0cnlQYXJzZUxlbmd0aFVuaXQocHRyLCB1bml0VHlwZSkpCisgICAg
ICAgICAgICB1bml0VHlwZSA9IFNWR19MRU5HVEhUWVBFX1BYOworICAgICAgICBpZiAoISpwdHIp
IHsKKyAgICAgICAgICAgIG1fdmFsdWVJblNwZWNpZmllZFVuaXRzID0gY29udmVydGVkTnVtYmVy
OworICAgICAgICAgICAgbV91bml0VHlwZSA9IHVuaXRUeXBlOworICAgICAgICAgICAgdXBkYXRl
VmFsdWUoKTsKKyAgICAgICAgfQogICAgIH0KK30KKworYm9vbCBTVkdMZW5ndGg6OnRyeVBhcnNl
TGVuZ3RoVW5pdChjb25zdCBVQ2hhciomIHB0ciwgU1ZHTGVuZ3RoVHlwZSAmdW5pdFR5cGUpCit7
CisgICAgaWYgKCEqcHRyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFwdHJbMV0p
IHsKKyAgICAgICAgaWYgKCpwdHIgPT0gJyUnKSB7CisgICAgICAgICAgICAgdW5pdFR5cGUgPSBT
VkdfTEVOR1RIVFlQRV9QRVJDRU5UQUdFOworICAgICAgICAgICAgIHB0cisrOworICAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9IGVsc2UgaWYgKCpwdHIgPT0gJ3AnICYmIHB0clsxXSA9PSAneCcp
CisgICAgICAgIHVuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfUFg7CisgICAgZWxzZSBpZiAoKnB0
ciA9PSAnYycgJiYgcHRyWzFdID09ICdtJykKKyAgICAgICAgdW5pdFR5cGUgPSBTVkdfTEVOR1RI
VFlQRV9DTTsKKyAgICBlbHNlIGlmICgqcHRyID09ICdwJyAmJiBwdHJbMV0gPT0gJ2MnKQorICAg
ICAgICB1bml0VHlwZSA9IFNWR19MRU5HVEhUWVBFX1BDOworICAgIGVsc2UgaWYgKCpwdHIgPT0g
J20nICYmIHB0clsxXSA9PSAnbScpCisgICAgICAgIHVuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVf
TU07CisgICAgZWxzZSBpZiAoKnB0ciA9PSAnaScgJiYgcHRyWzFdID09ICduJykKKyAgICAgICAg
dW5pdFR5cGUgPSBTVkdfTEVOR1RIVFlQRV9JTjsKKyAgICBlbHNlIGlmICgqcHRyID09ICdwJyAm
JiBwdHJbMV0gPT0gJ3QnKQorICAgICAgICB1bml0VHlwZSA9IFNWR19MRU5HVEhUWVBFX1BUOwor
ICAgIGVsc2UgaWYgKCpwdHIgPT0gJ2UnICYmIHB0clsxXSA9PSAnbScpCisgICAgICAgIHVuaXRU
eXBlID0gU1ZHX0xFTkdUSFRZUEVfRU1TOworICAgIGVsc2UgaWYgKCpwdHIgPT0gJ2UnICYmIHB0
clsxXSA9PSAneCcpCisgICAgICAgIHVuaXRUeXBlID0gU1ZHX0xFTkdUSFRZUEVfRVhTOwogICAg
IGVsc2UKLSAgICAgICAgbV91bml0VHlwZSA9IFNWR19MRU5HVEhUWVBFX1BYOworICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKLSAgICB1cGRhdGVWYWx1ZSgpOworICAgIHB0ciArPSAyOworICAgIHJl
dHVybiB0cnVlOwogfQogCiBTdHJpbmcgU1ZHTGVuZ3RoOjp2YWx1ZUFzU3RyaW5nKCkgY29uc3QK
QEAgLTI0MCw3ICsyNTIsNyBAQCB2b2lkIFNWR0xlbmd0aDo6dXBkYXRlVmFsdWUoYm9vbCBub3Rp
ZnkpCiAKIGJvb2wgU1ZHTGVuZ3RoOjp1cGRhdGVWYWx1ZUluU3BlY2lmaWVkVW5pdHMoYm9vbCBu
b3RpZnkpCiB7Ci0gICAgaWYobV91bml0VHlwZSA9PSBTVkdfTEVOR1RIVFlQRV9VTktOT1dOKQor
ICAgIGlmIChtX3VuaXRUeXBlID09IFNWR19MRU5HVEhUWVBFX1VOS05PV04pCiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIHN3aXRjaChtX3VuaXRUeXBlKQpJbmRleDogV2ViQ29yZS9rc3Zn
Mi9zdmcvU1ZHTGVuZ3RoLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHTGVu
Z3RoLmgJKHJldmlzaW9uIDE2ODM4KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHTGVuZ3RoLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTc0LDYgKzc0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
ICAgICBjb25zdCBTVkdTdHlsZWRFbGVtZW50KiBjb250ZXh0KCkgY29uc3Q7CiAgICAgICAgIHZv
aWQgc2V0Q29udGV4dChjb25zdCBTVkdTdHlsZWRFbGVtZW50ICpjb250ZXh0KTsKIAorICAgICAg
ICBzdGF0aWMgYm9vbCB0cnlQYXJzZUxlbmd0aFVuaXQoY29uc3QgVUNoYXIqJiBwdHIsIFNWR0xl
bmd0aFR5cGUgJnVuaXRUeXBlKTsKKwogICAgIHByaXZhdGU6CiAgICAgICAgIGJvb2wgdXBkYXRl
VmFsdWVJblNwZWNpZmllZFVuaXRzKGJvb2wgbm90aWZ5ID0gdHJ1ZSk7CiAgICAgICAgIHZvaWQg
dXBkYXRlVmFsdWUoYm9vbCBub3RpZnkgPSB0cnVlKTsKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3Zn
L1NWR0xlbmd0aExpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0xl
bmd0aExpc3QuY3BwCShyZXZpc2lvbiAxNjgzOCkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0xl
bmd0aExpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAi
U1ZHTWF0cml4LmgiCiAjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0xl
bmd0aExpc3QuaCIKKyNpbmNsdWRlICJTVkdQYXJzZXJVdGlscy5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTQyLDExICs0MywyMiBAQCB2b2lkIFNWR0xlbmd0aExpc3Q6OnBhcnNlKGNv
bnN0IFN0cmluZyYgCiB7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAKLSAgICBWZWN0b3I8
U3RyaW5nPiBsZW5ndGhzID0gdmFsdWUuc3BsaXQoJyAnKTsKLSAgICBWZWN0b3I8U3RyaW5nPjo6
Y29uc3RfaXRlcmF0b3IgZW5kID0gbGVuZ3Rocy5lbmQoKTsKLSAgICBmb3IgKFZlY3RvcjxTdHJp
bmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGxlbmd0aHMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0
KSB7CisgICAgZG91YmxlIHZhbCA9IDA7CisgICAgU1ZHTGVuZ3RoOjpTVkdMZW5ndGhUeXBlIHR5
cGU7CisgICAKKyAgICBTdHJpbmcgbGVuZ3RocyA9IHZhbHVlOyAKKyAgICBjb25zdCBVQ2hhciog
Y3Vyckxlbmd0aCA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPihsZW5ndGhzLmNoYXJh
Y3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9uKCkpOworICAgIHdoaWxlICgqY3Vyckxlbmd0aCkgewor
ICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXNPckRlbGltaXRlcihjdXJyTGVuZ3RoKTsKKyAgICAg
ICAgaWYgKCF0cnlQYXJzZUNvb3JkKGN1cnJMZW5ndGgsIHZhbCkpCisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIGlmICghU1ZHTGVuZ3RoOjp0cnlQYXJzZUxlbmd0aFVuaXQoY3Vyckxlbmd0
aCwgdHlwZSkpIHsKKyAgICAgICAgICAgIGlmICgqY3Vyckxlbmd0aCAmJiAqY3Vyckxlbmd0aCAh
PSAnICcgJiYgKmN1cnJMZW5ndGggIT0gJywnKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgIHR5cGUgPSBTVkdMZW5ndGg6OlNWR19MRU5HVEhUWVBFX1BYOworICAgICAgICB9
CiAgICAgICAgIFNWR0xlbmd0aCogbGVuZ3RoID0gbmV3IFNWR0xlbmd0aChjb250ZXh0LCBtb2Rl
KTsKLSAgICAgICAgbGVuZ3RoLT5zZXRWYWx1ZUFzU3RyaW5nKCppdCk7CisgICAgICAgIGxlbmd0
aC0+bmV3VmFsdWVTcGVjaWZpZWRVbml0cyh0eXBlLCB2YWwpOwogICAgICAgICBhcHBlbmRJdGVt
KGxlbmd0aCwgZWMpOwogICAgIH0KIH0KSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR051bWJl
ckxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR051bWJlckxpc3Qu
Y3BwCShyZXZpc2lvbiAxNjgzOCkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR051bWJlckxpc3Qu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw4ICsyNCw5IEBACiAKICNpZmRlZiBTVkdfU1VQUE9S
VAogI2luY2x1ZGUgIlNWR01hdHJpeC5oIgotI2luY2x1ZGUgIlNWR1NWR0VsZW1lbnQuaCIKICNp
bmNsdWRlICJTVkdOdW1iZXJMaXN0LmgiCisjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbHMuaCIKKyNp
bmNsdWRlICJTVkdTVkdFbGVtZW50LmgiCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBA
IC00Miw5ICs0MywxNiBAQCB2b2lkIFNWR051bWJlckxpc3Q6OnBhcnNlKGNvbnN0IFN0cmluZyYg
CiB7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAKLSAgICBWZWN0b3I8U3RyaW5nPiBudW1i
ZXJzID0gdmFsdWUuc3BsaXQoJyAnKTsKLSAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8
IG51bWJlcnMuc2l6ZSgpOyBpKyspCi0gICAgICAgIGFwcGVuZEl0ZW0obnVtYmVyc1tpXS50b0Rv
dWJsZSgpLCBlYyk7CisgICAgZG91YmxlIG51bWJlciA9IDA7CisgICAKKyAgICBTdHJpbmcgbnVt
YmVycyA9IHZhbHVlOyAKKyAgICBjb25zdCBVQ2hhciogY3Vyck51bWJlciA9IHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgVUNoYXIqPihudW1iZXJzLmNoYXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9u
KCkpOworICAgIHdoaWxlICgqY3Vyck51bWJlcikgeworICAgICAgICBza2lwT3B0aW9uYWxTcGFj
ZXNPckRlbGltaXRlcihjdXJyTnVtYmVyKTsKKyAgICAgICAgaWYgKCF0cnlQYXJzZUNvb3JkKGN1
cnJOdW1iZXIsIG51bWJlcikpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGFwcGVuZEl0
ZW0obnVtYmVyLCBlYyk7CisgICAgfQogfQogCiAvLyB2aW06dHM9NDpub2V0CkluZGV4OiBXZWJD
b3JlL2tzdmcyL3N2Zy9TVkdOdW1iZXJMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3Zn
Mi9zdmcvU1ZHTnVtYmVyTGlzdC5oCShyZXZpc2lvbiAxNjgzOCkKKysrIFdlYkNvcmUva3N2ZzIv
c3ZnL1NWR051bWJlckxpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZQogewotICAgIGNsYXNzIERlcHJlY2F0ZWRTdHJpbmc7CisgICAgY2xh
c3MgU3RyaW5nOwogCiAgICAgY2xhc3MgU1ZHTnVtYmVyTGlzdCA6IHB1YmxpYyBTVkdMaXN0PGRv
dWJsZT4KICAgICB7CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXJzZXJVdGlscy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGFyc2VyVXRpbHMuY3BwCShyZXZp
c2lvbiAxNjgzOCkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhcnNlclV0aWxzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAKIC8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBL
REUgcHJvamVjdAogICAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDAzIFRoZSBLYXJib24gRGV2ZWxv
cGVycwogICAgICAgICAgICAgICAgICAyMDA2ICAgICAgIEFsZXhhbmRlciBLZWxsZXR0IDxseXBh
bm92QGtkZS5vcmc+CisgICAgICAgICAgICAgICAgIDIwMDYgICAgICAgUm9iIEJ1aXMgPGJ1aXNA
a2RlLm9yZz4KIAogICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgogICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTIwLDQyICsyMSwxMyBAQAogCiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaWZkZWYgU1ZHX1NVUFBPUlQKLSNpbmNsdWRlICJzdmdwYXRocGFyc2Vy
LmgiCi0jaW5jbHVkZSAiRGVwcmVjYXRlZFN0cmluZy5oIgorI2luY2x1ZGUgIlNWR1BhcnNlclV0
aWxzLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDxtYXRoLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotLy8gU1ZHIGFsbG93cyBzZXZlcmFsIGRpZmZlcmVudCB3
aGl0ZXNwYWNlIGNoYXJhY3RlcnM6Ci0vLyBodHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvcGF0aHMu
aHRtbCNQYXRoRGF0YUJORgotc3RhdGljIGlubGluZSBib29sIGlzV2hpdGVzcGFjZShjaGFyIGMp
IHsKLSAgICByZXR1cm4gKGMgPT0gJyAnIHx8IGMgPT0gJ1x0JyB8fCBjID09ICdcbicgfHwgYyA9
PSAnXHInKTsKLX0KLQotLy8gQWxsIHN0cmluZ3MgYXJlIGFzc3VtZWQgdG8gYmUgbnVsbCB0ZXJt
aW5hdGVkCi1zdGF0aWMgaW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU3BhY2VzKGNvbnN0IGNoYXIq
JiBwdHIpIC8vIHRydWUgbWVhbnMgImZvdW5kIHNwYWNlIgotewotICAgIGlmICghaXNXaGl0ZXNw
YWNlKCpwdHIpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgd2hpbGUgKGlzV2hpdGVzcGFj
ZSgqcHRyKSkKLSAgICAgICAgcHRyKys7Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLXN0YXRpYyBp
bmxpbmUgYm9vbCBza2lwT3B0aW9uYWxTcGFjZXNPckNvbW1hKGNvbnN0IGNoYXIqJiBwdHIpCi17
Ci0gICAgaWYgKCFpc1doaXRlc3BhY2UoKnB0cikgJiYgKnB0ciAhPSAnLCcpCi0gICAgICAgIHJl
dHVybiBmYWxzZTsKLSAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsKLSAgICBpZiAoKnB0ciA9
PSAnLCcpIHsKLSAgICAgICAgcHRyKys7Ci0gICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIp
OwotICAgIH0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotCi1jb25zdCBjaGFyKiBwYXJzZUNvb3Jk
KGNvbnN0IGNoYXIqIHB0ciwgZG91YmxlICZudW1iZXIpCitjb25zdCBVQ2hhciogcGFyc2VDb29y
ZChjb25zdCBVQ2hhciogcHRyLCBkb3VibGUgJm51bWJlcikKIHsKICAgICBpbnQgaW50ZWdlciwg
ZXhwb25lbnQ7CiAgICAgZG91YmxlIGRlY2ltYWwsIGZyYWM7CkBAIC03Niw1NSArNDgsNTkgQEAg
Y29uc3QgY2hhciogcGFyc2VDb29yZChjb25zdCBjaGFyKiBwdHIsIAogICAgICAgICBzaWduID0g
LTE7CiAgICAgfQogICAgIC8vIHJlYWQgdGhlIGludGVnZXIgcGFydAotICAgIHdoaWxlKCpwdHIg
IT0gJ1wwJyAmJiAqcHRyID49ICcwJyAmJiAqcHRyIDw9ICc5JykKKyAgICB3aGlsZSAoKnB0ciAh
PSAnXDAnICYmICpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzknKQogICAgICAgICBpbnRlZ2VyID0g
KGludGVnZXIgKiAxMCkgKyAqKHB0cisrKSAtICcwJzsKIAogICAgIGlmICgqcHRyID09ICcuJykg
eyAvLyByZWFkIHRoZSBkZWNpbWFscwogICAgICAgICBwdHIrKzsKLSAgICAgICAgd2hpbGUoKnB0
ciAhPSAnXDAnICYmICpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzknKQorICAgICAgICB3aGlsZSAo
KnB0ciAhPSAnXDAnICYmICpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzknKQogICAgICAgICAgICAg
ZGVjaW1hbCArPSAoKihwdHIrKykgLSAnMCcpICogKGZyYWMgKj0gMC4xKTsKICAgICB9CiAKICAg
ICBpZiAoKnB0ciA9PSAnZScgfHwgKnB0ciA9PSAnRScpIHsgLy8gcmVhZCB0aGUgZXhwb25lbnQg
cGFydAotICAgICAgICBwdHIrKzsKIAogICAgICAgICAvLyByZWFkIHRoZSBzaWduIG9mIHRoZSBl
eHBvbmVudAotICAgICAgICBpZiAoKnB0ciA9PSAnKycpCisgICAgICAgIGlmIChwdHJbMV0gPT0g
JysnKQogICAgICAgICAgICAgcHRyKys7Ci0gICAgICAgIGVsc2UgaWYgKCpwdHIgPT0gJy0nKSB7
CisgICAgICAgIGVsc2UgaWYgKHB0clsxXSA9PSAnLScpIHsKICAgICAgICAgICAgIHB0cisrOwog
ICAgICAgICAgICAgZXhwc2lnbiA9IC0xOwogICAgICAgICB9CiAKICAgICAgICAgZXhwb25lbnQg
PSAwOwotICAgICAgICB3aGlsZSgqcHRyICE9ICdcMCcgJiYgKnB0ciA+PSAnMCcgJiYgKnB0ciA8
PSAnOScpIHsKLSAgICAgICAgICAgIGV4cG9uZW50ICo9IDEwOwotICAgICAgICAgICAgZXhwb25l
bnQgKz0gKnB0ciAtICcwJzsKKyAgICAgICAgaWYgKHB0clsxXSAhPSAnXDAnICYmIHB0clsxXSA+
PSAnMCcgJiYgcHRyWzFdIDw9ICc5JykgewogICAgICAgICAgICAgcHRyKys7CisgICAgICAgICAg
ICBkbyB7CisgICAgICAgICAgICAgICAgZXhwb25lbnQgKj0gMTA7CisgICAgICAgICAgICAgICAg
ZXhwb25lbnQgKz0gKnB0ciAtICcwJzsKKyAgICAgICAgICAgICAgICBwdHIrKzsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIHdoaWxlICgqcHRyICE9ICdcMCcgJiYgKnB0ciA+PSAnMCcgJiYg
KnB0ciA8PSAnOScpOwogICAgICAgICB9CiAgICAgfQogCiAgICAgbnVtYmVyID0gaW50ZWdlciAr
IGRlY2ltYWw7CiAgICAgbnVtYmVyICo9IHNpZ24gKiBwb3coMTAuMCwgZXhwc2lnbiAqIGV4cG9u
ZW50KTsKIAotICAgIHNraXBPcHRpb25hbFNwYWNlc09yQ29tbWEocHRyKTsKKyAgICBza2lwT3B0
aW9uYWxTcGFjZXNPckRlbGltaXRlcihwdHIpOwogCiAgICAgcmV0dXJuIHB0cjsKIH0KIAotdm9p
ZCBTVkdQb2x5UGFyc2VyOjpwYXJzZVBvaW50cyhjb25zdCBEZXByZWNhdGVkU3RyaW5nJiBzKSBj
b25zdAordm9pZCBTVkdQb2x5UGFyc2VyOjpwYXJzZVBvaW50cyhjb25zdCBTdHJpbmcmIHMpIGNv
bnN0CiB7CiAgICAgaWYgKHMuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47Ci0gICAgRGVwcmVj
YXRlZFN0cmluZyBwb2ludERhdGEgPSBzOwotICAgIGNvbnN0IGNoYXIqIGN1cnJTZWdtZW50ID0g
cG9pbnREYXRhLmxhdGluMSgpOwotICAgIGNvbnN0IGNoYXIqIGVvU3RyaW5nID0gcG9pbnREYXRh
LmxhdGluMSgpICsgcG9pbnREYXRhLmxlbmd0aCgpOworCisgICAgU3RyaW5nIHBvaW50cyA9IHM7
CisgICAgY29uc3QgVUNoYXIqIGN1cnJTZWdtZW50ID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBV
Q2hhcio+KHBvaW50cy5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigpKTsKKyAgICBjb25z
dCBVQ2hhciogZW9TdHJpbmcgPSBjdXJyU2VnbWVudCArIHBvaW50cy5sZW5ndGgoKTsKICAgICAK
ICAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyclNlZ21lbnQpOwogICAgIAogICAgIGludCBzZWdt
ZW50TnVtID0gMDsKICAgICB3aGlsZSAoY3VyclNlZ21lbnQgPCBlb1N0cmluZykgewotICAgICAg
ICBjb25zdCBjaGFyKiBwcmV2U2VnbWVudCA9IGN1cnJTZWdtZW50OworICAgICAgICBjb25zdCBV
Q2hhciogcHJldlNlZ21lbnQgPSBjdXJyU2VnbWVudDsKICAgICAgICAgZG91YmxlIHhQb3MgPSAw
OwogICAgICAgICBjdXJyU2VnbWVudCA9IHBhcnNlQ29vcmQoY3VyclNlZ21lbnQsIHhQb3MpOyAK
ICAgICAgICAgaWYgKGN1cnJTZWdtZW50ID09IHByZXZTZWdtZW50KQpAQCAtMTQwLDE0ICsxMTYs
MTQgQEAgdm9pZCBTVkdQb2x5UGFyc2VyOjpwYXJzZVBvaW50cyhjb25zdCBEZQogICAgIH0KIH0K
IAotdm9pZCBTVkdQYXRoUGFyc2VyOjpwYXJzZVNWRyhjb25zdCBEZXByZWNhdGVkU3RyaW5nJiBz
LCBib29sIHByb2Nlc3MpCit2b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZHKGNvbnN0IFN0cmlu
ZyYgcywgYm9vbCBwcm9jZXNzKQogewogICAgIGlmIChzLmlzRW1wdHkoKSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgRGVwcmVjYXRlZFN0cmluZyBkID0gczsKLSAgICBjb25zdCBjaGFyKiBwdHIg
PSBkLmxhdGluMSgpOwotICAgIGNvbnN0IGNoYXIqIGVuZCA9IGQubGF0aW4xKCkgKyBkLmxlbmd0
aCgpICsgMTsKKyAgICBTdHJpbmcgZGF0YSA9IHM7CisgICAgY29uc3QgVUNoYXIqIHB0ciA9IHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPihkYXRhLmNoYXJhY3RlcnNXaXRoTnVsbFRlcm1p
bmF0aW9uKCkpOworICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBwdHIgKyBkYXRhLmxlbmd0aCgpICsg
MTsKIAogICAgIGRvdWJsZSBjb250cmx4LCBjb250cmx5LCBjdXJ4LCBjdXJ5LCBzdWJwYXRoeCwg
c3VicGF0aHksIHRveCwgdG95LCB4MSwgeTEsIHgyLCB5MiwgeGMsIHljOwogICAgIGRvdWJsZSBw
eDEsIHB5MSwgcHgyLCBweTIsIHB4MywgcHkzOwpAQCAtMTU2LDcgKzEzMiw3IEBAIHZvaWQgU1ZH
UGF0aFBhcnNlcjo6cGFyc2VTVkcoY29uc3QgRGVwcmUKICAgICBjaGFyIGNvbW1hbmQgPSAqKHB0
cisrKSwgbGFzdENvbW1hbmQgPSAnICc7CiAKICAgICBzdWJwYXRoeCA9IHN1YnBhdGh5ID0gY3Vy
eCA9IGN1cnkgPSBjb250cmx4ID0gY29udHJseSA9IDAuMDsKLSAgICB3aGlsZShwdHIgPCBlbmQp
IHsKKyAgICB3aGlsZSAocHRyIDwgZW5kKSB7CiAgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhw
dHIpOyAvLyBza2lwIHNwYWNlcyBiZXR3ZWVuIGNvbW1hbmQgYW5kIGZpcnN0IGNvb3JkCiAKICAg
ICAgICAgYm9vbCByZWxhdGl2ZSA9IGZhbHNlOwpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZH
UGFyc2VyVXRpbHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXJzZXJV
dGlscy5oCShyZXZpc2lvbiAxNjgzOCkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhcnNlclV0
aWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKiBUaGlzIGZpbGUgaXMgcGFy
dCBvZiB0aGUgS0RFIHByb2plY3QKICAgIENvcHlyaWdodCAoQykgMjAwMiwgMjAwMyBUaGUgS2Fy
Ym9uIERldmVsb3BlcnMKKyAgICAgICAgICAgICAgICAgMjAwNiAgICAgICBSb2IgQnVpcyA8YnVp
c0BrZGUub3JnPgogCiAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTcsMjQgKzE4LDI2IEBACiAgICBCb3N0
b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KICovCiAKLSNpZm5kZWYgX19TVkdQQVRIUEFSU0VSX0hf
XwotI2RlZmluZSBfX1NWR1BBVEhQQVJTRVJfSF9fCisjaWZuZGVmIF9fU1ZHUEFSU0VSVVRJTFNf
SF9fCisjZGVmaW5lIF9fU1ZHUEFSU0VSVVRJTFNfSF9fCiAjaWZkZWYgU1ZHX1NVUFBPUlQKIAor
I2luY2x1ZGUgPFBsYXRmb3JtU3RyaW5nLmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlCiB7Ci0gICAg
Y2xhc3MgRGVwcmVjYXRlZFN0cmluZzsKKyAgICBjbGFzcyBTdHJpbmc7CiAKLSAgICBjb25zdCBj
aGFyICpwYXJzZUNvb3JkKGNvbnN0IGNoYXIgKnB0ciwgZG91YmxlICZudW1iZXIpOworICAgIGNv
bnN0IFVDaGFyKiBwYXJzZUNvb3JkKGNvbnN0IFVDaGFyKiBwdHIsIGRvdWJsZSYgbnVtYmVyKTsK
IAogICAgIGNsYXNzIFNWR1BvbHlQYXJzZXIKICAgICB7CiAgICAgcHVibGljOgogICAgICAgICB2
aXJ0dWFsIH5TVkdQb2x5UGFyc2VyKCkgeyB9Ci0gICAgICAgIHZvaWQgcGFyc2VQb2ludHMoIGNv
bnN0IERlcHJlY2F0ZWRTdHJpbmcgJnBvaW50cyApIGNvbnN0OworICAgICAgICB2b2lkIHBhcnNl
UG9pbnRzKGNvbnN0IFN0cmluZyYgcG9pbnRzKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAg
ICAgICAgdmlydHVhbCB2b2lkIHN2Z1BvbHlUbyggZG91YmxlIHgxLCBkb3VibGUgeTEsIGludCBu
ciApIGNvbnN0ID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN2Z1BvbHlUbyhkb3VibGUgeDEs
IGRvdWJsZSB5MSwgaW50IG5yKSBjb25zdCA9IDA7CiAgICAgfTsKIAogICAgIC8qKgpAQCAtNTIs
NyArNTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgIHsKICAgICBwdWJsaWM6CiAgICAgICAg
IHZpcnR1YWwgflNWR1BhdGhQYXJzZXIoKSB7IH0KLSAgICAgICAgdm9pZCBwYXJzZVNWRyggY29u
c3QgRGVwcmVjYXRlZFN0cmluZyAmZCwgYm9vbCBwcm9jZXNzID0gZmFsc2UgKTsKKyAgICAgICAg
dm9pZCBwYXJzZVNWRyggY29uc3QgU3RyaW5nICZkLCBib29sIHByb2Nlc3MgPSBmYWxzZSApOwog
CiAgICAgcHJvdGVjdGVkOgogICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnTW92ZVRvKCBkb3VibGUg
eDEsIGRvdWJsZSB5MSwgYm9vbCBjbG9zZWQsIGJvb2wgYWJzID0gdHJ1ZSApID0gMDsKQEAgLTY5
LDYgKzcyLDU3IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAgIHZvaWQgY2FsY3VsYXRlQXJj
KCBib29sIHJlbGF0aXZlLCBkb3VibGUgJmN1cngsIGRvdWJsZSAmY3VyeSwgZG91YmxlIGFuZ2xl
LCBkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSByMSwgZG91YmxlIHIyLCBib29sIGxhcmdlQXJj
RmxhZywgYm9vbCBzd2VlcEZsYWcgKTsKICAgICB9OwogCisgICAgLy8gU1ZHIGFsbG93cyBzZXZl
cmFsIGRpZmZlcmVudCB3aGl0ZXNwYWNlIGNoYXJhY3RlcnM6CisgICAgLy8gaHR0cDovL3d3dy53
My5vcmcvVFIvU1ZHL3BhdGhzLmh0bWwjUGF0aERhdGFCTkYKKyAgICBzdGF0aWMgaW5saW5lIGJv
b2wgaXNXaGl0ZXNwYWNlKGNvbnN0IFVDaGFyIGMpIHsKKyAgICAgICAgcmV0dXJuIChjID09ICcg
JyB8fCBjID09ICdcdCcgfHwgYyA9PSAnXG4nIHx8IGMgPT0gJ1xyJyk7CisgICAgfQorCisgICAg
Ly8gQWxsIHN0cmluZ3MgYXJlIGFzc3VtZWQgdG8gYmUgbnVsbCB0ZXJtaW5hdGVkCisgICAgc3Rh
dGljIGlubGluZSBib29sIHNraXBPcHRpb25hbFNwYWNlcyhjb25zdCBVQ2hhciomIHB0cikgLy8g
dHJ1ZSBtZWFucyAiZm91bmQgc3BhY2UiCit7CisgICAgICAgIGlmICghaXNXaGl0ZXNwYWNlKCpw
dHIpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB3aGlsZSAoaXNXaGl0ZXNw
YWNlKCpwdHIpKQorICAgICAgICAgICAgcHRyKys7CisgICAgICAgIHJldHVybiB0cnVlOworICAg
IH0KKworICAgIHN0YXRpYyBpbmxpbmUgYm9vbCBza2lwT3B0aW9uYWxTcGFjZXNPckRlbGltaXRl
cihjb25zdCBVQ2hhciomIHB0ciwgVUNoYXIgZGVsaW1pdGVyID0gJywnKQorICAgIHsKKyAgICAg
ICAgaWYgKCFpc1doaXRlc3BhY2UoKnB0cikgJiYgKnB0ciAhPSBkZWxpbWl0ZXIpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIpOworICAg
ICAgICBpZiAoKnB0ciA9PSBkZWxpbWl0ZXIpIHsKKyAgICAgICAgICAgIHB0cisrOworICAgICAg
ICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0cik7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorCisgICAgc3RhdGljIGlubGluZSBib29sIHRyeVBhcnNlQ29vcmQoY29u
c3QgVUNoYXIqJiBwdHIsIGRvdWJsZSYgYykKKyAgICB7CisgICAgICAgICBjb25zdCBVQ2hhciog
cCA9IHBhcnNlQ29vcmQocHRyLCBjKTsKKyAgICAgICAgIGlmIChwID09IHB0cikKKyAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICBwdHIgPSBwOworICAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgfQorCisgICAgc3RhdGljIGlubGluZSBpbnQgdHJ5UGFyc2VOdW1iZXJMaXN0KGNv
bnN0IFN0cmluZyYgdmFsdWUsIGRvdWJsZSYgbjEsIGRvdWJsZSYgbjIpCisgICAgeworICAgICAg
ICBpbnQgcmV0ID0gMDsKKyAgICAgICAgU3RyaW5nIG51bWJlcnMgPSB2YWx1ZTsKKyAgICAgICAg
Y29uc3QgVUNoYXIqIHB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPihudW1iZXJz
LmNoYXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9uKCkpOworICAgICAgICBpZiAodHJ5UGFyc2VD
b29yZChwdHIsIG4xKSkgeworICAgICAgICAgICAgcmV0Kys7CisgICAgICAgICAgICBza2lwT3B0
aW9uYWxTcGFjZXNPckRlbGltaXRlcihwdHIpOworICAgICAgICAgICAgaWYgKHRyeVBhcnNlQ29v
cmQocHRyLCBuMikpCisgICAgICAgICAgICAgICAgcmV0Kys7CisgICAgICAgIH0KKyAgICAgICAg
cmV0dXJuIHJldDsKKyAgICB9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8v
IFNWR19TVVBQT1JUCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCShyZXZp
c2lvbiAxNjgzOCkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzU5LDcgKzM1OSw3IEBAIHZvaWQgU1ZHUGF0aEVsZW1lbnQ6OnBhcnNl
TWFwcGVkQXR0cmlidXQKICAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpkQXR0cikg
ewogICAgICAgICBFeGNlcHRpb25Db2RlIGVjOwogICAgICAgICBwYXRoU2VnTGlzdCgpLT5jbGVh
cihlYyk7Ci0gICAgICAgIHBhcnNlU1ZHKGF0dHItPnZhbHVlKCkuZGVwcmVjYXRlZFN0cmluZygp
LCB0cnVlKTsKKyAgICAgICAgcGFyc2VTVkcoYXR0ci0+dmFsdWUoKSwgdHJ1ZSk7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgaWYoU1ZHVGVzdHM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKSBy
ZXR1cm47CiAgICAgICAgIGlmKFNWR0xhbmdTcGFjZTo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0
cikpIHJldHVybjsKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhdGhFbGVtZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQuaAkocmV2aXNpb24g
MTY4MzgpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXRoRWxlbWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yNSw3ICsyNSw3IEBACiAjaWZkZWYgU1ZHX1NVUFBPUlQKIAogI2luY2x1ZGUgIlNW
R1Rlc3RzLmgiCi0jaW5jbHVkZSAic3ZncGF0aHBhcnNlci5oIgorI2luY2x1ZGUgIlNWR1BhcnNl
clV0aWxzLmgiCiAjaW5jbHVkZSAiU1ZHTGFuZ1NwYWNlLmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVk
VHJhbnNmb3JtYWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFBhdGhEYXRhLmgi
CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQb2x5RWxlbWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUG9seUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNjgzOCkK
KysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BvbHlFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTYsNyArNTYsNyBAQCB2b2lkIFNWR1BvbHlFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0
CiAgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6cG9pbnRzQXR0cikgewogICAgICAg
ICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICAgICAgcG9pbnRzKCktPmNsZWFyKGVjKTsKLSAg
ICAgICAgcGFyc2VQb2ludHMoYXR0ci0+dmFsdWUoKS5kZXByZWNhdGVkU3RyaW5nKCkpOworICAg
ICAgICBwYXJzZVBvaW50cyhhdHRyLT52YWx1ZSgpKTsKICAgICB9IGVsc2UgewogICAgICAgICBp
ZihTVkdUZXN0czo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUoYXR0cikpIHJldHVybjsKICAgICAgICAg
aWYoU1ZHTGFuZ1NwYWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkgcmV0dXJuOwpJbmRl
eDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUG9seUVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2tzdmcyL3N2Zy9TVkdQb2x5RWxlbWVudC5oCShyZXZpc2lvbiAxNjgzOCkKKysrIFdlYkNv
cmUva3N2ZzIvc3ZnL1NWR1BvbHlFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDcgKzI1
LDcgQEAKICNpZmRlZiBTVkdfU1VQUE9SVAogCiAjaW5jbHVkZSAiU1ZHVGVzdHMuaCIKLSNpbmNs
dWRlICJzdmdwYXRocGFyc2VyLmgiCisjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbHMuaCIKICNpbmNs
dWRlICJTVkdMYW5nU3BhY2UuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxl
bWVudC5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkUG9pbnRzLmgiCkluZGV4OiBXZWJDb3JlL2tz
dmcyL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcAkocmV2aXNpb24gMTY4MzgpCisr
KyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgImtzdmcuaCIKICNpbmNsdWRlICJTVkdN
YXRyaXguaCIKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50LmgiCisjaW5jbHVkZSAiU1ZHUGFyc2Vy
VXRpbHMuaCIKICNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTY0LDM5ICs2NSwxMDkgQEAgdW5zaWduZWQgc2hvcnQgU1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpbzo6bQogdm9pZCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjpwYXJzZVByZXNl
cnZlQXNwZWN0UmF0aW8oY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgLy8gU3BlYzogc2V0
IHRoZSBkZWZhdWx0cwotICAgIHNldEFsaWduKFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX05PTkUp
OwotICAgIHNldE1lZXRPclNsaWNlKFNWR19NRUVUT1JTTElDRV9NRUVUKTsKLSAgICAKLSAgICBW
ZWN0b3I8U3RyaW5nPiBwYXJhbXMgPSBzdHJpbmcuc2ltcGxpZnlXaGl0ZVNwYWNlKCkuc3BsaXQo
JyAnKTsKKyAgICBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvVHlwZSBhbGlnbiA9IFNWR19QUkVTRVJW
RUFTUEVDVFJBVElPX05PTkU7CisgICAgU1ZHTWVldE9yU2xpY2VUeXBlIG1lZXRPclNsaWNlID0g
U1ZHX01FRVRPUlNMSUNFX01FRVQ7CiAKLSAgICBpZiAocGFyYW1zWzBdID09ICJub25lIikKLSAg
ICAgICAgbV9hbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX05PTkU7Ci0gICAgZWxzZSBp
ZiAocGFyYW1zWzBdID09ICJ4TWluWU1pbiIpCi0gICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VS
VkVBU1BFQ1RSQVRJT19YTUlOWU1JTjsKLSAgICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNaWRZ
TWluIikKLSAgICAgICAgbV9hbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlO
OwotICAgIGVsc2UgaWYgKHBhcmFtc1swXSA9PSAieE1heFlNaW4iKQotICAgICAgICBtX2FsaWdu
ID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSU47Ci0gICAgZWxzZSBpZiAocGFyYW1z
WzBdID09ICJ4TWluWU1pZCIpCi0gICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RS
QVRJT19YTUlOWU1JRDsKLSAgICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNaWRZTWlkIikKLSAg
ICAgICAgbV9hbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlEOwotICAgIGVs
c2UgaWYgKHBhcmFtc1swXSA9PSAieE1heFlNaWQiKQotICAgICAgICBtX2FsaWduID0gU1ZHX1BS
RVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSUQ7Ci0gICAgZWxzZSBpZiAocGFyYW1zWzBdID09ICJ4
TWluWU1heCIpCi0gICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlO
WU1BWDsKLSAgICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNaWRZTWF4IikKLSAgICAgICAgbV9h
bGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUFYOwotICAgIGVsc2UgaWYgKHBh
cmFtc1swXSA9PSAieE1heFlNYXgiKQotICAgICAgICBtX2FsaWduID0gU1ZHX1BSRVNFUlZFQVNQ
RUNUUkFUSU9fWE1BWFlNQVg7Ci0KLSAgICBpZiAobV9hbGlnbiAhPSBTVkdfUFJFU0VSVkVBU1BF
Q1RSQVRJT19OT05FKSB7Ci0gICAgICAgIGlmICgocGFyYW1zLnNpemUoKSA+IDEpICYmIChwYXJh
bXNbMV0gPT0gInNsaWNlIikpCi0gICAgICAgICAgICBtX21lZXRPclNsaWNlID0gU1ZHX01FRVRP
UlNMSUNFX1NMSUNFOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX21lZXRPclNsaWNlID0g
U1ZHX01FRVRPUlNMSUNFX01FRVQ7CisgICAgU3RyaW5nIHByZXNlcnZlID0gc3RyaW5nOworICAg
IGNvbnN0IFVDaGFyKiBjdXJyUGFyYW0gPSByZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4o
cHJlc2VydmUuY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKSk7CisgICAgY29uc3QgVUNo
YXIqIGVvU3RyaW5nID0gY3VyclBhcmFtICsgcHJlc2VydmUubGVuZ3RoKCk7CisKKyAgICBza2lw
T3B0aW9uYWxTcGFjZXMoY3VyclBhcmFtKTsKKworICAgIGlmICgqY3VyclBhcmFtID09ICdkJykg
eworICAgICAgICBpZiAoISgoZW9TdHJpbmcgLSBjdXJyUGFyYW0pID4gNCkgJiYKKyAgICAgICAg
ICAgICAgY3VyclBhcmFtWzFdID09ICdlJyAmJgorICAgICAgICAgICAgICBjdXJyUGFyYW1bMl0g
PT0gJ2YnICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVszXSA9PSAnZScgJiYKKyAgICAgICAg
ICAgICAgY3VyclBhcmFtWzRdID09ICdyJykKKyAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7Cisg
ICAgICAgIGN1cnJQYXJhbSArPSA1OworICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyclBh
cmFtKTsKKyAgICB9CisKKyAgICBpZiAoKmN1cnJQYXJhbSA9PSAnbicpIHsKKyAgICAgICAgaWYg
KCEoKGVvU3RyaW5nIC0gY3VyclBhcmFtKSA+IDMpICYmCisgICAgICAgICAgICAgIGN1cnJQYXJh
bVsxXSA9PSAnbycgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFtWzJdID09ICduJyAmJgorICAg
ICAgICAgICAgICBjdXJyUGFyYW1bM10gPT0gJ2UnKQorICAgICAgICAgICAgZ290byBiYWlsX291
dDsKKyAgICAgICAgY3VyclBhcmFtICs9IDQ7CisgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhj
dXJyUGFyYW0pOworICAgICAgICBhbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX05PTkU7
CisgICAgfSBlbHNlIGlmICgqY3VyclBhcmFtID09ICd4JykgeworICAgICAgICBpZiAoKGVvU3Ry
aW5nIC0gY3VyclBhcmFtKSA8IDgpCisgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAg
ICBpZiAoY3VyclBhcmFtWzFdICE9ICdNJyB8fCBjdXJyUGFyYW1bNF0gIT0gJ1knIHx8IGN1cnJQ
YXJhbVs1XSAhPSAnTScpCisgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICBpZiAo
Y3VyclBhcmFtWzJdID09ICdpJyAmJiBjdXJyUGFyYW1bM10gPT0gJ24nKSB7CisgICAgICAgICAg
ICBpZiAoY3VyclBhcmFtWzZdID09ICdpJyAmJiBjdXJyUGFyYW1bN10gPT0gJ24nKQorICAgICAg
ICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JTllNSU47CisgICAg
ICAgICAgICBlbHNlIGlmIChjdXJyUGFyYW1bNl0gPT0gJ2knICYmIGN1cnJQYXJhbVs3XSA9PSAn
ZCcpCisgICAgICAgICAgICAgICAgYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlO
WU1JRDsKKyAgICAgICAgICAgIGVsc2UgaWYgKGN1cnJQYXJhbVs2XSA9PSAnYScgJiYgY3VyclBh
cmFtWzddID09ICd4JykKKyAgICAgICAgICAgICAgICBhbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVD
VFJBVElPX1hNSU5ZTUFYOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGdvdG8g
YmFpbF9vdXQ7CisgICAgICAgIH0gZWxzZSBpZiAoY3VyclBhcmFtWzJdID09ICdpJyAmJiBjdXJy
UGFyYW1bM10gPT0gJ2QnKSB7CisgICAgICAgICAgICBpZiAoY3VyclBhcmFtWzZdID09ICdpJyAm
JiBjdXJyUGFyYW1bN10gPT0gJ24nKQorICAgICAgICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1JRFlNSU47CisgICAgICAgICAgICBlbHNlIGlmIChjdXJyUGFyYW1b
Nl0gPT0gJ2knICYmIGN1cnJQYXJhbVs3XSA9PSAnZCcpCisgICAgICAgICAgICAgICAgYWxpZ24g
PSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JRDsKKyAgICAgICAgICAgIGVsc2UgaWYg
KGN1cnJQYXJhbVs2XSA9PSAnYScgJiYgY3VyclBhcmFtWzddID09ICd4JykKKyAgICAgICAgICAg
ICAgICBhbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUFYOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgIH0gZWxzZSBp
ZiAoY3VyclBhcmFtWzJdID09ICdhJyAmJiBjdXJyUGFyYW1bM10gPT0gJ3gnKSB7CisgICAgICAg
ICAgICBpZiAoY3VyclBhcmFtWzZdID09ICdpJyAmJiBjdXJyUGFyYW1bN10gPT0gJ24nKQorICAg
ICAgICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1BWFlNSU47Cisg
ICAgICAgICAgICBlbHNlIGlmIChjdXJyUGFyYW1bNl0gPT0gJ2knICYmIGN1cnJQYXJhbVs3XSA9
PSAnZCcpCisgICAgICAgICAgICAgICAgYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19Y
TUFYWU1JRDsKKyAgICAgICAgICAgIGVsc2UgaWYgKGN1cnJQYXJhbVs2XSA9PSAnYScgJiYgY3Vy
clBhcmFtWzddID09ICd4JykKKyAgICAgICAgICAgICAgICBhbGlnbiA9IFNWR19QUkVTRVJWRUFT
UEVDVFJBVElPX1hNQVhZTUFYOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGdv
dG8gYmFpbF9vdXQ7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgZ290byBiYWlsX291dDsK
KyAgICAgICAgY3VyclBhcmFtICs9IDg7CisgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhjdXJy
UGFyYW0pOworICAgIH0KKworICAgIGlmICgqY3VyclBhcmFtID09ICdtJykgeworICAgICAgICBp
ZiAoISgoZW9TdHJpbmcgLSBjdXJyUGFyYW0pID4gMykgJiYKKyAgICAgICAgICAgICAgY3VyclBh
cmFtWzFdID09ICdlJyAmJgorICAgICAgICAgICAgICBjdXJyUGFyYW1bMl0gPT0gJ2UnICYmCisg
ICAgICAgICAgICAgIGN1cnJQYXJhbVszXSA9PSAndCcpCisgICAgICAgICAgICBnb3RvIGJhaWxf
b3V0OworICAgICAgICBjdXJyUGFyYW0gKz0gNDsKKyAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2Vz
KGN1cnJQYXJhbSk7CisgICAgICAgIG1lZXRPclNsaWNlID0gU1ZHX01FRVRPUlNMSUNFX01FRVQ7
CisgICAgfSBlbHNlIGlmICgqY3VyclBhcmFtID09ICdzJykgeworICAgICAgICBpZiAoISgoZW9T
dHJpbmcgLSBjdXJyUGFyYW0pID4gNCkgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFtWzFdID09
ICdsJyAmJgorICAgICAgICAgICAgICBjdXJyUGFyYW1bMl0gPT0gJ2knICYmCisgICAgICAgICAg
ICAgIGN1cnJQYXJhbVszXSA9PSAnYycgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFtWzRdID09
ICdlJykKKyAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgIGN1cnJQYXJhbSArPSA1
OworICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyclBhcmFtKTsKKyAgICAgICAgaWYgKG1f
YWxpZ24gIT0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORSkKKyAgICAgICAgICAgIG1lZXRP
clNsaWNlID0gU1ZHX01FRVRPUlNMSUNFX1NMSUNFOwogICAgIH0KIAorICAgIGlmIChlb1N0cmlu
ZyAhPSBjdXJyUGFyYW0pCisgICAgICAgIGdvdG8gYmFpbF9vdXQ7IC8vIFRPRE86IG1heSBuZWVk
IHRvIHByaW50IGFuIGVycm9yIGhlcmUKKworICAgIHNldEFsaWduKGFsaWduKTsKKyAgICBzZXRN
ZWV0T3JTbGljZShtZWV0T3JTbGljZSk7CisKKyAgICBpZiAobV9jb250ZXh0KQorICAgICAgICBt
X2NvbnRleHQtPm5vdGlmeUF0dHJpYnV0ZUNoYW5nZSgpOworICAgIHJldHVybjsKKworYmFpbF9v
dXQ6CisgICAgc2V0QWxpZ24oU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORSk7CisgICAgc2V0
TWVldE9yU2xpY2UoU1ZHX01FRVRPUlNMSUNFX01FRVQpOworCiAgICAgaWYgKG1fY29udGV4dCkK
ICAgICAgICAgbV9jb250ZXh0LT5ub3RpZnlBdHRyaWJ1dGVDaGFuZ2UoKTsKIH0KSW5kZXg6IFdl
YkNvcmUva3N2ZzIvc3ZnL1NWR1N0cmluZ0xpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
a3N2ZzIvc3ZnL1NWR1N0cmluZ0xpc3QuY3BwCShyZXZpc2lvbiAxNjgzOCkKKysrIFdlYkNvcmUv
a3N2ZzIvc3ZnL1NWR1N0cmluZ0xpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw2ICsyNCw3
IEBACiAKICNpZmRlZiBTVkdfU1VQUE9SVAogI2luY2x1ZGUgIlNWR1N0cmluZ0xpc3QuaCIKKyNp
bmNsdWRlICJTVkdQYXJzZXJVdGlscy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTQw
LDEzICs0MSwyNyBAQCB2b2lkIFNWR1N0cmluZ0xpc3Q6OnJlc2V0KGNvbnN0IFN0cmluZyYgCiB7
CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAKLSAgICBWZWN0b3I8U3RyaW5nPiB2ZWN0b3Ig
PSBzdHIuc3BsaXQoJyAnKTsKLSAgICBpZiAodmVjdG9yLnNpemUoKSA9PSAwKSB7CisgICAgcGFy
c2Uoc3RyLCAnICcpOworICAgIGlmIChudW1iZXJPZkl0ZW1zKCkgPT0gMCkKICAgICAgICAgYXBw
ZW5kSXRlbShTdHJpbmcoIiIpLCBlYyk7IC8vIENyZWF0ZSBlbXB0eSBzdHJpbmcuLi4KLSAgICB9
IGVsc2UgewotICAgICAgICBWZWN0b3I8U3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gdmVj
dG9yLmVuZCgpOwotICAgICAgICBmb3IoVmVjdG9yPFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGl0
ID0gdmVjdG9yLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgICAgIGFwcGVuZEl0
ZW0oKml0LCBlYyk7Cit9CisKK3ZvaWQgU1ZHU3RyaW5nTGlzdDo6cGFyc2UoY29uc3QgU3RyaW5n
JiBkYXRhLCBVQ2hhciBkZWxpbWl0ZXIpCit7CisgICAgLy8gVE9ETyA6IG1vcmUgZXJyb3IgY2hl
Y2tpbmcvcmVwb3J0aW5nCisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgY2xlYXIoZWMp
OworCisgICAgU3RyaW5nIHN0cmluZ3MgPSBkYXRhOyAKKyAgICBjb25zdCBVQ2hhciogY3VyclN0
cmluZyA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgVUNoYXIqPihzdHJpbmdzLmNoYXJhY3RlcnNX
aXRoTnVsbFRlcm1pbmF0aW9uKCkpOworICAgIHdoaWxlICgqY3VyclN0cmluZykgeworICAgICAg
ICBjb25zdCBVQ2hhciogc3RhcnRTdHJpbmcgPSBjdXJyU3RyaW5nOworICAgICAgICB3aGlsZSAo
KmN1cnJTdHJpbmcgJiYgKmN1cnJTdHJpbmcgIT0gZGVsaW1pdGVyICYmICFpc1doaXRlc3BhY2Uo
KmN1cnJTdHJpbmcpKQorICAgICAgICAgICAgY3VyclN0cmluZysrOworICAgICAgICBpZiAoY3Vy
clN0cmluZyA+IHN0YXJ0U3RyaW5nKQorICAgICAgICAgICAgYXBwZW5kSXRlbShTdHJpbmcoc3Rh
cnRTdHJpbmcsIGN1cnJTdHJpbmcgLSBzdGFydFN0cmluZyksIGVjKTsKKyAgICAgICAgd2hpbGUg
KCpjdXJyU3RyaW5nID09IGRlbGltaXRlciB8fCBpc1doaXRlc3BhY2UoKmN1cnJTdHJpbmcpKQor
ICAgICAgICAgICAgY3VyclN0cmluZysrOwogICAgIH0KIH0KIApJbmRleDogV2ViQ29yZS9rc3Zn
Mi9zdmcvU1ZHU3RyaW5nTGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NW
R1N0cmluZ0xpc3QuaAkocmV2aXNpb24gMTY4MzgpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdT
dHJpbmdMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBTVkdTdHJpbmdMaXN0KCk7CiAgICAgICAgIHZpcnR1YWwgflNWR1N0
cmluZ0xpc3QoKTsKICAgICAgICAgCisgICAgICAgIHZvaWQgcGFyc2UoY29uc3QgU3RyaW5nJiBk
YXRhLCBVQ2hhciBkZWxpbWl0ZXIgPSAnLCcpOworCiAgICAgICAgIC8vIEludGVybmFsCiAgICAg
ICAgIHZvaWQgcmVzZXQoY29uc3QgU3RyaW5nJiBzdHIpOwogICAgIH07CkluZGV4OiBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdUZXN0cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcv
U1ZHVGVzdHMuY3BwCShyZXZpc2lvbiAxNjgzOCkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1Rl
c3RzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODksMTMgKzg5LDEzIEBAIGJvb2wgU1ZHVGVzdHM6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHAKIHsKICAgICBjb25zdCBTdHJpbmcmIHZhbHVlID0g
YXR0ci0+dmFsdWUoKTsKICAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpyZXF1aXJl
ZEZlYXR1cmVzQXR0cikgewotICAgICAgICByZXF1aXJlZEZlYXR1cmVzKCktPnJlc2V0KHZhbHVl
LmRlcHJlY2F0ZWRTdHJpbmcoKSk7CisgICAgICAgIHJlcXVpcmVkRmVhdHVyZXMoKS0+cmVzZXQo
dmFsdWUpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUo
KSA9PSBTVkdOYW1lczo6cmVxdWlyZWRFeHRlbnNpb25zQXR0cikgewotICAgICAgICByZXF1aXJl
ZEV4dGVuc2lvbnMoKS0+cmVzZXQodmFsdWUuZGVwcmVjYXRlZFN0cmluZygpKTsKKyAgICAgICAg
cmVxdWlyZWRFeHRlbnNpb25zKCktPnJlc2V0KHZhbHVlKTsKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnN5c3RlbUxhbmd1YWdl
QXR0cikgewotICAgICAgICBzeXN0ZW1MYW5ndWFnZSgpLT5yZXNldCh2YWx1ZS5kZXByZWNhdGVk
U3RyaW5nKCkpOworICAgICAgICBzeXN0ZW1MYW5ndWFnZSgpLT5yZXNldCh2YWx1ZSk7CiAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICAKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NW
R1RyYW5zZm9ybWFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1Ry
YW5zZm9ybWFibGUuY3BwCShyZXZpc2lvbiAxNjgzOCkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NW
R1RyYW5zZm9ybWFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMiwxMiArMzIsMTMgQEAKICNp
bmNsdWRlICJTVkdOYW1lcy5oIgogI2luY2x1ZGUgIlNWR0hlbHBlci5oIgogI2luY2x1ZGUgIlNW
R01hdHJpeC5oIgorI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxzLmgiCiAjaW5jbHVkZSAiU1ZHVHJh
bnNmb3JtYWJsZS5oIgogI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJT
VkdUcmFuc2Zvcm1MaXN0LmgiCiAjaW5jbHVkZSAia3N2Zy5oIgogCi11c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKK25hbWVzcGFjZSBXZWJDb3JlIHsKIAogU1ZHVHJhbnNmb3JtYWJsZTo6U1ZHVHJh
bnNmb3JtYWJsZSgpIDogU1ZHTG9jYXRhYmxlKCkKIHsKQEAgLTQ3LDgxICs0OCwxNTUgQEAgU1ZH
VHJhbnNmb3JtYWJsZTo6flNWR1RyYW5zZm9ybWFibGUoKQogewogfQogCitpbnQgcGFyc2VUcmFu
c2Zvcm1QYXJhbUxpc3QoY29uc3QgVUNoYXIqJiBwdHIsIGRvdWJsZSogeCwgaW50IHJlcXVpcmVk
LCBpbnQgb3B0aW9uYWwpCit7CisgICAgaW50IG9wdGlvbmFsUGFyYW1zID0gMCwgcmVxdWlyZWRQ
YXJhbXMgPSAwOworICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIpOworICAgIGlmICgqcHRyICE9
ICcoJykKKyAgICAgICAgcmV0dXJuIC0xOworICAgIHB0cisrOworICAgIHNraXBPcHRpb25hbFNw
YWNlcyhwdHIpOworCisgICAgd2hpbGUgKHJlcXVpcmVkUGFyYW1zIDwgcmVxdWlyZWQpIHsKKyAg
ICAgICAgaWYgKCF0cnlQYXJzZUNvb3JkKHB0ciwgeFtyZXF1aXJlZFBhcmFtc10pKQorICAgICAg
ICAgICAgcmV0dXJuIC0xOworICAgICAgICByZXF1aXJlZFBhcmFtcysrOworICAgICAgICBpZiAo
cmVxdWlyZWRQYXJhbXMgPCByZXF1aXJlZCkKKyAgICAgICAgICAgIHNraXBPcHRpb25hbFNwYWNl
c09yRGVsaW1pdGVyKHB0cik7CisgICAgfQorICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIpOwor
CisgICAgaWYgKCpwdHIgPT0gJyknKSAvLyBza2lwIG9wdGlvbmFscworICAgICAgICBwdHIrKzsK
KyAgICBlbHNlIHsKKyAgICAgICAgIHdoaWxlIChvcHRpb25hbFBhcmFtcyA8IG9wdGlvbmFsKSB7
CisgICAgICAgICAgICBpZiAoIXRyeVBhcnNlQ29vcmQocHRyLCB4W3JlcXVpcmVkUGFyYW1zICsg
b3B0aW9uYWxQYXJhbXNdKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAg
ICBvcHRpb25hbFBhcmFtcysrOworICAgICAgICAgICAgaWYgKG9wdGlvbmFsUGFyYW1zIDwgb3B0
aW9uYWwpCisgICAgICAgICAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzT3JEZWxpbWl0ZXIocHRy
KTsKKyAgICAgICAgIH0KKyAgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIpOworCisgICAg
ICAgIGlmICgqcHRyICE9ICcpJykKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgcHRy
Kys7CisgICAgfQorCisgICAgcmV0dXJuIHJlcXVpcmVkUGFyYW1zICsgb3B0aW9uYWxQYXJhbXM7
Cit9CisKIHZvaWQgU1ZHVHJhbnNmb3JtYWJsZTo6cGFyc2VUcmFuc2Zvcm1BdHRyaWJ1dGUoU1ZH
VHJhbnNmb3JtTGlzdCAqbGlzdCwgY29uc3QgQXRvbWljU3RyaW5nJiB0cmFuc2Zvcm0pCiB7Ci0g
ICAgLy8gU3BsaXQgc3RyaW5nIGZvciBoYW5kbGluZyAxIHRyYW5zZm9ybSBzdGF0ZW1lbnQgYXQg
YSB0aW1lCi0gICAgVmVjdG9yPFN0cmluZz4gc3VidHJhbnNmb3JtcyA9IHRyYW5zZm9ybS5kb21T
dHJpbmcoKS5zaW1wbGlmeVdoaXRlU3BhY2UoKS5zcGxpdCgnKScpOwotICAgIFZlY3RvcjxTdHJp
bmc+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBzdWJ0cmFuc2Zvcm1zLmVuZCgpOwotICAgIGZvciAo
VmVjdG9yPFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gc3VidHJhbnNmb3Jtcy5iZWdpbigp
OyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgVmVjdG9yPFN0cmluZz4gc3VidHJhbnNmb3Jt
ID0gKCppdCkuc3BsaXQoJygnKTsKLSAgICAgICAgCi0gICAgICAgIGlmIChzdWJ0cmFuc2Zvcm0u
c2l6ZSgpIDwgMikKLSAgICAgICAgICAgIGJyZWFrOyAvLyBpbnZhbGlkIHRyYW5zZm9ybSwgaWdu
b3JlLgotCi0gICAgICAgIHN1YnRyYW5zZm9ybVswXSA9IHN1YnRyYW5zZm9ybVswXS5zdHJpcFdo
aXRlU3BhY2UoKS5sb3dlcigpOwotICAgICAgICBzdWJ0cmFuc2Zvcm1bMV0gPSBzdWJ0cmFuc2Zv
cm1bMV0uc2ltcGxpZnlXaGl0ZVNwYWNlKCk7Ci0gICAgICAgIFJlZ3VsYXJFeHByZXNzaW9uIHJl
ZygiKFstXT9cXGQqXFwuP1xcZCsoPzplWy1dP1xcZCspPykiKTsKLQotICAgICAgICBpbnQgcG9z
ID0gMDsKLSAgICAgICAgVmVjdG9yPFN0cmluZz4gcGFyYW1zOwotICAgICAgICAKLSAgICAgICAg
d2hpbGUgKHBvcyA+PSAwKSB7Ci0gICAgICAgICAgICBwb3MgPSByZWcuc2VhcmNoKHN1YnRyYW5z
Zm9ybVsxXS5kZXByZWNhdGVkU3RyaW5nKCksIHBvcyk7Ci0gICAgICAgICAgICBpZiAocG9zICE9
IC0xKSB7Ci0gICAgICAgICAgICAgICAgcGFyYW1zLmFwcGVuZChyZWcuY2FwKDEpKTsKLSAgICAg
ICAgICAgICAgICBwb3MgKz0gcmVnLm1hdGNoZWRMZW5ndGgoKTsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKHBhcmFtcy5zaXplKCkgPCAxKQotICAgICAg
ICAgICAgYnJlYWs7CisgICAgZG91YmxlIHhbNl0gPSB7MCwgMCwgMCwgMCwgMCwgMH07CisgICAg
aW50IG5yID0gMCwgcmVxdWlyZWQgPSAwLCBvcHRpb25hbCA9IDA7CisgICAgCisgICAgU3RyaW5n
IHRyYW5zZm9ybXMgPSB0cmFuc2Zvcm07CisgICAgY29uc3QgVUNoYXIqIGN1cnJUcmFuc2Zvcm0g
PSByZWludGVycHJldF9jYXN0PGNvbnN0IFVDaGFyKj4odHJhbnNmb3Jtcy5jaGFyYWN0ZXJzV2l0
aE51bGxUZXJtaW5hdGlvbigpKTsKKyAgICBjb25zdCBVQ2hhciogZW9TdHJpbmcgPSBjdXJyVHJh
bnNmb3JtICsgdHJhbnNmb3Jtcy5sZW5ndGgoKTsKKworICAgIHdoaWxlIChjdXJyVHJhbnNmb3Jt
IDwgZW9TdHJpbmcpIHsKKyAgICAgICAgdW5zaWduZWQgc2hvcnQgdHlwZSA9IFNWR1RyYW5zZm9y
bTo6U1ZHX1RSQU5TRk9STV9VTktOT1dOOworICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3Vy
clRyYW5zZm9ybSk7CisKKyAgICAgICAgaWYgKCpjdXJyVHJhbnNmb3JtID09ICdzJykgeworICAg
ICAgICAgICAgaWYgKCEoZW9TdHJpbmcgLSBjdXJyVHJhbnNmb3JtKSA+IDUpCisgICAgICAgICAg
ICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgICAgIGlmIChjdXJyVHJhbnNmb3JtWzFdID09
ICdrJyAmJiBjdXJyVHJhbnNmb3JtWzJdID09ICdlJyAmJgorICAgICAgICAgICAgICAgICAgY3Vy
clRyYW5zZm9ybVszXSA9PSAndycpIHsKKyAgICAgICAgICAgICAgICBpZiAoY3VyclRyYW5zZm9y
bVs0XSA9PSAnWCcpCisgICAgICAgICAgICAgICAgICAgIHR5cGUgPSBTVkdUcmFuc2Zvcm06OlNW
R19UUkFOU0ZPUk1fU0tFV1g7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoY3VyclRyYW5zZm9y
bVs0XSA9PSAnWScpCisgICAgICAgICAgICAgICAgICAgIHR5cGUgPSBTVkdUcmFuc2Zvcm06OlNW
R19UUkFOU0ZPUk1fU0tFV1k7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
ICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICAgICAgICAgIHJlcXVpcmVkID0gMTsKKyAgICAg
ICAgICAgICAgICBvcHRpb25hbCA9IDA7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJUcmFu
c2Zvcm1bMV0gPT0gJ2MnICYmIGN1cnJUcmFuc2Zvcm1bMl0gPT0gJ2EnICYmCisgICAgICAgICAg
ICAgICAgICBjdXJyVHJhbnNmb3JtWzNdID09ICdsJyAmJiBjdXJyVHJhbnNmb3JtWzRdID09ICdl
JykgeworICAgICAgICAgICAgICAgIHJlcXVpcmVkID0gMTsKKyAgICAgICAgICAgICAgICBvcHRp
b25hbCA9IDE7CisgICAgICAgICAgICAgICAgdHlwZSA9IFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5T
Rk9STV9TQ0FMRTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGdvdG8gYmFp
bF9vdXQ7CisgICAgICAgICAgICBjdXJyVHJhbnNmb3JtICs9IDU7CisgICAgICAgIH0gZWxzZSBp
ZiAoKmN1cnJUcmFuc2Zvcm0gPT0gJ3QnKSB7CisgICAgICAgICAgICBpZiAoISgoZW9TdHJpbmcg
LSBjdXJyVHJhbnNmb3JtKSA+IDkpICYmCisgICAgICAgICAgICAgICAgICBjdXJyVHJhbnNmb3Jt
WzFdID09ICdyJyAmJiBjdXJyVHJhbnNmb3JtWzJdID09ICdhJyAmJgorICAgICAgICAgICAgICAg
ICAgY3VyclRyYW5zZm9ybVszXSA9PSAnbicgJiYgY3VyclRyYW5zZm9ybVs0XSA9PSAncycgJiYK
KyAgICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1bNV0gPT0gJ2wnICYmIGN1cnJUcmFuc2Zv
cm1bNl0gPT0gJ2EnICYmCisgICAgICAgICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzddID09ICd0
JyAmJiBjdXJyVHJhbnNmb3JtWzhdID09ICdlJykKKyAgICAgICAgICAgICAgICBnb3RvIGJhaWxf
b3V0OworICAgICAgICAgICAgY3VyclRyYW5zZm9ybSArPSA5OworICAgICAgICAgICAgcmVxdWly
ZWQgPSAxOworICAgICAgICAgICAgb3B0aW9uYWwgPSAxOworICAgICAgICAgICAgdHlwZSA9IFNW
R1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9UUkFOU0xBVEU7CisgICAgICAgIH0gZWxzZSBpZiAo
KmN1cnJUcmFuc2Zvcm0gPT0gJ3InKSB7CisgICAgICAgICAgICBpZiAoISgoZW9TdHJpbmcgLSBj
dXJyVHJhbnNmb3JtKSA+IDYpICYmCisgICAgICAgICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzFd
ID09ICdvJyAmJiBjdXJyVHJhbnNmb3JtWzJdID09ICd0JyAmJgorICAgICAgICAgICAgICAgICAg
Y3VyclRyYW5zZm9ybVszXSA9PSAnYScgJiYgY3VyclRyYW5zZm9ybVs0XSA9PSAndCcgJiYKKyAg
ICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1bNV0gPT0gJ2UnKQorICAgICAgICAgICAgICAg
IGdvdG8gYmFpbF9vdXQ7CisgICAgICAgICAgICBjdXJyVHJhbnNmb3JtICs9IDY7CisgICAgICAg
ICAgICByZXF1aXJlZCA9IDE7CisgICAgICAgICAgICBvcHRpb25hbCA9IDI7CisgICAgICAgICAg
ICB0eXBlID0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1JPVEFURTsKKyAgICAgICAgfSBl
bHNlIGlmICgqY3VyclRyYW5zZm9ybSA9PSAnbScpIHsKKyAgICAgICAgICAgIGlmICghKChlb1N0
cmluZyAtIGN1cnJUcmFuc2Zvcm0pID4gNikgJiYgY3VyclRyYW5zZm9ybVsxXSA9PSAnYScgJiYK
KyAgICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1bMl0gPT0gJ3QnICYmIGN1cnJUcmFuc2Zv
cm1bM10gPT0gJ3InICYmCisgICAgICAgICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzRdID09ICdp
JyAmJiBjdXJyVHJhbnNmb3JtWzVdID09ICd4JykKKyAgICAgICAgICAgICAgICBnb3RvIGJhaWxf
b3V0OworICAgICAgICAgICAgY3VyclRyYW5zZm9ybSArPSA2OworICAgICAgICAgICAgcmVxdWly
ZWQgPSA2OworICAgICAgICAgICAgb3B0aW9uYWwgPSAwOworICAgICAgICAgICAgdHlwZSA9IFNW
R1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9NQVRSSVg7CisgICAgICAgIH0gZWxzZSAKKyAgICAg
ICAgICAgIGdvdG8gYmFpbF9vdXQ7CiAKLSAgICAgICAgaWYgKHN1YnRyYW5zZm9ybVswXS5zdGFy
dHNXaXRoKCI7IikgfHwgc3VidHJhbnNmb3JtWzBdLnN0YXJ0c1dpdGgoIiwiKSkKLSAgICAgICAg
ICAgIHN1YnRyYW5zZm9ybVswXSA9IHN1YnRyYW5zZm9ybVswXS5zdWJzdHJpbmcoMSkuc3RyaXBX
aGl0ZVNwYWNlKCk7CisgICAgICAgIGlmICgobnIgPSBwYXJzZVRyYW5zZm9ybVBhcmFtTGlzdChj
dXJyVHJhbnNmb3JtLCB4LCByZXF1aXJlZCwgb3B0aW9uYWwpKSA8IDApCisgICAgICAgICAgICBn
b3RvIGJhaWxfb3V0OwogCiAgICAgICAgIFNWR1RyYW5zZm9ybSogdCA9IG5ldyBTVkdUcmFuc2Zv
cm0oKTsKLQotICAgICAgICBpZiAoc3VidHJhbnNmb3JtWzBdID09ICJyb3RhdGUiKSB7Ci0gICAg
ICAgICAgICBpZiAocGFyYW1zLnNpemUoKSA9PSAzKQotICAgICAgICAgICAgICAgIHQtPnNldFJv
dGF0ZShwYXJhbXNbMF0udG9Eb3VibGUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGFyYW1zWzFdLnRvRG91YmxlKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJh
bXNbMl0udG9Eb3VibGUoKSk7Ci0gICAgICAgICAgICBlbHNlIGlmIChwYXJhbXMuc2l6ZSgpID09
IDEpCi0gICAgICAgICAgICAgICAgdC0+c2V0Um90YXRlKHBhcmFtc1swXS50b0RvdWJsZSgpLCAw
LCAwKTsKLSAgICAgICAgfSBlbHNlIGlmIChzdWJ0cmFuc2Zvcm1bMF0gPT0gInRyYW5zbGF0ZSIp
IHsKLSAgICAgICAgICAgIGlmIChwYXJhbXMuc2l6ZSgpID09IDIpCi0gICAgICAgICAgICAgICAg
dC0+c2V0VHJhbnNsYXRlKHBhcmFtc1swXS50b0RvdWJsZSgpLCBwYXJhbXNbMV0udG9Eb3VibGUo
KSk7Ci0gICAgICAgICAgICBlbHNlIGlmIChwYXJhbXMuc2l6ZSgpID09IDEpIC8vIFNwZWM6IGlm
IG9ubHkgb25lIHBhcmFtIGdpdmVuLCBhc3N1bWUgMm5kIHBhcmFtIHRvIGJlIDAKLSAgICAgICAg
ICAgICAgICB0LT5zZXRUcmFuc2xhdGUocGFyYW1zWzBdLnRvRG91YmxlKCksIDApOwotICAgICAg
ICB9IGVsc2UgaWYgKHN1YnRyYW5zZm9ybVswXSA9PSAic2NhbGUiKSB7Ci0gICAgICAgICAgICBp
ZiAocGFyYW1zLnNpemUoKSA9PSAyKQotICAgICAgICAgICAgICAgIHQtPnNldFNjYWxlKHBhcmFt
c1swXS50b0RvdWJsZSgpLCBwYXJhbXNbMV0udG9Eb3VibGUoKSk7Ci0gICAgICAgICAgICBlbHNl
IGlmIChwYXJhbXMuc2l6ZSgpID09IDEpIC8vIFNwZWM6IGlmIG9ubHkgb25lIHBhcmFtIGdpdmVu
LCBhc3N1bWUgdW5pZm9ybSBzY2FsaW5nCi0gICAgICAgICAgICAgICAgdC0+c2V0U2NhbGUocGFy
YW1zWzBdLnRvRG91YmxlKCksIHBhcmFtc1swXS50b0RvdWJsZSgpKTsKLSAgICAgICAgfSBlbHNl
IGlmIChzdWJ0cmFuc2Zvcm1bMF0gPT0gInNrZXd4IiAmJiAocGFyYW1zLnNpemUoKSA9PSAxKSkK
LSAgICAgICAgICAgIHQtPnNldFNrZXdYKHBhcmFtc1swXS50b0RvdWJsZSgpKTsKLSAgICAgICAg
ZWxzZSBpZiAoc3VidHJhbnNmb3JtWzBdID09ICJza2V3eSIgJiYgKHBhcmFtcy5zaXplKCkgPT0g
MSkpCi0gICAgICAgICAgICB0LT5zZXRTa2V3WShwYXJhbXNbMF0udG9Eb3VibGUoKSk7Ci0gICAg
ICAgIGVsc2UgaWYgKHN1YnRyYW5zZm9ybVswXSA9PSAibWF0cml4IiAmJiAocGFyYW1zLnNpemUo
KSA9PSA2KSkgewotICAgICAgICAgICAgU1ZHTWF0cml4ICpyZXQgPSBuZXcgU1ZHTWF0cml4KHBh
cmFtc1swXS50b0RvdWJsZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGFyYW1zWzFdLnRvRG91YmxlKCksCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNbMl0udG9Eb3VibGUoKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1sz
XS50b0RvdWJsZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGFyYW1zWzRdLnRvRG91YmxlKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNbNV0udG9Eb3VibGUoKSk7Ci0gICAgICAg
ICAgICB0LT5zZXRNYXRyaXgocmV0KTsKKyAgICAgICAgc3dpdGNoICh0eXBlKQorICAgICAgICB7
CisgICAgICAgICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9TS0VXWDoKKyAg
ICAgICAgICAgICAgIHQtPnNldFNrZXdYKHhbMF0pOworICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgY2FzZSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fU0tFV1k6CisgICAg
ICAgICAgICAgICB0LT5zZXRTa2V3WSh4WzBdKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgIGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1NDQUxFOgorICAgICAg
ICAgICAgICAgICAgaWYgKG5yID09IDEpIC8vIFNwZWM6IGlmIG9ubHkgb25lIHBhcmFtIGdpdmVu
LCBhc3N1bWUgdW5pZm9ybSBzY2FsaW5nCisgICAgICAgICAgICAgICAgICAgICAgdC0+c2V0U2Nh
bGUoeFswXSwgeFswXSk7CisgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
ICAgICAgdC0+c2V0U2NhbGUoeFswXSwgeFsxXSk7CisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9UUkFOU0xBVEU6Cisg
ICAgICAgICAgICAgICAgICBpZiAobnIgPT0gMSkgLy8gU3BlYzogaWYgb25seSBvbmUgcGFyYW0g
Z2l2ZW4sIGFzc3VtZSAybmQgcGFyYW0gdG8gYmUgMAorICAgICAgICAgICAgICAgICAgICAgIHQt
PnNldFRyYW5zbGF0ZSh4WzBdLCAwKTsKKyAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICAgICAgICB0LT5zZXRUcmFuc2xhdGUoeFswXSwgeFsxXSk7CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9S
T1RBVEU6CisgICAgICAgICAgICAgICAgICBpZiAobnIgPT0gMSkKKyAgICAgICAgICAgICAgICAg
ICAgICB0LT5zZXRSb3RhdGUoeFswXSwgMCwgMCk7CisgICAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgICAgdC0+c2V0Um90YXRlKHhbMF0sIHhbMV0sIHhbMl0pOworICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBTVkdUcmFuc2Zvcm06OlNWR19U
UkFOU0ZPUk1fTUFUUklYOgorICAgICAgICAgICAgICAgIHQtPnNldE1hdHJpeChuZXcgU1ZHTWF0
cml4KHhbMF0sIHhbMV0sIHhbMl0sIHhbM10sIHhbNF0sIHhbNV0pKTsKKyAgICAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQotICAgICAgICAKLSAgICAgICAgaWYgKHQtPnR5cGUoKSA9PSBT
VkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fVU5LTk9XTikgewotICAgICAgICAgICAgZGVsZXRl
IHQ7Ci0gICAgICAgICAgICBicmVhazsgLy8gZmFpbGVkIHRvIHBhcnNlIGEgdmFsaWQgdHJhbnNm
b3JtLCBhYm9ydC4KLSAgICAgICAgfQotCiAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwog
ICAgICAgICBsaXN0LT5hcHBlbmRJdGVtKHQsIGVjKTsKKyAgICAgICAgc2tpcE9wdGlvbmFsU3Bh
Y2VzT3JEZWxpbWl0ZXIoY3VyclRyYW5zZm9ybSk7CiAgICAgfQorYmFpbF9vdXQ6IDsKIH0KIAor
fQorCisKIC8vIHZpbTp0cz00Om5vZXQKICNlbmRpZiAvLyBTVkdfU1VQUE9SVAogCkluZGV4OiBX
ZWJDb3JlL2tzdmcyL3N2Zy9zdmdwYXRocGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2tzdmcyL3N2Zy9zdmdwYXRocGFyc2VyLmNwcAkocmV2aXNpb24gMTY4MzkpCisrKyBXZWJDb3Jl
L2tzdmcyL3N2Zy9zdmdwYXRocGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1OTggKzAs
MCBAQAotLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0Ci0gICBDb3B5cmln
aHQgKEMpIDIwMDIsIDIwMDMgVGhlIEthcmJvbiBEZXZlbG9wZXJzCi0gICAgICAgICAgICAgICAg
IDIwMDYgICAgICAgQWxleGFuZGVyIEtlbGxldHQgPGx5cGFub3ZAa2RlLm9yZz4KLQotICAgVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgotICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKLSAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgotICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAgIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQotICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCi0KLSAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0g
ICBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KLSovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpZmRlZiBTVkdfU1VQUE9SVAotI2luY2x1ZGUgInN2Z3BhdGhwYXJzZXIuaCIKLSNpbmNsdWRl
ICJEZXByZWNhdGVkU3RyaW5nLmgiCi0jaW5jbHVkZSA8bWF0aC5oPgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLS8vIFNWRyBhbGxvd3Mgc2V2ZXJhbCBkaWZmZXJlbnQgd2hpdGVzcGFjZSBjaGFy
YWN0ZXJzOgotLy8gaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHL3BhdGhzLmh0bWwjUGF0aERhdGFC
TkYKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc1doaXRlc3BhY2UoY2hhciBjKSB7Ci0gICAgcmV0dXJu
IChjID09ICcgJyB8fCBjID09ICdcdCcgfHwgYyA9PSAnXG4nIHx8IGMgPT0gJ1xyJyk7Ci19Ci0K
LS8vIEFsbCBzdHJpbmdzIGFyZSBhc3N1bWVkIHRvIGJlIG51bGwgdGVybWluYXRlZAotc3RhdGlj
IGlubGluZSBib29sIHNraXBPcHRpb25hbFNwYWNlcyhjb25zdCBjaGFyKiYgcHRyKSAvLyB0cnVl
IG1lYW5zICJmb3VuZCBzcGFjZSIKLXsKLSAgICBpZiAoIWlzV2hpdGVzcGFjZSgqcHRyKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHdoaWxlIChpc1doaXRlc3BhY2UoKnB0cikpCi0gICAg
ICAgIHB0cisrOwotICAgIHJldHVybiB0cnVlOwotfQotCi1zdGF0aWMgaW5saW5lIGJvb2wgc2tp
cE9wdGlvbmFsU3BhY2VzT3JDb21tYShjb25zdCBjaGFyKiYgcHRyKQotewotICAgIGlmICghaXNX
aGl0ZXNwYWNlKCpwdHIpICYmICpwdHIgIT0gJywnKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0cik7Ci0gICAgaWYgKCpwdHIgPT0gJywnKSB7Ci0gICAg
ICAgIHB0cisrOwotICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsKLSAgICB9Ci0gICAg
cmV0dXJuIHRydWU7Ci19Ci0KLQotY29uc3QgY2hhciogcGFyc2VDb29yZChjb25zdCBjaGFyKiBw
dHIsIGRvdWJsZSAmbnVtYmVyKQotewotICAgIGludCBpbnRlZ2VyLCBleHBvbmVudDsKLSAgICBk
b3VibGUgZGVjaW1hbCwgZnJhYzsKLSAgICBpbnQgc2lnbiwgZXhwc2lnbjsKLQotICAgIGV4cG9u
ZW50ID0gMDsKLSAgICBpbnRlZ2VyID0gMDsKLSAgICBmcmFjID0gMS4wOwotICAgIGRlY2ltYWwg
PSAwOwotICAgIHNpZ24gPSAxOwotICAgIGV4cHNpZ24gPSAxOwotCi0gICAgLy8gcmVhZCB0aGUg
c2lnbgotICAgIGlmICgqcHRyID09ICcrJykKLSAgICAgICAgcHRyKys7Ci0gICAgZWxzZSBpZiAo
KnB0ciA9PSAnLScpIHsKLSAgICAgICAgcHRyKys7Ci0gICAgICAgIHNpZ24gPSAtMTsKLSAgICB9
Ci0gICAgLy8gcmVhZCB0aGUgaW50ZWdlciBwYXJ0Ci0gICAgd2hpbGUoKnB0ciAhPSAnXDAnICYm
ICpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzknKQotICAgICAgICBpbnRlZ2VyID0gKGludGVnZXIg
KiAxMCkgKyAqKHB0cisrKSAtICcwJzsKLQotICAgIGlmICgqcHRyID09ICcuJykgeyAvLyByZWFk
IHRoZSBkZWNpbWFscwotICAgICAgICBwdHIrKzsKLSAgICAgICAgd2hpbGUoKnB0ciAhPSAnXDAn
ICYmICpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzknKQotICAgICAgICAgICAgZGVjaW1hbCArPSAo
KihwdHIrKykgLSAnMCcpICogKGZyYWMgKj0gMC4xKTsKLSAgICB9Ci0KLSAgICBpZiAoKnB0ciA9
PSAnZScgfHwgKnB0ciA9PSAnRScpIHsgLy8gcmVhZCB0aGUgZXhwb25lbnQgcGFydAotICAgICAg
ICBwdHIrKzsKLQotICAgICAgICAvLyByZWFkIHRoZSBzaWduIG9mIHRoZSBleHBvbmVudAotICAg
ICAgICBpZiAoKnB0ciA9PSAnKycpCi0gICAgICAgICAgICBwdHIrKzsKLSAgICAgICAgZWxzZSBp
ZiAoKnB0ciA9PSAnLScpIHsKLSAgICAgICAgICAgIHB0cisrOwotICAgICAgICAgICAgZXhwc2ln
biA9IC0xOwotICAgICAgICB9Ci0KLSAgICAgICAgZXhwb25lbnQgPSAwOwotICAgICAgICB3aGls
ZSgqcHRyICE9ICdcMCcgJiYgKnB0ciA+PSAnMCcgJiYgKnB0ciA8PSAnOScpIHsKLSAgICAgICAg
ICAgIGV4cG9uZW50ICo9IDEwOwotICAgICAgICAgICAgZXhwb25lbnQgKz0gKnB0ciAtICcwJzsK
LSAgICAgICAgICAgIHB0cisrOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgbnVtYmVyID0gaW50
ZWdlciArIGRlY2ltYWw7Ci0gICAgbnVtYmVyICo9IHNpZ24gKiBwb3coMTAuMCwgZXhwc2lnbiAq
IGV4cG9uZW50KTsKLQotICAgIHNraXBPcHRpb25hbFNwYWNlc09yQ29tbWEocHRyKTsKLQotICAg
IHJldHVybiBwdHI7Ci19Ci0KLXZvaWQgU1ZHUG9seVBhcnNlcjo6cGFyc2VQb2ludHMoY29uc3Qg
RGVwcmVjYXRlZFN0cmluZyYgcykgY29uc3QKLXsKLSAgICBpZiAocy5pc0VtcHR5KCkpCi0gICAg
ICAgIHJldHVybjsKLSAgICBEZXByZWNhdGVkU3RyaW5nIHBvaW50RGF0YSA9IHM7Ci0gICAgY29u
c3QgY2hhciogY3VyclNlZ21lbnQgPSBwb2ludERhdGEubGF0aW4xKCk7Ci0gICAgY29uc3QgY2hh
ciogZW9TdHJpbmcgPSBwb2ludERhdGEubGF0aW4xKCkgKyBwb2ludERhdGEubGVuZ3RoKCk7Ci0g
ICAgCi0gICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJTZWdtZW50KTsKLSAgICAKLSAgICBpbnQg
c2VnbWVudE51bSA9IDA7Ci0gICAgd2hpbGUgKGN1cnJTZWdtZW50IDwgZW9TdHJpbmcpIHsKLSAg
ICAgICAgY29uc3QgY2hhciogcHJldlNlZ21lbnQgPSBjdXJyU2VnbWVudDsKLSAgICAgICAgZG91
YmxlIHhQb3MgPSAwOwotICAgICAgICBjdXJyU2VnbWVudCA9IHBhcnNlQ29vcmQoY3VyclNlZ21l
bnQsIHhQb3MpOyAKLSAgICAgICAgaWYgKGN1cnJTZWdtZW50ID09IHByZXZTZWdtZW50KQotICAg
ICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcHJldlNlZ21lbnQgPSBjdXJyU2VnbWVudDsKLSAg
ICAgICAgZG91YmxlIHlQb3MgPSAwOwotICAgICAgICBjdXJyU2VnbWVudCA9IHBhcnNlQ29vcmQo
Y3VyclNlZ21lbnQsIHlQb3MpOwotICAgICAgICBpZiAoY3VyclNlZ21lbnQgPT0gcHJldlNlZ21l
bnQpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIAotICAgICAgICBzdmdQb2x5VG8o
eFBvcywgeVBvcywgc2VnbWVudE51bSsrKTsKLSAgICB9Ci19Ci0KLXZvaWQgU1ZHUGF0aFBhcnNl
cjo6cGFyc2VTVkcoY29uc3QgRGVwcmVjYXRlZFN0cmluZyYgcywgYm9vbCBwcm9jZXNzKQotewot
ICAgIGlmIChzLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgRGVwcmVjYXRlZFN0
cmluZyBkID0gczsKLSAgICBjb25zdCBjaGFyKiBwdHIgPSBkLmxhdGluMSgpOwotICAgIGNvbnN0
IGNoYXIqIGVuZCA9IGQubGF0aW4xKCkgKyBkLmxlbmd0aCgpICsgMTsKLQotICAgIGRvdWJsZSBj
b250cmx4LCBjb250cmx5LCBjdXJ4LCBjdXJ5LCBzdWJwYXRoeCwgc3VicGF0aHksIHRveCwgdG95
LCB4MSwgeTEsIHgyLCB5MiwgeGMsIHljOwotICAgIGRvdWJsZSBweDEsIHB5MSwgcHgyLCBweTIs
IHB4MywgcHkzOwotICAgIGJvb2wgY2xvc2VkID0gdHJ1ZTsKLSAgICBza2lwT3B0aW9uYWxTcGFj
ZXMocHRyKTsgLy8gc2tpcCBhbnkgbGVhZGluZyBzcGFjZXMKLSAgICBjaGFyIGNvbW1hbmQgPSAq
KHB0cisrKSwgbGFzdENvbW1hbmQgPSAnICc7Ci0KLSAgICBzdWJwYXRoeCA9IHN1YnBhdGh5ID0g
Y3VyeCA9IGN1cnkgPSBjb250cmx4ID0gY29udHJseSA9IDAuMDsKLSAgICB3aGlsZShwdHIgPCBl
bmQpIHsKLSAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0cik7IC8vIHNraXAgc3BhY2VzIGJl
dHdlZW4gY29tbWFuZCBhbmQgZmlyc3QgY29vcmQKLQotICAgICAgICBib29sIHJlbGF0aXZlID0g
ZmFsc2U7Ci0KLSAgICAgICAgc3dpdGNoKGNvbW1hbmQpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IGNhc2UgJ20nOgotICAgICAgICAgICAgICAgIHJlbGF0aXZlID0gdHJ1ZTsKLSAgICAgICAgICAg
IGNhc2UgJ00nOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29v
cmQocHRyLCB0b3gpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3kp
OwotCi0gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAg
c3VicGF0aHggPSBjdXJ4ID0gcmVsYXRpdmUgPyBjdXJ4ICsgdG94IDogdG94OwotICAgICAgICAg
ICAgICAgICAgICBzdWJwYXRoeSA9IGN1cnkgPSByZWxhdGl2ZSA/IGN1cnkgKyB0b3kgOiB0b3k7
Ci0KLSAgICAgICAgICAgICAgICAgICAgc3ZnTW92ZVRvKGN1cngsIGN1cnksIGNsb3NlZCk7Ci0g
ICAgICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHN2Z01vdmVUbyh0b3gs
IHRveSwgY2xvc2VkLCAhcmVsYXRpdmUpOwotICAgICAgICAgICAgICAgIGNsb3NlZCA9IGZhbHNl
OwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2Fz
ZSAnbCc6Ci0gICAgICAgICAgICAgICAgcmVsYXRpdmUgPSB0cnVlOwotICAgICAgICAgICAgY2Fz
ZSAnTCc6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChw
dHIsIHRveCk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7Ci0K
LSAgICAgICAgICAgICAgICBpZiAocHJvY2VzcykgewotICAgICAgICAgICAgICAgICAgICBjdXJ4
ID0gcmVsYXRpdmUgPyBjdXJ4ICsgdG94IDogdG94OwotICAgICAgICAgICAgICAgICAgICBjdXJ5
ID0gcmVsYXRpdmUgPyBjdXJ5ICsgdG95IDogdG95OwotCi0gICAgICAgICAgICAgICAgICAgIHN2
Z0xpbmVUbyhjdXJ4LCBjdXJ5KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgICAgICAgICBzdmdMaW5lVG8odG94LCB0b3ksICFyZWxhdGl2ZSk7
Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNl
ICdoJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0
ciwgdG94KTsKLSAgICAgICAgICAgICAgICBpZiAocHJvY2VzcykgewotICAgICAgICAgICAgICAg
ICAgICBjdXJ4ID0gY3VyeCArIHRveDsKLSAgICAgICAgICAgICAgICAgICAgc3ZnTGluZVRvKGN1
cngsIGN1cnkpOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAgICAgICAgIHN2Z0xpbmVUb0hvcml6b250YWwodG94LCBmYWxzZSk7Ci0gICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNlICdIJzoKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG94KTsK
LSAgICAgICAgICAgICAgICBpZiAocHJvY2VzcykgewotICAgICAgICAgICAgICAgICAgICBjdXJ4
ID0gdG94OwotICAgICAgICAgICAgICAgICAgICBzdmdMaW5lVG8oY3VyeCwgY3VyeSk7Ci0gICAg
ICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAg
c3ZnTGluZVRvSG9yaXpvbnRhbCh0b3gpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgY2FzZSAndic6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7Ci0gICAgICAgICAgICAgICAgaWYgKHBy
b2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAgY3VyeSA9IGN1cnkgKyB0b3k7Ci0gICAgICAg
ICAgICAgICAgICAgIHN2Z0xpbmVUbyhjdXJ4LCBjdXJ5KTsKLSAgICAgICAgICAgICAgICB9Ci0g
ICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBzdmdMaW5lVG9WZXJ0aWNh
bCh0b3ksIGZhbHNlKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIGNhc2UgJ1YnOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHB0ciA9
IHBhcnNlQ29vcmQocHRyLCB0b3kpOwotICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIGN1cnkgPSB0b3k7Ci0gICAgICAgICAgICAgICAgICAgIHN2Z0xp
bmVUbyhjdXJ4LCBjdXJ5KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgICAgICAgICBzdmdMaW5lVG9WZXJ0aWNhbCh0b3kpOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAneic6Ci0gICAg
ICAgICAgICBjYXNlICdaJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAvLyByZXNl
dCBjdXJ4LCBjdXJ5IGZvciBuZXh0IHBhdGgKLSAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcykg
ewotICAgICAgICAgICAgICAgICAgICBjdXJ4ID0gc3VicGF0aHg7Ci0gICAgICAgICAgICAgICAg
ICAgIGN1cnkgPSBzdWJwYXRoeTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAg
Y2xvc2VkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBzdmdDbG9zZVBhdGgoKTsKLSAgICAgICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNhc2UgJ2MnOgotICAg
ICAgICAgICAgICAgIHJlbGF0aXZlID0gdHJ1ZTsKLSAgICAgICAgICAgIGNhc2UgJ0MnOgotICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB4MSk7Ci0g
ICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHkxKTsKLSAgICAgICAgICAgICAg
ICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgeDIpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNl
Q29vcmQocHRyLCB5Mik7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRv
eCk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7Ci0KLSAgICAg
ICAgICAgICAgICBpZiAocHJvY2VzcykgewotICAgICAgICAgICAgICAgICAgICBweDEgPSByZWxh
dGl2ZSA/IGN1cnggKyB4MSA6IHgxOwotICAgICAgICAgICAgICAgICAgICBweTEgPSByZWxhdGl2
ZSA/IGN1cnkgKyB5MSA6IHkxOwotICAgICAgICAgICAgICAgICAgICBweDIgPSByZWxhdGl2ZSA/
IGN1cnggKyB4MiA6IHgyOwotICAgICAgICAgICAgICAgICAgICBweTIgPSByZWxhdGl2ZSA/IGN1
cnkgKyB5MiA6IHkyOwotICAgICAgICAgICAgICAgICAgICBweDMgPSByZWxhdGl2ZSA/IGN1cngg
KyB0b3ggOiB0b3g7Ci0gICAgICAgICAgICAgICAgICAgIHB5MyA9IHJlbGF0aXZlID8gY3VyeSAr
IHRveSA6IHRveTsKLQotICAgICAgICAgICAgICAgICAgICBzdmdDdXJ2ZVRvQ3ViaWMocHgxLCBw
eTEsIHB4MiwgcHkyLCBweDMsIHB5Myk7Ci0KLSAgICAgICAgICAgICAgICAgICAgY29udHJseCA9
IHJlbGF0aXZlID8gY3VyeCArIHgyIDogeDI7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRybHkg
PSByZWxhdGl2ZSA/IGN1cnkgKyB5MiA6IHkyOwotICAgICAgICAgICAgICAgICAgICBjdXJ4ID0g
cmVsYXRpdmUgPyBjdXJ4ICsgdG94IDogdG94OwotICAgICAgICAgICAgICAgICAgICBjdXJ5ID0g
cmVsYXRpdmUgPyBjdXJ5ICsgdG95IDogdG95OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHN2Z0N1cnZlVG9DdWJpYyh4MSwgeTEs
IHgyLCB5MiwgdG94LCB0b3ksICFyZWxhdGl2ZSk7Ci0KLSAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNhc2UgJ3MnOgotICAgICAgICAgICAgICAgIHJl
bGF0aXZlID0gdHJ1ZTsKLSAgICAgICAgICAgIGNhc2UgJ1MnOgotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB4Mik7Ci0gICAgICAgICAgICAgICAg
cHRyID0gcGFyc2VDb29yZChwdHIsIHkyKTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNv
b3JkKHB0ciwgdG94KTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95
KTsKLSAgICAgICAgICAgICAgICBpZiAoIShsYXN0Q29tbWFuZCA9PSAnYycgfHwgbGFzdENvbW1h
bmQgPT0gJ0MnIHx8Ci0gICAgICAgICAgICAgICAgICAgICBsYXN0Q29tbWFuZCA9PSAncycgfHwg
bGFzdENvbW1hbmQgPT0gJ1MnKSkgewotICAgICAgICAgICAgICAgICAgICBjb250cmx4ID0gY3Vy
eDsKLSAgICAgICAgICAgICAgICAgICAgY29udHJseSA9IGN1cnk7Ci0gICAgICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAg
cHgxID0gMiAqIGN1cnggLSBjb250cmx4OwotICAgICAgICAgICAgICAgICAgICBweTEgPSAyICog
Y3VyeSAtIGNvbnRybHk7Ci0gICAgICAgICAgICAgICAgICAgIHB4MiA9IHJlbGF0aXZlID8gY3Vy
eCArIHgyIDogeDI7Ci0gICAgICAgICAgICAgICAgICAgIHB5MiA9IHJlbGF0aXZlID8gY3VyeSAr
IHkyIDogeTI7Ci0gICAgICAgICAgICAgICAgICAgIHB4MyA9IHJlbGF0aXZlID8gY3VyeCArIHRv
eCA6IHRveDsKLSAgICAgICAgICAgICAgICAgICAgcHkzID0gcmVsYXRpdmUgPyBjdXJ5ICsgdG95
IDogdG95OwotCi0gICAgICAgICAgICAgICAgICAgIHN2Z0N1cnZlVG9DdWJpYyhweDEsIHB5MSwg
cHgyLCBweTIsIHB4MywgcHkzKTsKLQotICAgICAgICAgICAgICAgICAgICBjb250cmx4ID0gcmVs
YXRpdmUgPyBjdXJ4ICsgeDIgOiB4MjsKLSAgICAgICAgICAgICAgICAgICAgY29udHJseSA9IHJl
bGF0aXZlID8gY3VyeSArIHkyIDogeTI7Ci0gICAgICAgICAgICAgICAgICAgIGN1cnggPSByZWxh
dGl2ZSA/IGN1cnggKyB0b3ggOiB0b3g7Ci0gICAgICAgICAgICAgICAgICAgIGN1cnkgPSByZWxh
dGl2ZSA/IGN1cnkgKyB0b3kgOiB0b3k7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgc3ZnQ3VydmVUb0N1YmljU21vb3RoKHgyLCB5
MiwgdG94LCB0b3ksICFyZWxhdGl2ZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBjYXNlICdxJzoKLSAgICAgICAgICAgICAgICByZWxhdGl2ZSA9
IHRydWU7Ci0gICAgICAgICAgICBjYXNlICdRJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgeDEpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBh
cnNlQ29vcmQocHRyLCB5MSk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIs
IHRveCk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7Ci0KLSAg
ICAgICAgICAgICAgICBpZiAocHJvY2VzcykgewotICAgICAgICAgICAgICAgICAgICBweDEgPSBy
ZWxhdGl2ZSA/IChjdXJ4ICsgMiAqICh4MSArIGN1cngpKSAqICgxLjAgLyAzLjApIDogKGN1cngg
KyAyICogeDEpICogKDEuMCAvIDMuMCk7Ci0gICAgICAgICAgICAgICAgICAgIHB5MSA9IHJlbGF0
aXZlID8gKGN1cnkgKyAyICogKHkxICsgY3VyeSkpICogKDEuMCAvIDMuMCkgOiAoY3VyeSArIDIg
KiB5MSkgKiAoMS4wIC8gMy4wKTsKLSAgICAgICAgICAgICAgICAgICAgcHgyID0gcmVsYXRpdmUg
PyAoKGN1cnggKyB0b3gpICsgMiAqICh4MSArIGN1cngpKSAqICgxLjAgLyAzLjApIDogKHRveCAr
IDIgKiB4MSkgKiAoMS4wIC8gMy4wKTsKLSAgICAgICAgICAgICAgICAgICAgcHkyID0gcmVsYXRp
dmUgPyAoKGN1cnkgKyB0b3kpICsgMiAqICh5MSArIGN1cnkpKSAqICgxLjAgLyAzLjApIDogKHRv
eSArIDIgKiB5MSkgKiAoMS4wIC8gMy4wKTsKLSAgICAgICAgICAgICAgICAgICAgcHgzID0gcmVs
YXRpdmUgPyBjdXJ4ICsgdG94IDogdG94OwotICAgICAgICAgICAgICAgICAgICBweTMgPSByZWxh
dGl2ZSA/IGN1cnkgKyB0b3kgOiB0b3k7Ci0KLSAgICAgICAgICAgICAgICAgICAgc3ZnQ3VydmVU
b0N1YmljKHB4MSwgcHkxLCBweDIsIHB5MiwgcHgzLCBweTMpOwotCi0gICAgICAgICAgICAgICAg
ICAgIGNvbnRybHggPSByZWxhdGl2ZSA/IGN1cnggKyB4MSA6IHgxOwotICAgICAgICAgICAgICAg
ICAgICBjb250cmx5ID0gcmVsYXRpdmUgPyBjdXJ5ICsgeTEgOiB5MTsKLSAgICAgICAgICAgICAg
ICAgICAgY3VyeCA9IHJlbGF0aXZlID8gY3VyeCArIHRveCA6IHRveDsKLSAgICAgICAgICAgICAg
ICAgICAgY3VyeSA9IHJlbGF0aXZlID8gY3VyeSArIHRveSA6IHRveTsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBzdmdDdXJ2ZVRv
UXVhZHJhdGljKHgxLCB5MSwgdG94LCB0b3ksICFyZWxhdGl2ZSk7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNlICd0JzoKLSAgICAgICAgICAg
ICAgICByZWxhdGl2ZSA9IHRydWU7Ci0gICAgICAgICAgICBjYXNlICdUJzoKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG94KTsKLSAgICAgICAg
ICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95KTsKLSAgICAgICAgICAgICAgICBpZiAo
IShsYXN0Q29tbWFuZCA9PSAncScgfHwgbGFzdENvbW1hbmQgPT0gJ1EnIHx8Ci0gICAgICAgICAg
ICAgICAgICAgICBsYXN0Q29tbWFuZCA9PSAndCcgfHwgbGFzdENvbW1hbmQgPT0gJ1QnKSkgewot
ICAgICAgICAgICAgICAgICAgICBjb250cmx4ID0gY3VyeDsKLSAgICAgICAgICAgICAgICAgICAg
Y29udHJseSA9IGN1cnk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgaWYg
KHByb2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAgeGMgPSAyICogY3VyeCAtIGNvbnRybHg7
Ci0gICAgICAgICAgICAgICAgICAgIHljID0gMiAqIGN1cnkgLSBjb250cmx5OwotCi0gICAgICAg
ICAgICAgICAgICAgIHB4MSA9IHJlbGF0aXZlID8gKGN1cnggKyAyICogeGMpICogKDEuMCAvIDMu
MCkgOiAoY3VyeCArIDIgKiB4YykgKiAoMS4wIC8gMy4wKTsKLSAgICAgICAgICAgICAgICAgICAg
cHkxID0gcmVsYXRpdmUgPyAoY3VyeSArIDIgKiB5YykgKiAoMS4wIC8gMy4wKSA6IChjdXJ5ICsg
MiAqIHljKSAqICgxLjAgLyAzLjApOwotICAgICAgICAgICAgICAgICAgICBweDIgPSByZWxhdGl2
ZSA/ICgoY3VyeCArIHRveCkgKyAyICogeGMpICogKDEuMCAvIDMuMCkgOiAodG94ICsgMiAqIHhj
KSAqICgxLjAgLyAzLjApOwotICAgICAgICAgICAgICAgICAgICBweTIgPSByZWxhdGl2ZSA/ICgo
Y3VyeSArIHRveSkgKyAyICogeWMpICogKDEuMCAvIDMuMCkgOiAodG95ICsgMiAqIHljKSAqICgx
LjAgLyAzLjApOwotICAgICAgICAgICAgICAgICAgICBweDMgPSByZWxhdGl2ZSA/IGN1cnggKyB0
b3ggOiB0b3g7Ci0gICAgICAgICAgICAgICAgICAgIHB5MyA9IHJlbGF0aXZlID8gY3VyeSArIHRv
eSA6IHRveTsKLQotICAgICAgICAgICAgICAgICAgICBzdmdDdXJ2ZVRvQ3ViaWMocHgxLCBweTEs
IHB4MiwgcHkyLCBweDMsIHB5Myk7Ci0KLSAgICAgICAgICAgICAgICAgICAgY29udHJseCA9IHhj
OwotICAgICAgICAgICAgICAgICAgICBjb250cmx5ID0geWM7Ci0gICAgICAgICAgICAgICAgICAg
IGN1cnggPSByZWxhdGl2ZSA/IGN1cnggKyB0b3ggOiB0b3g7Ci0gICAgICAgICAgICAgICAgICAg
IGN1cnkgPSByZWxhdGl2ZSA/IGN1cnkgKyB0b3kgOiB0b3k7Ci0gICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgc3ZnQ3VydmVUb1F1YWRy
YXRpY1Ntb290aCh0b3gsIHRveSwgIXJlbGF0aXZlKTsKLSAgICAgICAgICAgICAgICBicmVhazsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNhc2UgJ2EnOgotICAgICAgICAgICAgICAgIHJl
bGF0aXZlID0gdHJ1ZTsKLSAgICAgICAgICAgIGNhc2UgJ0EnOgotICAgICAgICAgICAgewotICAg
ICAgICAgICAgICAgIGJvb2wgbGFyZ2VBcmMsIHN3ZWVwOwotICAgICAgICAgICAgICAgIGRvdWJs
ZSBhbmdsZSwgcngsIHJ5OwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCBy
eCk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHJ5KTsKLSAgICAgICAg
ICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgYW5nbGUpOwotICAgICAgICAgICAgICAgIHB0
ciA9IHBhcnNlQ29vcmQocHRyLCB0b3gpOwotICAgICAgICAgICAgICAgIGxhcmdlQXJjID0gdG94
ID09IDE7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7Ci0gICAg
ICAgICAgICAgICAgc3dlZXAgPSB0b3ggPT0gMTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJz
ZUNvb3JkKHB0ciwgdG94KTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwg
dG95KTsKLQotICAgICAgICAgICAgICAgIC8vIFNwZWM6IHJhZGlpIGFyZSBub25uZWdhdGl2ZSBu
dW1iZXJzCi0gICAgICAgICAgICAgICAgcnggPSBmYWJzKHJ4KTsKLSAgICAgICAgICAgICAgICBy
eSA9IGZhYnMocnkpOwotCi0gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpCi0gICAgICAgICAg
ICAgICAgICAgIGNhbGN1bGF0ZUFyYyhyZWxhdGl2ZSwgY3VyeCwgY3VyeSwgYW5nbGUsIHRveCwg
dG95LCByeCwgcnksIGxhcmdlQXJjLCBzd2VlcCk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgICAgICBzdmdBcmNUbyh0b3gsIHRveSwgcngsIHJ5LCBhbmdsZSwgbGFyZ2VB
cmMsIHN3ZWVwLCAhcmVsYXRpdmUpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgfQotICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogQW4g
ZXJyb3Igc2hvdWxkIGdvIHRvIHRoZSBKYXZhU2NyaXB0IGNvbnNvbGUsIG9yIHRoZSBsaWtlLgot
ICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBsYXN0Q29tbWFuZCA9
IGNvbW1hbmQ7Ci0KLSAgICAgICAgaWYgKCpwdHIgPT0gJysnIHx8ICpwdHIgPT0gJy0nIHx8ICgq
cHRyID49ICcwJyAmJiAqcHRyIDw9ICc5JykpIHsKLSAgICAgICAgICAgIC8vIHRoZXJlIGFyZSBz
dGlsbCBjb29yZHMgaW4gdGhpcyBjb21tYW5kCi0gICAgICAgICAgICBpZiAoY29tbWFuZCA9PSAn
TScpCi0gICAgICAgICAgICAgICAgY29tbWFuZCA9ICdMJzsKLSAgICAgICAgICAgIGVsc2UgaWYg
KGNvbW1hbmQgPT0gJ20nKQotICAgICAgICAgICAgICAgIGNvbW1hbmQgPSAnbCc7Ci0gICAgICAg
IH0KLSAgICAgICAgZWxzZQotICAgICAgICAgICAgY29tbWFuZCA9ICoocHRyKyspOwotCi0gICAg
ICAgIGlmIChsYXN0Q29tbWFuZCAhPSAnQycgJiYgbGFzdENvbW1hbmQgIT0gJ2MnICYmCi0gICAg
ICAgICAgICBsYXN0Q29tbWFuZCAhPSAnUycgJiYgbGFzdENvbW1hbmQgIT0gJ3MnICYmCi0gICAg
ICAgICAgICBsYXN0Q29tbWFuZCAhPSAnUScgJiYgbGFzdENvbW1hbmQgIT0gJ3EnICYmCi0gICAg
ICAgICAgICBsYXN0Q29tbWFuZCAhPSAnVCcgJiYgbGFzdENvbW1hbmQgIT0gJ3QnKSB7Ci0gICAg
ICAgICAgICBjb250cmx4ID0gY3VyeDsKLSAgICAgICAgICAgIGNvbnRybHkgPSBjdXJ5OwotICAg
ICAgICB9Ci0gICAgfQotfQotCi0vLyBUaGlzIHdvcmtzIGJ5IGNvbnZlcnRpbmcgdGhlIFNWRyBh
cmMgdG8gInNpbXBsZSIgYmV6aWVycy4KLS8vIEZvciBlYWNoIGJlemllciBmb3VuZCBhIHN2Z1Rv
Q3VydmUgY2FsbCBpcyBkb25lLgotLy8gQWRhcHRlZCBmcm9tIE5pa28ncyBjb2RlIGluIGtkZWxp
YnMva2RlY29yZS9zdmdpY29ucy4KLS8vIE1heWJlIHRoaXMgY2FuIHNlcnZlIGluIHNvbWUgc2hh
cmVkIGxpYj8gKFJvYikKLXZvaWQgU1ZHUGF0aFBhcnNlcjo6Y2FsY3VsYXRlQXJjKGJvb2wgcmVs
YXRpdmUsIGRvdWJsZSAmY3VyeCwgZG91YmxlICZjdXJ5LCBkb3VibGUgYW5nbGUsIGRvdWJsZSB4
LCBkb3VibGUgeSwgZG91YmxlIHIxLCBkb3VibGUgcjIsIGJvb2wgbGFyZ2VBcmNGbGFnLCBib29s
IHN3ZWVwRmxhZykKLXsKLSAgICBkb3VibGUgc2luX3RoLCBjb3NfdGg7Ci0gICAgZG91YmxlIGEw
MCwgYTAxLCBhMTAsIGExMTsKLSAgICBkb3VibGUgeDAsIHkwLCB4MSwgeTEsIHhjLCB5YzsKLSAg
ICBkb3VibGUgZCwgc2ZhY3Rvciwgc2ZhY3Rvcl9zcTsKLSAgICBkb3VibGUgdGgwLCB0aDEsIHRo
X2FyYzsKLSAgICBpbnQgaSwgbl9zZWdzOwotCi0gICAgc2luX3RoID0gc2luKGFuZ2xlICogKE1f
UEkgLyAxODAuMCkpOwotICAgIGNvc190aCA9IGNvcyhhbmdsZSAqIChNX1BJIC8gMTgwLjApKTsK
LQotICAgIGRvdWJsZSBkeDsKLQotICAgIGlmICghcmVsYXRpdmUpCi0gICAgICAgIGR4ID0gKGN1
cnggLSB4KSAvIDIuMDsKLSAgICBlbHNlCi0gICAgICAgIGR4ID0gLXggLyAyLjA7Ci0KLSAgICBk
b3VibGUgZHk7Ci0gICAgICAgIAotICAgIGlmICghcmVsYXRpdmUpCi0gICAgICAgIGR5ID0gKGN1
cnkgLSB5KSAvIDIuMDsKLSAgICBlbHNlCi0gICAgICAgIGR5ID0gLXkgLyAyLjA7Ci0gICAgICAg
IAotICAgIGRvdWJsZSBfeDEgPSAgY29zX3RoICogZHggKyBzaW5fdGggKiBkeTsKLSAgICBkb3Vi
bGUgX3kxID0gLXNpbl90aCAqIGR4ICsgY29zX3RoICogZHk7Ci0gICAgZG91YmxlIFByMSA9IHIx
ICogcjE7Ci0gICAgZG91YmxlIFByMiA9IHIyICogcjI7Ci0gICAgZG91YmxlIFB4ID0gX3gxICog
X3gxOwotICAgIGRvdWJsZSBQeSA9IF95MSAqIF95MTsKLQotICAgIC8vIFNwZWMgOiBjaGVjayBp
ZiByYWRpaSBhcmUgbGFyZ2UgZW5vdWdoCi0gICAgZG91YmxlIGNoZWNrID0gUHggLyBQcjEgKyBQ
eSAvIFByMjsKLSAgICBpZiAoY2hlY2sgPiAxKSB7Ci0gICAgICAgIHIxID0gcjEgKiBzcXJ0KGNo
ZWNrKTsKLSAgICAgICAgcjIgPSByMiAqIHNxcnQoY2hlY2spOwotICAgIH0KLQotICAgIGEwMCA9
IGNvc190aCAvIHIxOwotICAgIGEwMSA9IHNpbl90aCAvIHIxOwotICAgIGExMCA9IC1zaW5fdGgg
LyByMjsKLSAgICBhMTEgPSBjb3NfdGggLyByMjsKLQotICAgIHgwID0gYTAwICogY3VyeCArIGEw
MSAqIGN1cnk7Ci0gICAgeTAgPSBhMTAgKiBjdXJ4ICsgYTExICogY3VyeTsKLQotICAgIGlmICgh
cmVsYXRpdmUpCi0gICAgICAgIHgxID0gYTAwICogeCArIGEwMSAqIHk7Ci0gICAgZWxzZQotICAg
ICAgICB4MSA9IGEwMCAqIChjdXJ4ICsgeCkgKyBhMDEgKiAoY3VyeSArIHkpOwotICAgICAgICAK
LSAgICBpZiAoIXJlbGF0aXZlKQotICAgICAgICB5MSA9IGExMCAqIHggKyBhMTEgKiB5OwotICAg
IGVsc2UKLSAgICAgICAgeTEgPSBhMTAgKiAoY3VyeCArIHgpICsgYTExICogKGN1cnkgKyB5KTsK
LQotICAgIC8qICh4MCwgeTApIGlzIGN1cnJlbnQgcG9pbnQgaW4gdHJhbnNmb3JtZWQgY29vcmRp
bmF0ZSBzcGFjZS4KLSAgICAgICAoeDEsIHkxKSBpcyBuZXcgcG9pbnQgaW4gdHJhbnNmb3JtZWQg
Y29vcmRpbmF0ZSBzcGFjZS4KLQotICAgICAgIFRoZSBhcmMgZml0cyBhIHVuaXQtcmFkaXVzIGNp
cmNsZSBpbiB0aGlzIHNwYWNlLgotICAgICovCi0KLSAgICBkID0gKHgxIC0geDApICogKHgxIC0g
eDApICsgKHkxIC0geTApICogKHkxIC0geTApOwotCi0gICAgc2ZhY3Rvcl9zcSA9IDEuMCAvIGQg
LSAwLjI1OwotCi0gICAgaWYgKHNmYWN0b3Jfc3EgPCAwKQotICAgICAgICBzZmFjdG9yX3NxID0g
MDsKLQotICAgIHNmYWN0b3IgPSBzcXJ0KHNmYWN0b3Jfc3EpOwotCi0gICAgaWYgKHN3ZWVwRmxh
ZyA9PSBsYXJnZUFyY0ZsYWcpCi0gICAgICAgIHNmYWN0b3IgPSAtc2ZhY3RvcjsKLQotICAgIHhj
ID0gMC41ICogKHgwICsgeDEpIC0gc2ZhY3RvciAqICh5MSAtIHkwKTsKLSAgICB5YyA9IDAuNSAq
ICh5MCArIHkxKSArIHNmYWN0b3IgKiAoeDEgLSB4MCk7Ci0KLSAgICAvKiAoeGMsIHljKSBpcyBj
ZW50ZXIgb2YgdGhlIGNpcmNsZS4gKi8KLSAgICB0aDAgPSBhdGFuMih5MCAtIHljLCB4MCAtIHhj
KTsKLSAgICB0aDEgPSBhdGFuMih5MSAtIHljLCB4MSAtIHhjKTsKLQotICAgIHRoX2FyYyA9IHRo
MSAtIHRoMDsKLSAgICBpZiAodGhfYXJjIDwgMCAmJiBzd2VlcEZsYWcpCi0gICAgICAgIHRoX2Fy
YyArPSAyICogTV9QSTsKLSAgICBlbHNlIGlmICh0aF9hcmMgPiAwICYmICFzd2VlcEZsYWcpCi0g
ICAgICAgIHRoX2FyYyAtPSAyICogTV9QSTsKLQotICAgIG5fc2VncyA9IChpbnQpIChpbnQpIGNl
aWwoZmFicyh0aF9hcmMgLyAoTV9QSSAqIDAuNSArIDAuMDAxKSkpOwotCi0gICAgZm9yKGkgPSAw
OyBpIDwgbl9zZWdzOyBpKyspIHsKLSAgICAgICAgZG91YmxlIHNpbl90aCwgY29zX3RoOwotICAg
ICAgICBkb3VibGUgYTAwLCBhMDEsIGExMCwgYTExOwotICAgICAgICBkb3VibGUgeDEsIHkxLCB4
MiwgeTIsIHgzLCB5MzsKLSAgICAgICAgZG91YmxlIHQ7Ci0gICAgICAgIGRvdWJsZSB0aF9oYWxm
OwotCi0gICAgICAgIGRvdWJsZSBfdGgwID0gdGgwICsgaSAqIHRoX2FyYyAvIG5fc2VnczsKLSAg
ICAgICAgZG91YmxlIF90aDEgPSB0aDAgKyAoaSArIDEpICogdGhfYXJjIC8gbl9zZWdzOwotCi0g
ICAgICAgIHNpbl90aCA9IHNpbihhbmdsZSAqIChNX1BJIC8gMTgwLjApKTsKLSAgICAgICAgY29z
X3RoID0gY29zKGFuZ2xlICogKE1fUEkgLyAxODAuMCkpOwotCi0gICAgICAgIC8qIGludmVyc2Ug
dHJhbnNmb3JtIGNvbXBhcmVkIHdpdGggcnN2Z19wYXRoX2FyYyAqLwotICAgICAgICBhMDAgPSBj
b3NfdGggKiByMTsKLSAgICAgICAgYTAxID0gLXNpbl90aCAqIHIyOwotICAgICAgICBhMTAgPSBz
aW5fdGggKiByMTsKLSAgICAgICAgYTExID0gY29zX3RoICogcjI7Ci0KLSAgICAgICAgdGhfaGFs
ZiA9IDAuNSAqIChfdGgxIC0gX3RoMCk7Ci0gICAgICAgIHQgPSAoOC4wIC8gMy4wKSAqIHNpbih0
aF9oYWxmICogMC41KSAqIHNpbih0aF9oYWxmICogMC41KSAvIHNpbih0aF9oYWxmKTsKLSAgICAg
ICAgeDEgPSB4YyArIGNvcyhfdGgwKSAtIHQgKiBzaW4oX3RoMCk7Ci0gICAgICAgIHkxID0geWMg
KyBzaW4oX3RoMCkgKyB0ICogY29zKF90aDApOwotICAgICAgICB4MyA9IHhjICsgY29zKF90aDEp
OwotICAgICAgICB5MyA9IHljICsgc2luKF90aDEpOwotICAgICAgICB4MiA9IHgzICsgdCAqIHNp
bihfdGgxKTsKLSAgICAgICAgeTIgPSB5MyAtIHQgKiBjb3MoX3RoMSk7Ci0KLSAgICAgICAgc3Zn
Q3VydmVUb0N1YmljKGEwMCAqIHgxICsgYTAxICogeTEsIGExMCAqIHgxICsgYTExICogeTEsIGEw
MCAqIHgyICsgYTAxICogeTIsIGExMCAqIHgyICsgYTExICogeTIsIGEwMCAqIHgzICsgYTAxICog
eTMsIGExMCAqIHgzICsgYTExICogeTMpOwotICAgIH0KLQotICAgIGlmICghcmVsYXRpdmUpCi0g
ICAgICAgIGN1cnggPSB4OwotICAgIGVsc2UKLSAgICAgICAgY3VyeCArPSB4OwotCi0gICAgaWYg
KCFyZWxhdGl2ZSkKLSAgICAgICAgY3VyeSA9IHk7Ci0gICAgZWxzZQotICAgICAgICBjdXJ5ICs9
IHk7ICAgIAotfQotCi12b2lkIFNWR1BhdGhQYXJzZXI6OnN2Z0xpbmVUb0hvcml6b250YWwoZG91
YmxlLCBib29sKQotewotfQotCi12b2lkIFNWR1BhdGhQYXJzZXI6OnN2Z0xpbmVUb1ZlcnRpY2Fs
KGRvdWJsZSwgYm9vbCkKLXsKLX0KLQotdm9pZCBTVkdQYXRoUGFyc2VyOjpzdmdDdXJ2ZVRvQ3Vi
aWNTbW9vdGgoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBib29sKQotewotfQotCi12
b2lkIFNWR1BhdGhQYXJzZXI6OnN2Z0N1cnZlVG9RdWFkcmF0aWMoZG91YmxlLCBkb3VibGUsIGRv
dWJsZSwgZG91YmxlLCBib29sKQotewotfQotCi12b2lkIFNWR1BhdGhQYXJzZXI6OnN2Z0N1cnZl
VG9RdWFkcmF0aWNTbW9vdGgoZG91YmxlLCBkb3VibGUsIGJvb2wpCi17Ci19Ci0KLXZvaWQgU1ZH
UGF0aFBhcnNlcjo6c3ZnQXJjVG8oZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3Vi
bGUsIGJvb2wsIGJvb2wsIGJvb2wpCi17Ci19IAotCi19Ci0KLS8vIHZpbTp0cz00Om5vZXQKLSNl
bmRpZiAvLyBTVkdfU1VQUE9SVApJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL3N2Z3BhdGhwYXJzZXIuaAkocmV2
aXNpb24gMTY4MzkpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9zdmdwYXRocGFyc2VyLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNzcgKzAsMCBAQAotLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtE
RSBwcm9qZWN0Ci0gICBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDMgVGhlIEthcmJvbiBEZXZlbG9w
ZXJzCi0KLSAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKLSAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0g
ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgotICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgotCi0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwot
ICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0g
U3VpdGUgMzMwLAotICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0qLwotCi0jaWZuZGVm
IF9fU1ZHUEFUSFBBUlNFUl9IX18KLSNkZWZpbmUgX19TVkdQQVRIUEFSU0VSX0hfXwotI2lmZGVm
IFNWR19TVVBQT1JUCi0KLW5hbWVzcGFjZSBXZWJDb3JlCi17Ci0gICAgY2xhc3MgRGVwcmVjYXRl
ZFN0cmluZzsKLQotICAgIGNvbnN0IGNoYXIgKnBhcnNlQ29vcmQoY29uc3QgY2hhciAqcHRyLCBk
b3VibGUgJm51bWJlcik7Ci0KLSAgICBjbGFzcyBTVkdQb2x5UGFyc2VyCi0gICAgewotICAgIHB1
YmxpYzoKLSAgICAgICAgdmlydHVhbCB+U1ZHUG9seVBhcnNlcigpIHsgfQotICAgICAgICB2b2lk
IHBhcnNlUG9pbnRzKCBjb25zdCBEZXByZWNhdGVkU3RyaW5nICZwb2ludHMgKSBjb25zdDsKLQot
ICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z1BvbHlUbyggZG91YmxlIHgx
LCBkb3VibGUgeTEsIGludCBuciApIGNvbnN0ID0gMDsKLSAgICB9OwotCi0gICAgLyoqCi0gICAg
ICogUGFyc2VyIGZvciBzdmcgcGF0aCBkYXRhLCBjb250YWluZWQgaW4gdGhlIGQgYXR0cmlidXRl
LgotICAgICAqCi0gICAgICogVGhlIHBhcnNlciBkZWxpdmVycyBlbmNvdW50ZXJlZCBjb21tYW5k
cyBhbmQgcGFyYW1ldGVycyBieSBjYWxsaW5nCi0gICAgICogbWV0aG9kcyB0aGF0IGNvcnJlc3Bv
bmQgdG8gdGhvc2UgY29tbWFuZHMuIENsaWVudHMgaGF2ZSB0byBkZXJpdmUKLSAgICAgKiBmcm9t
IHRoaXMgY2xhc3MgYW5kIGltcGxlbWVudCB0aGUgYWJzdHJhY3QgY29tbWFuZCBtZXRob2RzLgot
ICAgICAqCi0gICAgICogVGhlcmUgYXJlIHR3byBvcGVyYXRpbmcgbW9kZXMuIEJ5IGRlZmF1bHQg
dGhlIHBhcnNlciBqdXN0IGRlbGl2ZXJzIHVuYWx0ZXJlZAotICAgICAqIHN2ZyBwYXRoIGRhdGEg
Y29tbWFuZHMgYW5kIHBhcmFtZXRlcnMuIEluIHRoZSBzZWNvbmQgbW9kZSwgaXQgd2lsbCBjb252
ZXJ0IGFsbAotICAgICAqIHJlbGF0aXZlIGNvb3JkaW5hdGVzIHRvIGFic29sdXRlIG9uZXMsIGFu
ZCBjb252ZXJ0IGFsbCBjdXJ2ZXMgdG8gY3ViaWMgYmV6aWVycy4KLSAgICAgKi8KLSAgICBjbGFz
cyBTVkdQYXRoUGFyc2VyCi0gICAgewotICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCB+U1ZH
UGF0aFBhcnNlcigpIHsgfQotICAgICAgICB2b2lkIHBhcnNlU1ZHKCBjb25zdCBEZXByZWNhdGVk
U3RyaW5nICZkLCBib29sIHByb2Nlc3MgPSBmYWxzZSApOwotCi0gICAgcHJvdGVjdGVkOgotICAg
ICAgICB2aXJ0dWFsIHZvaWQgc3ZnTW92ZVRvKCBkb3VibGUgeDEsIGRvdWJsZSB5MSwgYm9vbCBj
bG9zZWQsIGJvb2wgYWJzID0gdHJ1ZSApID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0xp
bmVUbyggZG91YmxlIHgxLCBkb3VibGUgeTEsIGJvb2wgYWJzID0gdHJ1ZSApID0gMDsKLSAgICAg
ICAgdmlydHVhbCB2b2lkIHN2Z0xpbmVUb0hvcml6b250YWwoIGRvdWJsZSB4LCBib29sIGFicyA9
IHRydWUgKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0xpbmVUb1ZlcnRpY2FsKCBkb3VibGUg
eSwgYm9vbCBhYnMgPSB0cnVlICk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzdmdDdXJ2ZVRvQ3Vi
aWMoIGRvdWJsZSB4MSwgZG91YmxlIHkxLCBkb3VibGUgeDIsIGRvdWJsZSB5MiwgZG91YmxlIHgs
IGRvdWJsZSB5LCBib29sIGFicyA9IHRydWUgKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBz
dmdDdXJ2ZVRvQ3ViaWNTbW9vdGgoIGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHgyLCBkb3Vi
bGUgeTIsIGJvb2wgYWJzID0gdHJ1ZSApOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQ3VydmVU
b1F1YWRyYXRpYyggZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgeDEsIGRvdWJsZSB5MSwgYm9v
bCBhYnMgPSB0cnVlICk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzdmdDdXJ2ZVRvUXVhZHJhdGlj
U21vb3RoKCBkb3VibGUgeCwgZG91YmxlIHksIGJvb2wgYWJzID0gdHJ1ZSApOwotICAgICAgICB2
aXJ0dWFsIHZvaWQgc3ZnQXJjVG8oIGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHIxLCBkb3Vi
bGUgcjIsIGRvdWJsZSBhbmdsZSwgYm9vbCBsYXJnZUFyY0ZsYWcsIGJvb2wgc3dlZXBGbGFnLCBi
b29sIGFicyA9IHRydWUgKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0Nsb3NlUGF0aCgpID0g
MDsKLSAgICBwcml2YXRlOgotICAgICAgICB2b2lkIGNhbGN1bGF0ZUFyYyggYm9vbCByZWxhdGl2
ZSwgZG91YmxlICZjdXJ4LCBkb3VibGUgJmN1cnksIGRvdWJsZSBhbmdsZSwgZG91YmxlIHgsIGRv
dWJsZSB5LCBkb3VibGUgcjEsIGRvdWJsZSByMiwgYm9vbCBsYXJnZUFyY0ZsYWcsIGJvb2wgc3dl
ZXBGbGFnICk7Ci0gICAgfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8g
U1ZHX1NVUFBPUlQKLSNlbmRpZgotCi0vLyB2aW06dHM9NDpub2V0CkluZGV4OiBMYXlvdXRUZXN0
cy9zdmcvY3VzdG9tL2VtcHR5LXByZXNlcnZlLWFzcGVjdC1yYXRpby1leHBlY3RlZC5wbmcKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3Zu
Om1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVydHkgY2hhbmdlcyBv
bjogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tZXhw
ZWN0ZWQucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9u
L29jdGV0LXN0cmVhbQoKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fk
b0p3QUFBTWVVbEVRVlI0bk8zWndRMkFRQXdFc1lQR29mUFEKeFJ3Q3U0S1Y4aHJsV1BlYXhXdk01
UndBQUh6WHVYc0FBQUR3SHdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQQpB
Q0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFD
QWpRQUFBZ0l3QUFRQUFNZ0lFCkFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFD
QWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0EKQVFBQU1nSUVBQURJQ0JBQUFD
QWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNB
agpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNB
alFBQUFnSXdBQVFBQU1nSUVBQURJCkNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNB
alFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUEKTWdJRUFBRElDQkFBQUNB
alFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0Fq
UUFBQQpnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0Fq
UUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBCkFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0Fq
UUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUUKQUFESUNCQUFBQ0Fq
UUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNCenpNenNIZ0VBQVB5RER3Z0FBSkFSSUFBQVFFYUFB
QUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFB
QUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFB
QUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFB
QUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFB
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEK
R1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
CkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFtUWRpbFF5bllNdXpn
QUFBQUFCSlJVNUVya0pnCmdnPT0KCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3ByZXNl
cnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRp
c3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBs
aWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3N2
Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC5wbmcKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgoK
aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFnQUVsRVFWUjRu
T3pkZVhnVjVmbnc4ZThzSndGQwpDRmxBUUN5TElnWkVRRUZrSzRzZ0loYVZYWXEyalVXRVZpbWxv
SzMweHlKYWhZb2JLdHBYc2JScUsxaHhRMUM4ckdKeFEwQ2g3S0RzCm0wSUNnWkJ6WnVaKy96aGtT
Q0JuVFFDdDkrZTZjaVU1TS9QTXM4MmNjNTk1NWhsRFJBU2xsRkpLS2FXVWl0UDgrZk1KaFVKa1pX
VlIKVkZSRUtCVENNQXlxVktsQ1Nrb0tnVUNBbEpRVS8yL0xzbkJkbDZLaUl1eXpuWG1sbEZKS0th
WFU5NHR0MnpSbzBJQkdqUnBobWliQgpZSkRDd2tLT0hqMkthWnFrcEtTUW1wcnFCeUVsQWNpUkkw
YzBBRkZLS2FXVVVrb2x4cklzVE5Nc0UyeFVyMTZkZ29JQ0Nnc0xDUVFDCm1LYUpiZHZZdG8xbFdS
aUdnV1ZaR29Bb3BaUlNTaW1sRWxNeXJNb3dEUDhId29GSnlmQ3IxTlJVVWxOVC9XREVkVjFTVTFN
MUFGRksKS2FXVVVrb2xydVJXY2hIQjh6d09IejdNb1VPSHNHMGJ6L1A4SDhBUFVBQU5RSlJTU2lt
bGxGS0pFUkUvQUNrdUxtYnYzcjBjUG53WQp3ekJJVFUwbEZBb1JEQVlCTUUxVEF4Q2xsRkpLS2FW
VThrcUNpdUxpWXJaczJjTEtsU3ZadDI4ZitmbjVGQllXVXFWS0ZiS3pzN25nCmdndG8xNjRkNTV4
ekRwWmxJU0lhZ0NpbGxGSktLYVVTNDNrZWp1T3dZc1VLRnY5N0JSK3ROOWx5dEQ3ZkJOcVFXaFhP
c2ZkVDY1dHQKMU52d2I5YXZYMCtQSGoxbzFxeVpCaUJLS2FXVVVrcXB4SWtJZS9mdTVZMTMxck53
VlJhYlErZGhaZ1JJcjVGS1JvMEFnU3ExS2E3UwpncDBIVnVGOHZZTFFXMjlobWlZTkd6YlVBRVFw
cFpSU1NpbVZ1QlZmYnVPZDFUWFlYRndQSTdzSzZSbXBaR2Fra0ZFOVFJMnFLVlJMCk5RbGtYOEd4
blFHMjd2MlF6ejc3akt5c0xBMUFsRkpLS2FXVVVva0pCb044dmpIQWhrTTVHRGsyTldxRUE0K002
aWxrMWFoQ2piUXEKVkt1V1NwV0FnWkhWaFFPZmJXWG56cDNzM0xsVEF4Q2xsRkpLS2FWVVlvNGRP
OFovdDZhUW1wWkt4eXZxa0ZNendQNUNPQkkwcUZxMQpLbFdycFZHamVncFYwNnBoQWNIekx1WG85
bGM1Y09BQTV0bk92RkpLS2FXVVV1cjd4Zk04dHUrenVhSjFEbDFiWkhCSmcrcGMyakNOCkZEdEF3
TGFva3BwQ3RiUnFwRldIOUJxUTAvZ3lqaDQ5U2lnVTBnQkVLYVdVVWtvcGxSZ1I0VWd3UUc3RDZs
Ukx0YkJOdy85dDJ3RUMKS1NuWU5xU21RcFUwcUZrbjY4UnpRYzV5M3BWU1NpbWxsRkxmTTVabEFS
N3AxU3hzQXd6QXNzRzBERXhEc0V3d1RVaEpBVHNWckVBNAphREZOVXdNUXBaUlNTaW1sVkJMaytH
L0RRQWdISVNBWXBvVmhnR21FVndrRXdFN0JmeHE2QmlCS0thV1VVa3FweExrdWlPQjZYamo0CjhF
QUV4UFB3UFBBQThjQjF3cXNiaHFGWFFKUlNTaW1sbEZKSnlrbkROZ3hjTDN5bEkrUUtIdUJoNG1M
aUFvNERZb1lERXpnZWhKekYKTEN1bGxGSktLYVcreHp6WHd3UkNuaUFpT0M2RUhCZkhjWENGY0JE
aVFyRFVWUkI5RG9oU1NpbWxsRklxS1dLYVlCcWtBSTV0RUxEQQp0Z3dDdGtuQUFEc0FxU25nVlRt
eGpWNEJVVW9wcFpSU1NpWEhJRHdMbGhDZStjb1FVaXdJbU9FQUpBQllBaW1sb283dlRBQlNWRlIw
CnRyT2c0dkJEYTZlalI0K2U3U3hVeUErdHZaUlNTaWwxWmhtMmlXRWFtSFo0aHF0QVNnQXJZR0ha
QnFZZG5vclhEb1NEa3hJeEE1REgKSDMrYzNOeGNjbk56YWRHaUJUMTY5UEQvdi96eXkrblFvVU9a
L3dHZWZQSkpMcjc0WW5KemM3bmtra3RpWnZ5UlJ4NGhJeU9EWWNPRwpKVmwwZFNaOEY5b3AwYjZW
ck5kZWU0M216WnN6YU5BZyt2WHJ4K1RKaytQYWJ1Yk1tVFJyMW96YzNGeCsvT01mUjN6dFRQZ3V0
SmRTClNpbWwvc2NaWUNDWUJwaUdpWVZnSVpnSXRnVXBBYkNNOEUrSm1BSEl2bjM3Mkx4NU0zZmZm
VGVmZlBJSlk4YU1ZZDI2ZGF4YnQ0NGEKTldxd2RPbFNYbjMxVmFwWHI4NjZkZXNBR0RseUpMVnEx
ZkxYaStYVlYxOGxGQXJ4NnF1djRqaE84aFdnWXNyUHo2ZHIxNjVKYlhzMgoydW5rL0NiYXQ1S3ha
czBhQmcwYXhKbzFhM2ptbVdmWXZYczNreVpOWXRteVpURzMvZld2ZnczQXVuWHIyTGh4WThUWHpn
UTlycFJTClNpbDEyaGtHbG1GZ0dlR25vRnNHV0phSmJacFlWdmpaSUxZRnBuVmlrNWdCaUlnd1pj
b1VoZzBiUnJWcTFjcGQ1OElMTDJUQmdnWFkKOW9sNzJqTXpNK1BPOTVRcFUramR1emN6Wjg0c2s0
YXFYQ0xDelRmZnpQcjE2NVBhL2t5M1U2VDhKdEsza3ZIZWUrOVJYRndNd0RubgpuTU1WVjF4Qml4
WXRxRk9uVGx6YjE2eFpNNjdYVGpjOXJwUlNTaWwxdW9raG1KYUphWVNIV1ZrR21BaW1JZGpHOFlj
UUdoQW9GWFhFCjlhbWtiOSsrTWRlcFZhdFcwc05MT25YcXhJSUZDNUxhVnNWdnpKZ3h2UDc2NjNG
L2tEN1ptVzZuaXVZM1dWOSsrV1daL3g5NjZLRXoKdXYvS29zZVZVa29wcFU0NzA4UXd3TExBOUF4
czI4SzJER3pid0FxRXIzWVlGaGlKRE1HYU1tVUt6Wm8xaTJ2LzgrZlBML2Yxdlh2MwpNblRvVU9y
WHIwLy8vdjM1ejMvKzR5OTcvUEhINmRhdEc5MjZkZU9hYTY3eFgzLzk5ZGU1N0xMTHVQYmFhK25T
cFF0RGh3N2wwVWNmCkxUZjlGMTk4a2U3ZHUvdnBmUDc1NS9UdjM1K2NuQnc2ZE9qQWh4OStXR2I5
WGJ0MmNjODk5ekJ4NGtSNjl1eEo3OTY5bVRwMUtudjMKN2kyejN2NzkrL25OYjM1RHMyYk42Tkdq
QjAyYk5pVXZMNDg3N3JpRE8rNjRnMlBIanZuclB2MzAwN1JyMTQ1cnJybUd3WU1IczNMbAp5cGox
OWY3Nzc5T25UeDkrK2N0ZjBxMWJOKzY4ODA0T0hqem9MMSt3WUFIZHUzZG4wS0JCOU96WmsvSGp4
NWZaNTZ4WnMvd3k5Ky9mCm41MDdkL0xUbi83VXIrZC8vL3ZmL3JvVEpremdrVWNlQWVEQWdRUCsv
dUt0ai9MYUtaSDlRMkp0R2kyL3BVWHJXeVVTYVp2cDA2ZXoKZVBGaS8vKzh2RHllZnZwcC8vOVli
WktvV09uTm1ESERyK1B1M2J1emFORWkzbnJyTFhyMDZPRy9QbW5TSkxaczJjS0FBUVBvMWFzWAph
OWV1clpUMlNxVC9seWRTdmMrZVBkcy9YcSs1NWhvS0Nnckl5OHZqUnovNkVmZmRkMS9NNWZIV1hU
enBST3VUQlFVRjlPN2RtMHN2CnZUU3U0MWtwcFpUNklSTEFFeEJQd29HSWJSQ3dyUENNV0JLK0lt
TGI0UnZSVDJ5VW9EZmVlRU9PNzB1dXZQTEtpT3ZkY01NTkFvaHAKbXRLdlh6K1pNV09HMUt0WFR3
Q3BWYXVXaEVJaGY5MVdyVm9KSU5XclZ4Y1JrY09IRDB2MTZ0Vmw3Tml4SWlKU1VGQWdIVHAwa0du
VApwa1hjMy9YWFgrL25hOGlRSWJKa3lSSzU3YmJiQkJEYnRtWDE2dFVpSXVKNW5qUnAwa1JxMTY0
dHhjWEZJaUp5NDQwM0NpQnQyN2IxCjB5c3FLcEtXTFZzS0lGT25UaFVSa2RHalJ3c2d6Wm8xazRj
ZWVzamZmdHk0Y1FMNCtSczZkS2pVcWxWTDFxOWZIekcvenp6empKaW0KS1dQR2pCRVJrYkZqeHdv
Z0F3Y09GQkdSeHg1N1RBREp5OHNURVpFVksxWUlJRzNhdFBIM0t5TFNxVk1uQVNROVBWMEdEUm9r
RHovOApzRi9QV1ZsWkVnd0dSVVFrUHo5ZnJyenlTZ0drZHUzYXNuZnZYc25QejQrN1BzcHJwMFQy
bjJpYlJzcXZTR0o5SzlHMldidDJyZlRxCjFjdnZTeDkvL0xGczJyUXBvVFpwMzc2OUFGS25UcDJv
cjhXVFhuRnhzVisyQmcwYStOdmVldXV0Zmg0TENncjg5RXJYWjBYYUs1SCsKWDU1WTlkNnpaMDhC
cEVxVkt0S3paMDlwMEtDQkFKS1JrU0dlNThWY0htOWJSRXZuMEtGRFVmdms3Tm16L1RxKzVaWmJJ
cFpWS2FXVQoraUdhTzNldTBQNTErY05MWDh2ajcrNlZtZS91ayttTDlrbi9KM2ZLYlM4ZGxqKzhM
VEo5bWNqVEcwVCt0anY4ZTlpd1lUSjM3bHc1CjdkUHdlcDdIczg4K3k1Z3hZeGcrZkRnUS9tWjE2
OWF0L2pxMWF0VXFzODI4ZWZNb0xDeGt5WklsZlBQTk45U29VWU5ISG5razZsQ2MKMnJWciszOC84
TUFEZE9yVWlRa1RKZ0RnT0k3L2plZTMzMzdMcGsyYjJMZHZIMHVXTEFHZ2ZmdjJBSHoyMldmczM3
OGZnQTgrK0lBdgp2dmdDZ05hdFd3UFFxbFVySUh3emNmLysvVWxKU1dIZHVuWE1tREVEZ0k0ZE93
TFF0bTFiOXUvZno0TVBQbGh1WHZmdTNjdVlNV1B3ClBNKy93YnBEaHc0QXVLN0xqaDA3dU91dXV3
RG8zYnUzdisrYU5XdXliTm15TWtPQ1N1cnU4T0hEUFBYVVU0d2VQZHF2NXdNSERyQjkKKzNZQU1q
SXlTRTFOQmNBMFRXclhyazFHUmtiYzlWRjZYNlhGdS85RTJ6UlNma3VMMWJlU2FadUxMcnFJN094
cy8vOTI3ZHB4L3ZubgpKOVFtOFlnM3ZaU1VGRWFPSEFuQTFxMWJXYkZpaGI5dWlmZmZmOS8vWFZJ
UFVMSDJpcmYvbHllZWVpL0p4N0ZqeDdqMTFsdjUvUFBQCitkV3Zmc1drU1pNd0RDUHE4cDA3ZHla
OGZKU1h6c3N2dnh5MVQzYnUzSm1NakF4czIrYnFxNjh1dDZ4S0thWFVENTRyR0hpNHJvc0kKdUk2
SDQ3ZzREamloOEJQUXBlUXJ2ZVBPeUhOQVNqNDRwcWVuKzY4VkZoWkdYTDlodzRZQWZQcnBwelJy
MW96cDA2ZHp5U1dYY05OTgpOOFcxdnhvMWFnQlF0MjVkLytiYmtnOVRPVGs1UFBYVVU5eDU1NTEw
N3R5WlVDakV0bTNiL0cxTGhoMlZ6bXZWcWxVQnFGSWwvQWhICnovUFlzMmNQRVA3UTU3b3VFUDdB
L3ZlLy81MVZxMVlCNFp1WnkvUGFhNjl4Nk5BaEFISnpjd0c0NFlZYitQREREM25oaFJkWXRHZ1IK
UjQ0Y0FjcCtpQ3dKc3ViTm0xZHV1aVUzT3BmTysrSERoOHV2cE9QaXJZOTRSTnQvUmRzMGttaDlL
NW0yaVNUWk5xbU05UEx5OHJDcwo4TlFSczJmUDlyY3ZxZSszM25xTFBYdjJrSmFXbHRETjd0SGFL
OTcrWDU1RTY3MWJ0MjVrWjJjemMrWk1mdk9iMzhSY25teGJuSnhPCnJENTUvdm5uczNQblRyWnYz
ODZBQVFNaWxsY3BwWlQ2SVF0UHRHbUNZWWFIWXhrbWppYzRIcmlFNDQ1UUNJcExUY2o1blhrUVlX
bWQKTzNmbVp6LzdHUkQrUm52OCtQRzBhdFdxekFmamVKaW02WCtiV2ZxRDlQRGh3eGs2ZENpMzNY
WWJWMTk5ZGJuVHVWNXh4UlUwYWRJRQpnTTJiTndQNHN6RmxaMmY3M3dwLzlkVlgvamJCWUpCQUlN
QlZWMTNGUC83eEQrNi8vLzV5ODFWNmZ6dDI3QURBTUF3NmR1eElhbW9xCkd6WnM4SmVYZk9pREV4
OEVTeSt2RFBIVVIwVlZWcHNtSXBtMmlhU3kyeVNSOU9yVnEwZWZQbjBBZVA3NTUxbTFhaFVOR3pi
a2hodHUKQUdEaHdvWDgvZTkvOSt1M01zVGIvOHVUYUwyWExuOTVUbDZlYkZ1Y25FNDhmVEl0TGUy
TVQ0S2dsRkpLZlorSXVIamk0WW9Mbm92agpPSGllSUlTdmdJUmNDSG1FNStNOTdqc1pnRmlXeFhQ
UFBjY0xMN3hBNDhhTkFWaTdkaTJQUGZaWXdtbVZmRk5hdjM1OUlEeTE2KzIzCjMwN0xsaTM1NXB0
dmVQdnR0K25ldmZzcDJ4bUd3ZEtsUzduMjJtdVpQSGt5dDk5K08wOCsrU1JYWG5rbEgzMzBrWDls
cGZUUXI0WU4KR3pKNDhHRC9wMSsvZnVYbXFmUzMxQ2ZmSUEvaEt6Y2xRcUdRLzNjd0dEeGxlVVhG
V3g4VlZabHRHcTlrMmlhU3ltNlRSTk1yUFV4cQp5SkFoREI4K25JRURCd0xoRC96ejVzMUwrdmt1
NVltMy81ZW5NdXU5UEpYVkZtZWpUeXFsbEZML2F3d1BYQUVSZzJMWHhQWEE5Y0NSCjhHL1hEVjhG
T1Q0NEFrZ2lBUEU4cjl5L0s5T2YvL3huTm0zYXhJMDMzc2o2OWV1NSsrNjdnY1NIelJRWEYvdXpT
clZyMXc0SXo5UTEKYytaTUFIN3hpMS80UTF2S3MyN2RPbmJ2M3MyY09YT1lNR0VDZS9ic1lmSGl4
ZjQzdzBDWkdjTGVlT09OTXR1dlhyMjYzSFJMOGhLcApUQ1hqNXFIc0VLcVNZVnVkTzNlT21PZDRp
SVFINGJtdW0xQjlWRVJGMnJSMGZoT1JUTnRFVXRsdGttaDZ2WHYzOW9Qb3pNeE1tamR2ClRvOGVQ
Znhub3Z6a0p6L0JLRDIvWFNXSXAvK1hwekxydlR5VjFSYXgrdVNoUTRlNDRZWWI2TkNoZ3orRVRD
bWxsRkluOGNJellJVkMKZ3VlNWhCeVBZTWpGQ1RxNGduOHZTSEh3eENZSkJ5QWw5MUlBckZxMXl2
OXdlTExTSHd4S3BzWXNQVVZtNlh0QUNnb0tnUEMzbWE3cgprcCtmendNUFBBQ0FiZHVNR1RNR3dQ
L0dONWE1YytjQzhOeHp6d0hoRzNsTGJsck56OC8zMTN2enpUZFp0bXdaTDczMFVwbTh1SzVMCllX
RWgvZnIxWTkyNmRlellzWU5seTVheGFORWlWcTFhVmVaYjExNjlldmtmaU9iTW1jTzBhZE5Zdm53
NVU2ZE85Y2Zybit5cXE2N2kKeWl1dkJNSWZkaVpPbk1qZXZYdjUrT09QR1RWcUZKZGVlaWxEaHc0
RllQbnk1VUQ0bSsrZE8zZVNucDdPNU1tVC9iUmkxWE5SVVpILwpkOG1WbC8zNzk3Tnc0VUpHalJw
VlppeC90UG9vK1J0T3RGTWkrMCttVGN2TGIyRmhZZHg5SzVtMk9ibE11M2J0QXNJM1VjZmJKaVg3
ClAzcjBxSDk4blB4YUl1bEIrTnY2dkx3OEFFYU1HQUZBSUJEZyt1dXZ4N0lzZnY3em41OVNqb3Ew
Vjd6OXZ6engxSHZwNDMvbnpwMm4KcEJGdGVUSnRVVjQ2c2Zya0s2Kzh3dno1OC9ub280OGlUaGV0
bEZKSy9kQlpRTkFWTU1CeHdjWEF3eUlrSmtFWFFnNEVqMThsOGNVNwoxZGEzMzM0ck45MTBrMlJu
Wi90VFV3TFN0V3RYZWVHRkY4cXNPMnZXTEVsTlRmWFhHVGx5cEt4YXRVb2FOV3JrdjlhK2ZYczVl
UENnCnpKbzFTMHpUOUY4Zk4yNmMzSDMzM2RLaVJRdnAxS21UM0h2dnZkS3JWeTlwMjdhdDdOKy9Q
MkwrU2s5TE9ucjBhRG4vL1BNRmtKbzEKYThvNzc3empyM2YwNkZHNTRJSUwvSFZ2dnZsbWVmdnR0
eVV0TFUwQTZkNjl1eHc0Y0VEV3JWdFhwcHlsZjlMUzB1VDU1NS8zMDl5eApZNGRjZmZYVi92SkFJ
Q0JqeDQ3MXB6UXR6OEdEQjZWZnYzNWwwdTNUcDQvczNyMWJSTUxUb0k0YU5VcHljbkxra1VjZWtX
dXZ2Vll1CnV1Z2krZUtMTHhLcTV5NWR1c2pCZ3dkRlJHVHg0c1grK3BtWm1mTDIyMi9IWFIvbHRW
TWkrMCttVGN2TGJ5SjlLNW0ybVRsenBsU3IKVnExTS8xNjRjR0hjYmZMWVk0K1ZxYWV4WThlVysx
cTg2WlcyZGV0V3ljbkprYUtpSXYrMUJRc1dTSjgrZlU1WnQ2THRsVWovTDArMAplbi91dWVmOC9n
Vkl4NDRkNWROUFAvVzNqYlU4M3JxTGxVNnNQcmxod3daSlMwc1QwelJQT2NjcHBaUlNQM1FsMC9E
ZStaY044dWNGCk8rV2UxM2ZLM1MvdmxJNS8rbHI2UHJsZmZ2NlBZaG56anNqRWowVWUrSy9JcEk5
UFRNTnJpRVM0aEhFV2JkbXloWVlORzNMMDZGRysKL1BKTHNyT3phZEtrQ2FZWitZTE5pQkVqL0Fm
R0hUeDRFTnUyMmJCaEF5MWF0Q0FRQ0pSWlYwUll1WElsdFdyVjhvZTFIRHAwaUUyYgpOdEdxVlN0
L1B3ODg4SUIvNWVSazJkblo3TnUzcjB5ZWR1ell3WjQ5ZTdqNDRvdGozbGhiWXYvKy9heGJ0NDZH
RFJ0eTNubm5uYkw4CjBLRkRyRjY5bXJwMTY5S29VYU80MG95bW9LQ0F6WnMzMDdScFU5TFMwb0Q0
NjZNaWttblRTUGxOUmpKdEUwbGx0MGtpNmExZnY1Nm0KVFp2Ni80ZENJWGJ0MmtXREJnMHFuSStU
SmRyL3kxT1o5VjZlaXJSRlBIMnlvS0NBUTRjT2xYdHNLcVdVVWo5azgrYk5ZK0NNS296LwpaUzYx
ejYyRzY4SFJrTUg3NjR2SnFsbWQ3S3dNTW12YXBHZENlZzBvT2dMLy9mTk5YSGZkZFh3bkE1Qmts
QTVBdnYzMlc3S3lzaXFVCjNwSWxTK2pidHk4UFAveXdQeTJuaUxCOSszWnV2LzEyUHZua0UzYnYz
bjNhN3BsUTZtelMvcStVVWtxcGFQd0FaSGd1OWM2dFJ0Q0IKWTU3QnY5Y2RvM1pXT2xtWm1XUm1t
S1RYaExSMENCNkRGZFBDQWNoM2NoYXNaSlRjZ0FvbnBnMnRpTldyVjVPZm44K3hZOGN3VFJQVApO
TEVzaXpwMTZtQlpGcU5HamRJUFgrcC9sdlovcFpSU1NzWERzRTBNMDhDMHc1UGhCRklDV0FFTHl6
WXdiVEJOc0FOZ2xZbzZJcytsCitUM3kxNy8rbFk4Ly90aC9LTm52ZnZjN0prK2VYS0ZwU1crNTVS
WTh6MlBldkhtODhzb3IxSzFibDh6TVRJTEJJQ05HalBDZndLelUKL3lMdC8wb3BwWlNLaXdFR2dt
a1ltSWFKaFlPRllDTFlsa0ZLQUN3ai9PTnY4cjh5QkVzcHBaUlNTaWwxWnBRTXdicnpWeGZ6b3pw
VgpjTVNpS0FULzJWUk1Ublk2V1JrWlpHWkRlanFrWjRUdkFmbG82di9ZRUN5bGxGSktLYVhVbVNX
R1lGb21waEVlWm1VWllDS1lobUFiCkVBZ1EvbDBxNnRBQVJDbWxsRkpLS1pVYzA4UXd3TExBTkEx
czI4SzJER3pid0FxRWd3M0RndExQUzlZQVJDbWxsRkpLS1pVVUFUd0oKUHczZE1NQ3lEUUtXaFdX
Q0tlRXJJcllkdmhHOWhBWWdTaW1sbEZKS3FhUUVMQkFQQkFQWEV4ekh3NUZ3VU9JUkRsQWNCMExC
RTl0bwpBS0tVVWtvcHBaUktqaXNZZUxpdWl3aTRqb2ZqdURnT09DRUlPaUJDT0JJNTduOWlHbDZs
bEZKS0thWFVtZWM0QUNZWXg0ZGpHU2FPCkp6Z2V1SVJmQzRXZzJEbXhqUVlnU2ltbGxGSktxYVNJ
dUhqaTRZcUFaK0E0RHA0bjRhRlhJUWk1RVBJQXZRbGRLYVdVVWtvcFZWR0cKQjY2QWlFR3hhK0o2
NEhyZ1NQaTM2NGF2Z3JqdWlXMDBBRkZLS2FXVVVrb2x4d3ZQZ0JVS0NaN25Fbkk4Z2lFWEoramdD
djY5SU1WNgpFN3BTU2ltbGxGS3FvaXdnNkFvWTRMamdZdUJoRVJLVG9Bc2hCNExIcjVLVTBBQkVL
YVdVVWtvcGxSVFA5VENCa0NlSUNJNExJY2ZGCmNjSlhRRnpDZ1VsUWIwSlhTaW1sbEZKS1ZaU1lK
cGdHS1lCakd3UXNzQzJEZ0cwU01NSVBJRXhOQWEvS2lXMzBDb2hTU2ltbGxGSXEKT1FiWUJoaEMr
T25uaHBCaVFjQU1CeUFCd0JKSUtSVjFhQUNpbEZKS0thV1VTb3BobXhpbWdXbUg1OWtOcEFTd0Fo
YVdiV0RhWUpyaApxeUNXQmlCS0thV1VVa3FwQ2pQQVFEQU5NQTBUQzhGQ01CRnNDMUlDWUJuaG54
SjZENGhTU2ltbGxGSXFPWWFCWlJnSUZyWjVQTml3ClRHelR4TExDengrMExRaFpKemJSS3lCS0th
V1VVa3FwcElnaG1KYUphWVNIV1ZrR21BaW1JZGdHQkFMaGUwUUNPZ1JMS2FXVVVrb3AKVldHbWlX
R0FaWUZwR3RpMmhXMFoyTGFCRlFnSEc0WUZScWtoV0JxQUtLV1VVa29wcFpJaWdDZmhwNkViQmxp
MlFjQ3l3ak5pU2ZpSwppRzJIYjBRdm9RR0lVa29wcFpSU0tpa0JDOFFEd2NEMUJNZnhjQ1FjbEhp
RUF4VEhnVkR3eERZYWdGUUMxM1hQZGhhVStzSFM0MDhwCnBaUTZpMXpCd01OMVhVVEFkVHdjeDhW
eHdBbUZuNEF1UWpnU09VNERrQmptekpuRHdJRURHVHg0TUlXRmhlV3VjK0dGRjdKOCtmTFQKbmhj
UllmNzgrZnpmLy8wZkgzendBU0p5eWpwcjFxeGgyclJwbGJiUFVDaFVhV25GRWs5ZG4ybnZ2Lzgr
VTZaTTRTOS8rY3ZaemtxRgpqQnMzcmxMcTlXeTBVYXcrZUthT3YyaWkxY3ZaN05lVjFlN1JmQmY3
UkNMYmZmcnBwd3djT0pBMWE5WlVORnNWenN0M01VMkF0OTU2CmkzSGp4bkhMTGJld1k4ZU9wUE55
SnVyNlRQVDUwK1ZNdnQ4cVZaa2NCOEFFd3d3UHh6Sk1IRTl3UEhBSnh4MmhFQlE3SjdiUkFDU0cK
NjY2N2prbVRKdkhmLy82WEkwZU9sTHZPcEVtVGFOU28wV25QeTZKRmkvamdndys0NUpKTCtPTWYv
OGdUVHp4Ulpybm5lWXdmUDU2SApIbnFvVXZibnVpNlhYWFpacGFRVmozanEra3dhTzNZc1R6enhC
RzNidG1YQWdBRVZTdXVMTDc2Z1RwMDZYSFhWVlFEOC92ZS9wMmJOCm1zeWRPNWNubjN5U3pNeE1Y
bi85ZFFBMmI5N01PZWVjdzRnUkk1ZzVjeVp0MnJUaHZQUE9vMXUzYm56NjZhZEo3WC9NbURHc1di
T20Kd20vS1o3cU40dW1EWityNGl5WmF2WnpOZmwxWjdSN05kN0ZQSkxKZHk1WXRNUXlEN2R1M1Yw
YjJLcFNYNzFxYUFPKzk5eDczM1hjZgp2WHIxWXVEQWdWU3ZYajNwdkp5SnVqNFRmZjUwT05QdnQw
cFZKaEVYVHp4Y2NjRnpjUndIejVQdzBLc1FoRndJZVlUbjR6MHVyZ0JrCjVjcVZkTzdjbVhyMTZ0
RzBhVk5lZnZsbEFJTEJJQzFhdENBM041ZXRXN2ZTdTNkdk1qTXplZnp4eDZNdWcvQTNJUjA2ZEtC
V3JWbzAKYjk2Y2VmUG14VXd6bGtocExsbXloQ1pObW5EWFhYZlJxRkVqMnJScHc5S2xTK09xMUl5
TURKbzNiMDdWcWxVeFN0KytYeXJkZSs2NQpoNktpb2xOZWo3Uy9TUFVaeTlWWFg4Mk1HVE1ZTUdB
QTExOS9QVjkvL1hXWjViTm16YUp2Mzc1VXExWXRydlFBbGk1ZFNxdFdyVGpuCm5ITzQrdXFyL1cr
bVZxOWV6VDMzM01PMmJkdVlQSGt5a3lkUFp2NzgrWEdsdVh6NWN0cTNiMCsxYXRWbzJiSWxWMTEx
RmV2V3JRTWkKdHhGRXJ1dW5ubnFLcGsyYnNuZnZYalp1M01pRkYxN0lkZGRkQjBDSERoM28yclVy
T1RrNTNIREREWFRwMG9XbVRadXlZc1dLQ3JYNwppeSsreUpvMWEvam5QLy9wOThIU3RtL2Z6aDEz
M01Fbm4zd1NWM290VzdiazhjY2Y1K0RCZ3hRVkZmSE5OOTl3MTExM01YRGdRRzY5CjlWYnExNi9Q
bkRsekFQanJYLzlLbzBhTnlNdkw0OWUvL2pVUFAvd3dsMTEyR2UrOTl4NlhYMzU1WFB1RDhOV3d2
bjM3MHJwMWEvN2YKLy90L3BLYW0rdlVhclE5R2E3OW94ME9rdmhUcm1FNjJEMFk2L3VEMG5Bc2k1
VE5XdlVSYlZsNCtqeDQ5U3ZQbXpXblNwQWx2dnZrbQpBTnUyYmVPaWl5N2l3Z3N2NU91dnY0N2Fm
dEhhUFpwazZ5eFMrZTY3N3o2YU5HbENseTVkQUpnK2ZUcE5talFoTHk4djZicE85cndVCmJidlUx
RlJxMXF6Si9QbnphZENnQWUzYXRTdHpYQ2Q3dm43MzNYZnAxYXNYbDE1NktTMWF0UERQV2JIS2tN
eHhWSkh6ZGJSejhwZ3gKWXhnNWNpUUhEeDdrMFVjZjVjVVhYNlJtelpyZnVicU8xdWVqbFMvU3VT
N1o5NXhvWlloMkhGV2svWlQ2TGpBOGNBVkVESXBkRTljRAoxd05Id3I5ZE4zd1ZwTXlJYVltaG9L
QkE2dFdySi8vODV6L0ZkVjFadVhLbFpHUmt5QmRmZkNFaUlzRmdVQzY0NEFMcDFLbVR2UHZ1CnU3
SjY5V3I1OHNzdm95N2J1M2V2WkdWbHladzVjNlM0dUZnV0wxNHN0V3ZYbHFWTGw4Wk1NNUpZYVk0
WU1VSTZkdXdvTzNic2tEbHoKNXNoMTExMFhxK2hsdEduVFJ2YnUzWHZLNjRjUEg1Yk9uVHZMeG8w
Ynk3d2VhWCt4NmpNV3ovTmsyTEJoMHJKbFN6bDA2SkQvK3E1ZAp1NlJidDI3aXVxNDBidHc0N25L
dFhMbFNWcXhZSVo3bnljeVpNK1gyMjI4WEVaRU5HemJJNDQ4L0xwbVptVEpyMWl5Wk5XdVcvUHZm
Ci80Nlozb0VEQjZSMjdkb3liZG8wMmJkdm44eWZQMTlTVWxMa2d3OCtpTmxHSmNxcjYvYnQyOHVt
VFp0RVJPVGd3WU4rR1QvOTlGTnAKMmJLbEhEaHdRSm8wYVNMMzNIT1BQUG5ra3pKcDBpUVJTYjdk
aHc0ZEtsMjZkSkdjbkJ3Wk1HQ0FmUFhWVjJXV1Q1OCtYUUFaTW1SSQpYT21WR0RkdW5PVG01c3FB
QVFQODF3b0xDNlZqeDQ0eWJOZ3cyYmx6cHd3Wk1rUnV1dWttZWYvOTkwVkVaTW1TSlFuM1Z4R1JK
azJhCnlMUnAwMlQ1OHVWeTg4MDNDeUI3OXV5SjJnZWp0VjlwNWJWUnBMNGtFdjJZcmtnZkxPLzRP
MTNuZ21qbGkxWXZrWlpGeStlOTk5NHIKZi9yVG4wUkU1Sk5QUGhFUmtRVUxGc2l0dDk0YTh4d1Nx
ZDJqcVl3Nk83bDhudWRKdTNidDVOVlhYeFVSa2VMaVlqbi8vUFBsbTIrKwppWm9Ya2NvL0w4WGFi
dmp3NGRLMWExZlp0V3VYUFBQTU16Sm8wQ0FScWRqNXVtM2J0ckoxNjFZUkVYbnp6VGVsVDU4K2Nl
VWxtZU1vCjJYcUoxZTVyMTY2VjBhTkh5eTIzM0NJZmZ2aGhYT1UrRzNVZHFjOUhLMStzYzEweTd6
bXh5aERwT0VxMi9aUTYyK2JPblN1MGYxM0cKUDd0SkhsNjBTKzUvWTVkTWVuV1hkSi8ybFF6OHkz
NForWEpJL3ZDZXlKK1dpVHkyUWVTQnowV0dEUnNtYytmT2xaaFBRbCt5WkFtRwpZYkJ0MnpabXpK
Z0JRSU1HRFZpNGNDR1hYSElKZ1VBQTB6UjU1cGxudVBEQ0M4dHNHMm5abkRsenlNM041YWFiYmdM
Z3lpdXZaTWlRCklmempILytnZmZ2MlVkT01aT0hDaFZIVHRHMmJVYU5HY2U2NTV6Smt5QkIrLy92
Zng1VnVMTldyVjhleXJGTmVqN1MvV1BVWmkyRVkKM0hubm5keDExMTFNbno2ZEtWT21BT0Z4ci9m
Y2N3K21HWnFKMTdjQUFDQUFTVVJCVkw2b0ZRcUZDQVFDMFpMeTAzdisrZWNaTldvVQp0bTM3M3lR
M2FkS0VSbzBhOGNBRER6Qml4SWo0S2dOWXZIZ3g1NTU3THVQR2pRUEN3elBtenAxTDA2Wk5ZN1pS
TktYcnVQUVFBTXV5CmFOeTRNWm1abVZ4d3dRWDA2ZE9IdzRjUDgrR0hId0tSMnlHV25UdDNZdHMy
bXpadFl1Yk1tZHgvLy8zTW1qWExYejVzMkRBS0Nnb1kKT0hCZ2ZCVnozSFhYWGNlZi8veG5Sbzhl
N2I5V1ZGUkVJQkJnd0lBQmpCdzVraTVkdXJCbXpScU9IVHRXYmhxTzQ3Qmp4dzRhTm13WQpjVDhm
ZmZRUjllclY4OXZoaVNlZTRPV1hYMFpFb3ZiQlJvMGFSV3kvV0NMMUpZaDhMb2kyWFR4OXNMemo3
M1NkQzZLVkx4blI4bm5MCkxiY3dZY0lFQ2dzTDZkS2xDKys5OXg0ZmZmUVJWMTk5ZGRUMk8zTGtT
TVIyVHpZdnlkYVpZUmo4L3ZlLzU5RkhINlZ2Mzc2OCtPS0wKWEgvOTlXUm5aOGUxYldXZWwrTFo3
bGUvK2hWMTY5Ymxwei85S1pNblR3WXFkcjV1M2JvMXc0Y1A1OUpMTDZWOSsvWTgvL3p6Y2VVbAoy
ZU1vbVhxSjFlNFhYWFFSalJzM3BxQ2dnSTRkTzhhVjVwbXU2MmpudWtXTEZrVXNYNmRPbmFLZTY1
SjV6NGxWaGtqSFViTDlXcW52CkNnc0l1Z0tHZ2VPQ2k0R0hSVWhNZ2k2RUhBZ2V2MHBTSXVZUXJN
TENRdExUMDhuS3l2Si94b3dadzZCQmc4cXNGMjBNOXNuTGlvcUsKeU1uSktmTmFUazdPS1cvb2lZ
enJqaWZOOVBSMElId1NqMmRJUWtXVnQ3OTQ2ek9haXkrK21FY2VlWVFYWG5qQmYyM2h3b1VNR1RL
RQo4ODQ3ajYxYnQ5S3BVNmVZNllnSXc0WU40L0xMTDJmQmdnVTgrT0NEcDh3b2xPaE5jZVcxUTkr
K2ZhbGR1M2JjN1I1SlNkNmk1U2sxCk5SWGJ0dkU4ejM4dG1YWnYxYW9WL2ZyMUl5TWpnN3k4UEg4
b1RJazZkZXJ3KzkvL1BxNmdzY1N4WThjWU5Xb1ViN3p4QnZmZWV5OWIKdDI3MVh3OEVBdlR1M1p0
UUtNU05OOTVJSUJDSUdJQ3NYYnVXQ1JNbVJOM1h4bzBiT2ZmY2MvMy9xMWF0NnRkRHRENFlyZjJp
aWFjdgp3YW5IOUpucWd4VTlGOFJidnNySzV5V1hYTUxtelp0NTk5MTM2ZCsvUHdzWEx1VEREeitr
ZS9mdVVkc3ZXcnNubTVjU3lSeEhmZnYyClpmZnUzYXhZc1lLWk0yY3lkdXpZbU51Y2pqNFJ6M1ls
NVV0TlRmWFBIeFU1WHovNDRJUGNjY2NkV0piRnM4OCtTNDhlUFdMbUpkbmoKS0o3eWxhZWk1K1Jv
emxSZFIrdnowY29YejdrdTBmZWNlTW9RN1RqU205RFY5NVhuZXBoQXlCTkVCTWVGa0JPK0Y4U1Y4
STNvamh1ZQpEYXRFekFDa1hidDJiTisrblc3ZHVwR1hsOGN2ZnZFTEdqZHV6TUdEQjVQT2FOZXVY
Vm04ZUxFL3Juei8vdjM4N1c5L08rVUVmYmJUClBCMHFVcDlMbHk3MVQxQkxseTdsaWl1dThKZHQy
clNKNWN1WHMzejVjdXJYcjgrNzc3NGJNNzA5ZS9adzVNZ1IrdlhyUi9YcTFaazcKZDI2WjViWnRr
NStmVDM1K1BoQWVaL3ZsbDE5R1RiTkxseTRzWGJxVVpjdVdBWEQ0OEdGR2p4N05saTFiS3RSR3pa
bzE4OGNLdi9qaQppekhYcjZqdTNidjcrMXUxYWhWdDI3WXRzL3hmLy9vWE5XclVpQmtJbERaeDRr
U3V2LzU2cnJubUdpWk9uRWhlWGg0aXdyRmp4MGhKClNTRWxKWVVGQ3haUXQyNWRVbEpTb2w0QktS
MWdsYWR2Mzc0c1hMaVExYXRYSXlJODg4d3o3Tm16QjRqZUI2TzFYelN4K2xLeTJ5WFQKQjAvSHVT
RFo4bFVrbngwN2R1UlBmL29UZDk5OU4rKzg4dzZHWVpDUmtSRzEvYUsxZTBYeWtpekRNQmcvZmp3
MzNuZ2piZHEwb1c3ZAp1akczT1IxOUl0bnRLbksrN3RLbEM1ZGRkaGxUcDA3bHBaZGVZdHUyYlJ3
OWVqUnFYaXJTejc0cngwcXllVW0ycnFQMStXamxpM1d1ClMrWTlweUw5SmRsK3JkUjNnWmdtbUFZ
cGxvRnRtd1Fzc0MyRGdHMFNNTUlQSUV4TmdkUXFwVGVLdzBzdnZTU2RPM2VXamgwN1NwMDYKZGFS
SGp4NnlldlZxK2V5eno2UlpzMmFTa3BJaUYxMTBrZVRtNXNxNzc3NHJJaEoxbVlqSXl5Ky9MTjI2
ZFpQMjdkdExtelp0Wk1hTQpHWEZ0RjAya05ELysrR1BKenM2VzNOeGNLU29xa3ZIang0dHQyL0xI
UC80eFpwcURCdytXM054Y3FWS2xpalJwMGtTYU5Xc21IMy84CnNZaUkvUGpIUDViYzNGeXBWcTJh
bkgvKytaS2JteXV2dmZaYXpQMUZxczlZN3Jyckxzbkp5WkZMTDcxVUxyLzhjbG14WXNVcDYzVHMK
MkZFQ2dVQzU0OVBMODh0Zi9sSWFObXdvZGVyVWtiRmp4MHAyZHJhTUhUdldYejVseWhRNTc3enpw
RkdqUnRLNmRldTR4cVgrNHgvLwprS3lzTEduWnNxVmNmUEhGTW03Y09IRWNSMFFpdDVGSTlMcGVz
bVNKTkc3Y1dKbzJiU29EQnc2VXFsV3J5clJwMDZSTGx5NlNucDR1Ci8vclh2MlR3NE1FeWVQQmdX
YlZxbFdSblo4dnMyYk9UYnZmQ3drTHAzTG16dEduVFJscTBhSEZLdVY5KytXVkpTVW1SLy91Ly80
dXIKbnVmUG55K1daVW5IamgxRlJHVGt5SkVDeUtSSms2UlBuejVTdlhwMW1UcDFxb2lJdlBMS0s1
S2RuUzBYWEhDQjNIdnZ2ZEtnUVFPcApYcjI2NU9ibVNtNXVyalJxMUVpR0R4OGVjNTlQUGZXVU5H
clVTT3JVcVNNLytjbFA1THp6enZQdlBZbldCNk8xWDdRMml0U1hZaDNUCnlmYkJTTWRmU2Z0VTly
a2dXajZqMVV1MFpkR09oOWRlZTAwYU5HZ2dJaUxYWEhPTjN6OWl0ViswZG84bTJUcUxWajZSOEgw
TG1abVoKc21YTGxwaDVpS2V1UlpJN0wwWGFic21TSlpLVmxTWE5taldUWURBb1k4YU1FZHUyL2Z2
SWtqMWZaMmRuUzhPR0RlWDY2NitYenAwNwp5MzMzM1Jjekw5SEtIczk3WXpMMUV1dWNYS3RXTGNu
T3pwWUxMN3d3b1h2ZXptUmRSK3Z6MGNvWDdWeVh6SHZPWjU5OUZyRU04Wng3Cmt1M1hTcDB0Sjk4
RE11M05YVExsOWQzU2ZmcFhNdVNaYjJUVXYxeTUrMTJSK3o4UDN3UHk0SmNuN2dFeFJHSU1EaTVs
Ly83OXBLZW4KVTZWS2xkZ3J4Nm1nb0lDTWpJeEtTKzkwcFhrNkpGT2Z4NDRkNDl0dnZ5MXp5Ym1p
OHZQelNVdExpM2pQU0RBWUpCZ014alg5WWduUAo4OWkvZnovbm5ITk91Y3VUYVNNUjhTOXhueW5i
dG0yamZ2MzYvcjAxcFRtT2cyM0h2STNxclBJOGowT0hEa1djdVNaU0g0elZmcEhFCjZrdkpicGRN
SDRUS1B4Y2tXNzVZeXN1bmlMQjc5MjdxMWF2SHQ5OStTMXBhMmludEZLMzlvclY3b25tcGlJVUxG
L0xDQ3kvNHM3ekYKNjNUMWlXUzNTL1I4WFZoWVNGcGFHbnYyN0tGMjdkcmwzaXNZS1M4VjZXZmZs
V09sSW5sSjVyMHhWcCtQVkw1bzU3cUt2T2NrKzNrcAoyVHBUNm15WU4yOGVBMmRVNGM2UnphbFh0
eW9oRDQ0RzRUOWJYSEl5MDhpcW1VSE5ESVAwR3BCZUU0cVB3TEw3YitLNjY2NGpvUUJFCkthV1Vp
c2RubjMzR20yKyt5ZHk1YzJuZnZqMHpaODZzMUMrdmxGSktuVjErQURLcU9lZldxWUlqQmtlREpr
czNCOG5KVENPelpnWloKV1NZWk5hRmE5WEFBOHNtZndnSElkL3ZyVzZXVVV0OUxPVGs1Tkd2V2pJ
a1RKMkxiOW5mK2FxRlNTcWtrR1FhV1lTQlkyQ1pZQmxpVwppVzJhV0ZiNCtZTzJCYUZTRjRMMUhV
RXBwVlNsYTlTbzBWbC9RcjFTU3FuVFR3ekJ0RXhNRjZ6akFZaUpZQnFDYlJnRUFtQWJFQ2cxCm1q
MnVKNkVycFpSU1NpbWwxQ2xNRThNQXl3TFROTEJ0QzlzeXNHMERLeEFPTmd3TFNzODhyUUdJVWtv
cHBaUlNLaWtDZUFMaVNUZ1EKc1EwQ2xvVmxnaW5oS3lLMkhaNk90NFFHSUVvcHBaUlNTcW1rQkN3
UUR3UUQxeE1jeDhPUmNGRGlFUTVRSEFkQ3dSUGJhQUNpbEZKSwpLYVdVU280ckdIaTRyb3NJdUk2
SDQ3ZzREamloOEJQUVJRaEhJc2ZwVGVoS0thV1VVa3FwcERnT2dBbkc4ZUZZaG9uakNZNEhMdUhY
ClFpRW9kazVzb3dHSVVrb3BwWlJTS2lraUxwNTR1Q0xnR1RpT2crZEplT2hWQ0VJdWhEekM4L0Vl
cDBPd2xGSktLYVdVVWtreFBIQUYKUkF5S1hSUFhBOWNEUjhLL1hUZDhGY1IxVDJ5akFZaFNTaW1s
bEZJcU9WNTRCcXhRU1BBOGw1RGpFUXk1T0VFSFYvRHZCU25XbTlDVgpVa29wcFpSU0ZXVUJRVmZB
QU1jRkZ3TVBpNUNZQkYwSU9SQThmcFdraEFZZ1NpbWxsRkpLcWFSNHJvY0poRHhCUkhCY0NEa3Vq
aE8rCkF1SVNEa3lDZWhPNlVrb3BwWlJTcXFMRU5NRTBTQUVjMnlCZ2dXMFpCR3lUZ0JGK0FHRnFD
bmhWVG15alYwQ1VVa29wcFpSU3lUSEEKTnNBUXdrOC9ONFFVQ3dKbU9BQUpBSlpBU3Ftb1F3TVFw
WlJTU2ltbFZGSU0yOFF3RFV3N1BNOXVJQ1dBRmJDd2JBUFRCdE1NWHdXeApOQUJSU2ltbGxGSktW
WmdCQm9KcGdHbVlXQWdXZ29sZ1c1QVNBTXNJLzVUUWUwQ1VVa29wcFpSU3lURU1MTU5Bc0xETjQ4
R0daV0tiCkpwWVZmdjZnYlVISU9yR0pYZ0ZSU2ltbGxGSktKVVVNd2JSTVRDTTh6TW95d0VRd0Rj
RTJJQkFJM3lNUzBDRllTaW1sbEZKS3FRb3oKVFF3RExBdE0wOEMyTFd6THdMWU5yRUE0MkRBc01F
b053ZElBUkNtbGxGSktLWlVVQVR3SlB3M2RNTUN5RFFLV0ZaNFJTOEpYUkd3NwpmQ042Q1ExQWxG
SktLYVdVVWtrSldDQWVDQWF1SnppT2h5UGhvTVFqSEtBNERvU0NKN2JSQUVRcHBaUlNTaW1WSEZj
dzhIQmRGeEZ3CkhRL0hjWEVjY0VMaEo2Q0xFSTVFanRNQUJDZ3FLanJiV2ZpZjlIMnExNk5IajU3
dExDZ0ZuTm9YdjAvSGtWSktxUjhleHdFd3dUREQKdzdFTUU4Y1RIQTljd25GSEtBVEZ6b2x0WWdZ
Z3MyZlBwa3VYTHVUbTV2by9WMTk5TmRkZWV5MURoZ3hod29RSnJGKy9QcUdNenB3NQprMmJObXBH
Ym04dVBmL3pqaExhdGJJODg4Z2daR1JrTUd6YnNyT2JqVEFzR2cvem1ONytoWmN1V2Zyc1dGeGRY
V3ZyZmwzcDk3YlhYCmFONjhPWU1HRGFKZnYzNU1uanc1N20yZmZQSkpMcjc0WW5KemM3bmtra3RP
WXk3VjJYU20ycm04dnZoOU9ZNlVVa3I5Y0ltNGVPTGgKaWd1ZWkrTTRlSjZFaDE2RklPUkN5Q004
SCs5eE1RT1FYL3ppRjB5ZVBKbDE2OWI1UDMvLys5K1pPM2N1T1RrNTNIdnZ2YlJxMVlwbgpuMzAy
N296Kyt0ZS9CbURkdW5WczNMZ3gwWEpXcWxkZmZaVlFLTVNycjc2SzR6aXhOL2dma1pLU3dzTVBQ
MHo5K3ZYOWR2VThyOUxTCi96N1U2NW8xYXhnMGFCQnIxcXpobVdlZVlmZnUzVXlhTklsbHk1YVZ1
MzUrZmo1ZHUzYjEveDg1Y2lTMWF0WHk2MCtkZVNlM3llbEkKODB5MGM2UysrTGUvL2EzU2o2UFRV
V2RLS2FWK3VBd1BYQUVSZzJMWHhQWEE5Y0NSOEcvWERWOEZjZDBUMjhRMUJLdERodzVsL3MvSwp5
cUpxMWFyazVlVUJjT3pZTWFaTW1aSlFabXZXckpuUStxZkxsQ2xUNk4yN056Tm56c1MyZjNqUFph
eFZxOVpwU2ZmN1VLL3Z2ZmVlCmY5WG5uSFBPNFlvcnJxQkZpeGJVcVZQbmxIVkZoSnR2dnZtVXEz
MlptWmxuSksvcVZKSGE1SFNrZWJyYk9WSmYvTU1mL2xDcHg5SHAKcURPbGxGSS9jRjU0QnF4UVNQ
QThsNURqRVF5NU9FRUhWL0R2QlNrdWRSTjZoZDdSemovL2ZQL3ZiZHUyVVZoWVNQWHExU3VTNUJu
WApxVk1uRml4WWNMYXo4VC9uKzFDdlgzNzVaWm4vSDNyb29ZanJqaGt6aHRkZmY3M2M0RVNkSGFl
alRjNVdPMGZyaS8zNjlhdTAvV2cvClZrb3BWZGtzSU9nS0dBYU9DeTRHSGhZaE1RbTZFSElnZVB3
cVNZa0szWVJlK2x1MFBuMzZuQko4UFAzMDA3UnIxNDVycnJtR3dZTUgKczNMbHlwaHBMbGl3Z083
ZHV6Tm8wQ0I2OXV6SitQSGpPWGJzbUw5OHhvd1pkT3ZXalc3ZHV0RzllM2NXTFZyRVcyKzlSWThl
UGZ6WApKMDJheEpZdFd4Z3dZQUM5ZXZWaTdkcTE1ZTdyOGNjZjk3ZTU1cHByL05kZmYvMTFMcnZz
TXE2OTlscTZkT25DMEtGRGVmVFJSeVBtCmVkZXVYZHh6enoxTW5EaVJuajE3MHJ0M2I2Wk9uY3Jl
dlh1amxuWDI3TmwwNzk3ZDMzOUJRUUY1ZVhuODZFYy80cjc3N290Wmo3Tm0KemZMejM3OS9mM2J1
M01sUGYvcFQ2dGV2VC8vKy9mbjN2Lzk5eWo0ZmZmUlJMcm5rRXM0Ly8zd21UcHdZZGRoVnBQM0d5
bmQ1OVpwbwpYdmZ2Mzg5dmZ2TWJtalZyUm84ZVBXamF0Q2w1ZVhuY2NjY2QzSEhISFdYNlJIbGk5
YVBwMDZlemVQRmkvLys4dkR5ZWZ2cnBjdE9hCk1HRUNqenp5Q0FBSERoeWdXN2R1M0hubm5hZXN0
M2Z2WG9ZT0hlcVg2VC8vK1UvY2RWcWVGMTk4MGEvbmJ0MjY4Zm5ubjlPL2YzOXkKY25MbzBLRURI
Mzc0WVpuMTQrMkhpZFJ0SXZrdDNlNkRCZzBDd24ybFo4K2UvdXZmZnZ0dFVtVTdXYXcyaWRYK3lh
UlpvckxiT1ZKZgpMTzg0aXVlY0VlbjhGVy81NGlsSHJIekVlMjZMMVU3eHBxT1VVdXJzOFZ3UEV3
aDVnb2pndUJCeXd2ZUN1QksrRWQxeHc3TmgrU1FPCnhjWEZKWk5uQ1NDYk4yK1dSWXNXeWFXWFhp
cm5ubnV1UFBqZ2czTGt5SkV5MjR3Yk4wNEFtVFp0bW9pSURCMDZWR3JWcWlYcjE2OFgKRVpIMjdk
c0xJSFhxMVBHM2VleXh4d1NRdkx3OEVSRlpzV0tGQU5LbVRSc3BMaTcyODFLdlhqMEJwRUdEQnY2
MnQ5NTZxNSsvZ29JQwpQNzJTL1VmU3FsVXJBYVI2OWVvaUluTDQ4R0dwWHIyNmpCMDdWa1JFQ2dv
S3BFT0hEaEhUOFR4UG1qUnBJclZyMS9iemVPT05Od29nCmJkdTJqVm0zUFh2MkZFQ3FWS2tpUFh2
MmxBWU5HZ2dnR1JrWjRubGV6SHJzMUttVEFKS2VuaTZEQmcyU2h4OSsySytmckt3c0NRYUQKL3I0
bVQ1NHNnR1JtWnNvNzc3d2p6ejc3ckdSa1pQajFkdlRvVVgvZFdQdU5sZStUNnpXUnZCWVZGVW5M
bGkwRmtLbFRwNHFJeU9qUgpvd1dRWnMyYXlVTVBQZVRYZFhuaTZVZHIxNjZWWHIxNitXWC8rT09Q
WmRPbVRlV21sNStmTDFkZWVhVUFVcnQyYmRtN2Q2L2s1K2VMCmlNZ05OOXdnZ0ppbUtmMzY5Wk1a
TTJiNFphcFZxNWFFUXFHNDY3UTgxMTkvdlovSElVT0d5SklsUytTMjIyNFRRR3pibHRXclY0dEkK
L1Awd2ticE5Kci9ObXpjWFFPclhyKysvVnBKZlFIYnQycFZ3MlJKdGszamFQOUUwVDJjN1IrdUw1
UjFIMFk2OVE0Y09SVHgvUlN0ZgplU3A2RG9pMVBONTJpcFdPVWtxcHMyUHUzTGxDKzlkbC9ET2I1
TThMZDhrREMzYkp4RmQzUzlkcFgwdS9wNytSNGZOQ01uNnh5RDJmCml6eThVZVJQSzBXR0RSc1cz
aTZlSFp3Y2dOeDExMTN5MDUvK1ZOTFQwNlZwMDZZeVk4WU1PWGp3b0wvKzJyVnJ4YklzQWVRLy8v
bVAKaUlnODlOQkRBc2l0dDk0cUlxY0dJTnUzYjVlMHREUUJaTzdjdVg1YU5XdldGRUR1di85Ky83
Vjc3cm5Iejh2eTVjdEZST1NKSjU3dwpYM3Z0dGRkRVJHVEFnQUZsOGxXZWtqZTNramY0MmJObkN5
Q1hYMzY1N04rL1gwUkVQdnZzTTVrelowNjUyKy9mdjE4TXd4QkFGaTllCkxDSWlqejc2cUorWGZm
djJSZDMvMEtGRC9YWG56cDByMzN6empmenFWNytTaHg1NktLNTZMUGxnQlBobG5UaHhZcGxnVVVS
a3o1NDkKVXExYU5RSGt6anZ2TEhmL0pRRklQUHVObHUveTZqV1J2QzVhdE1oLzdjMDMzeXpUTHFa
cHlyWnQyeUxXWnlMOXFIUVpZcm5tbW10TwpDWmhQTGxQSmg3blNaU3I1SUJsUG5aYW5kR0M5ZGV0
V0VSSFpzV09ILzlyUW9VTkZKUDUrR0cvZEpwdmZybDI3bmhLQVRKbzBxZHdBCkpONnlSVkplbXlU
Uy92R21LWEw2MnpsU1h5enZPSXAyN01VNmYwVXEzOGtxNHh3UWJYbXl4Mmw1KzFGS0tYVjIrQUhJ
czV2azRVVzcKWk5xYnUyVEs2N3VsKy9TdlpNZ3ozOGlvZjdseTk3c2k5Mzh1OHRnR2tRZS9QQkdB
SkhVUHlMMzMzb3RwbWl4YnRvd3VYYnJ3MjkvKwpsdG16Wi9QdXUrOVNxMVl0M24vL2Zkemp0N3Av
OXRsbmJObXloVldyVmdIaG15M0xzMmpSSW80Y09RS1V2VEc2ZHUzYTVPZm5NMi9lClBIKzRRRjVl
SHBNbVRjSjFYV2JQbmszcjFxMVp0R2dSTld2V0pEOC9uN2ZlZW91MmJkdVNscGFXOE0zdURSczJC
T0RUVHorbFdiTm0KakJzM2p0R2pSOU9tVFp0eTE4L0p5ZUdwcDU1aTgrYk5kTzdjbVZBb3hMWnQy
L3psZS9mdWpmdEc3MjdkdXBHZG5jM01tVE1CZU9xcApweEtxeDVLeXBxZW4rNjhkUG53WWdBOCsr
TUIvdmtDVEprMzg1WUZBNEpSMEVtMi9rL01kajJoNUxmMWExYXBWQWFoU3BRb0FudWV4Clo4OGV6
anZ2dkhMVFRhUWZWYmFNakl4VDhsOVlXQWdrWHFmbHFWR2pCZ0IxNjliRnRtMGN4K0dMTDc0QTR1
K0g4ZFp0WmVRM0VkSEsKbG9nejBmNm51NTBUY2ZLeFZ6S1VNZDd6VnlTVmZRNDRlZmt6enp5VFZE
c2xjNjVSU2lsMWVobTJpV0VhbURZUWhFQktBQ3RnWWRuaAoxMHdUN0FDNGxYVVRlcHMyYmVqYXRT
c0xGaXhnMWFwVlBQYllZMHlaTW9XdnZ2cktYeWNZREJJSUJManFxcXU0NnFxcnl2M0FDN0JoCnd3
Yi83NUlQUkhEaVExTHA1ZlhxMWFOUG56Njg5dHByUFAvODh3d2ZQcHlHRFJ1U2xaWEY3Tm16V2Jo
d0lZMGJOK1puUC90WndtWHEKM0xrelAvdlp6L2pyWC8vSy92MzdHVDkrdkovbWozNzBvM0szR1Q1
OE9GOSsrU1czM1hZYlc3ZHVwVnExYWdudkY4cVdHMGlxSGlNcApuVmFzZ0NqUi9aNmM3NHE2NG9v
cmFOS2tDUnMzYm1UejVzMTA2OWJOdjk4b096dWIxcTFiUjl3MmtYNTBKbFZtVzVxbVNaMDZkZGl4
ClkwZVorenZpNllmeDFtMWw1cmN5eWhhdnM5MytaN3JlVGo3MmtqbC9sYWV5endFbkwwKzJuU3I3
WEtPVVVxb1NHR0FnbUlhQmFaaFkKT0ZnSUpvSnRHYVFFd0RMQ1B5VXFQSzlqNlptd1NtWnlxVjI3
dHY5YXc0WU5HVGh3WU14MDZ0YXQ2LzhkQ29YOHY0UEI0Q25MSWZ4aAo2N1hYWHVQQWdRTU1HVEtF
bDE1NmlXM2J0akY3OW15Kyt1b3I1czJieDlpeFl4TXVqMlZaUFBmY2MvVHExWXNKRXlhd1pjc1cx
cTVkCnkyT1BQY2IwNmROUFdWOUV1T09PTzVnNWN5WS8rY2xQZVB2dHQzbjAwVWQ1NDQwM0V0NzN5
WktweDBoS3YzR1hYR2s0RS90TmhtRVkKTEYyNjFIOEd6UmRmZk1IY3VYTzU4c29yZWZMSko2Tk9S
NXBvUHpwVEtydE9TNzQ5cmwrL1BoQi9QNHkzYnM5bUh6aTViSWs0MisxLwp0bytkUk05ZmtaenVj
cHp0ZGxKS0tWV0pEQVBMTUJBc2JQTjRzR0daMkthSlpZV2ZQMmhiRUxKT2JGS2hXYkFBVnF4WTRm
OWRjcG0vCldiTm0vbXNuZndCYXZYcDF1ZWwwN05qUi83djBCK1JEaHc0QjRXLzJTdXZkdTdmL0FT
VXpNNVBtelp2VG8wY1BmNzcrbi96a0p4aUcKUWFMKy9PYy9zMm5USm02ODhVYldyMS9QM1hmZkRV
UWVQakYvL254L09NQXZmdkVMTE1zcWQ3MWtKRk9Qa2VUbTV2cC83OXUzei85YgpSRTdyZnBPMWJ0
MDZkdS9lelp3NWM1Z3dZUUo3OXV4aDhlTEZaWWFQbFNmUmZwU29rdnB5U3o5Tkp3NlZXYWZGeGNV
Y1BIZ1FnSGJ0CjJnR0o5Y040NmpiWi9KYnN0N3grRlkveXloWkw2VGFwclBiL0xyUnpNdUk5ZjhV
cTMra3VSMlVlcDRjT0hlS0dHMjZnUTRjTy9qQXgKcFpSU1o0NFlnbW1abUFaWXh3TVFFOEUwQk51
QVFJRHc3MUpSUjF3QnlKbzFhOHI4WDFCUUFNQ09IVHY0NUpOUGdQQWJ4bTkvKzFzQQpldlhxNWIv
QnpKa3poMm5UcHJGOCtYS21UcDNLN05temdSTmpwbzhlUFlxSTBMWnRXNFlPSFFyQTh1WExnZkJV
a1R0MzdpUTlQWjNKCmt5ZVh5WU5sV2Y2REVFZU1HQUdFNzJlNC92cnJzU3lMbi8vODUvRVV6UzlM
S0JUQ2RWM3k4L041NElFSEFMQnRtekZqeGdCRS9BWXcKUHovZi8vdk5OOTlrMmJKbHZQVFNTMlhT
ai9ZaHBxUWVBSGJ1M0ZsbVdUejFXUHJOdTJUNnl0TFRXQllWRlFGdzVaVlgrc05yWG56eApSVUto
RUt0V3JlTDExMS8zMTkyNmRXdmMrNDJXNzVKeXc0bDZUU1N2aFlXRjlPdlhqM1hyMXJGanh3NldM
VnZHb2tXTFdMVnFWWmx2ClM4dVRTRDhxblo5ZHUzWkZUYmZrbnBYOSsvZXpjT0ZDUm8wYVJXRmhZ
Y3d5bGRSVFBIVWF5OXk1Y3dGNDdybm5nUERUN08rNjZ5NGcKL240WWI5MG1tOS9HalJzRHNHZlBI
ajc2NkNQV3IxL1BtMisrNlMvLyt1dXZFeTViSk9XMVNXNXVia0xua1hqU1BCUHRIS2t2bG5jYwpS
VHYyWXAyL0lwWHZaSlZ4RG9pMlBKSGpOTlorWG5ubEZlYlBuODlISDMwVWRicDBwWlJTcDRscFlo
aGdXV0NhQnJadFlWc0d0bTFnCkJjTEJobUZCbWVzQ3NlNXdmL2JaWi8ycE5VdCttalJwSWdNSERw
VFdyVnRMOSs3ZFpjNmNPYWRNYjdsanh3NjUrdXFyL1cwQ2dZQ00KSFR0V2dzR2dQUGJZWTJLYXBy
K3NaTXJJb3FJaUdUVnFsT1RrNU1namp6d2kxMTU3clZ4MDBVWHl4UmRmbEp1M3JWdTNTazVPamhR
VgpGZm12TFZpd1FQcjA2UlBYM2Z1elpzMHFrNDl4NDhiSjNYZmZMUzFhdEpCT25Uckp2ZmZlSzcx
NjlaSzJiZHY2TThxYzdPalJvM0xCCkJSZjRhZHg4ODgzeTl0dHYrek84ZE8vZVhRNGNPRkR1dHM4
OTk1eS9IaUFkTzNhVVR6LzlOTzU2bkRWcmxxU21wdnJMUm80Y0thdFcKclpKR2pScjVyM1hwMHNX
ZmNXclRwazF5OGNVWEN5RFoyZG5Tdlh0M3VmSEdHeVUxTlZWYXRXb2xnd2NQOW1mNGliYmZXUGt1
cjE0VAp5ZXU2ZGV2SzlMZlNQMmxwYWZMODg4OUhiZGQ0K3RITW1UUDlXY0VBNmRxMXF5eGN1REJp
bW9zWEwvYnpuNW1aS1crLy9YWmNaV3JmCnZyMWYvOUhxTkpMU00wV05IajFhemovL2ZBR2taczJh
OHM0NzcvanJ4ZHNQRTZuYlpQSzdjZU5HeWMzTkZVQU13NUJldlhySnJiZmUKS2xXcVZKSFdyVnRM
Ly83OVpjK2VQUW1WTFpFMkVVbjhQQklyemRQZHpwSDZZbm5IVWF4akw5YjVLMUtkbGFjaTU0QjR6
bTN4dEZNOAo2V3pZc0VIUzB0TEVORTE1NFlVWFlyYXhVa3FweWxFeUM5YTRGNytXSjk3Yks0Ky91
MWRtdkxOZkJ2OWx0L3g2N21HWjhJN0lnOHRFCi9ySkI1TVg5SXJPL1BqRUxsaUdTNUZpSk9PM1lz
WU05ZS9adzhjVVh4MzBENGFGRGgxaTllalYxNjlhbFVhTkdVZGRkdjM0OVRaczIKOWY4UGhVTHMy
cldMQmcwYUpKWGZMVnUyMExCaFE0NGVQY3FYWDM1SmRuWTJUWm8wd1RRalh5d1NFVmF1WEVtdFdy
WDhZV0dIRGgxaQowNlpOdEdyVkt1cTI4VXFtSGlQbGRjMmFOV1JrWkZDL2ZuMTI3TmhCVGs1T3hE
UXJhNytKZXVDQkJ5SitBNTZkbmMyK2ZmdGkxbXNpCi9TZ2VCUVVGYk42OG1hWk5tNUtXbHBaME9v
blU2WWdSSS93SEpCNDhlQkRidHRtd1lRTXRXclE0NVdiZ2VQdGhvbldiVEI5WXUzWXQKdFdyVklp
Y25oOTI3ZDVPWm1Ybkt0b21VTFpKb2JaSnMrNStOZHE0czhaeS9FaTNmNlM1SFpSeW5CUVVGSERw
MEtPTHNlRW9wcFNyZgp2SG56R0RpakNuOFkwNEp6czZzaUdCUTU4UEdXRUxXeWE1QlZzenFaV1pC
UkE2cW1ROUZoK0dES1RWeDMzWFdjOWdCRXFVUXRXYktFCnZuMzc4dkRERDNQVFRUY0I0US9YMjdk
djUvYmJiK2VUVHo1aDkrN2RsWHEvelhkVjZRL3AzMzc3TFZsWldSVks3N3RVdDVWZE5xV1UKVWtx
ZE9YNEFjc2ZGMUs5ZGhaQUx4WjdGMG8zRjVHU25rMVV6Zzh4TVNNK0FHalhoMkdINDRKNXdBRkx4
cithVnFtU3JWNjhtUHorZgpZOGVPWVpvbXBtbGlXUloxNnRUQnNpeEdqUnIxZ3dnKzRNUk51UUNi
TjIrdWNIcmZwYnF0N0xJcHBaUlM2c3h6SEFBVERCTUJQTVBFCjhRVEhBNWZ3R05wUUNJcWRFOXRV
ZUJwZXBTcmJMYmZjZ3VkNXpKczNqMWRlZVlXNmRldVNtWmxKTUJoa3hJZ1I5TzdkKzJ4bjhZejQK
NjEvL3lzY2ZmK3cvdCtWM3Yvc2RreWRQcG12WHJrbW4rVjJwMjlOUk5xV1VVa3FkZVNJdW5uaTRJ
dUFaT0k2RDV3a0NPQ0VJdVJEeQpDTS9IZTV3T3dWSktLYVdVVWtvbHBHUUkxdmdSdVp4N2JocU9C
MGVDSnYvWmVJeWNySFN5c2pPcG1SNGVmbFU5QTRvTFlka0RPZ1JMCkthV1VVa29wVlJFZWlDZUVR
b0xudVlRY2oyREl4UWs2dUJJZW91V0VvRGg0WWhNTlFKUlNTaW1sbEZKSnNZQ2dLMkNBNDRLTGdZ
ZEYKU0V5Q0xvUWNDSHJnbGhwenBRR0lVa29wcFpSU3dJQU94UUFBSUFCSlJFRlVLaW1lNjJFQ0lV
OFFFUndYUW82TDQ0U3ZnTGlFQTVPZwozb1N1bEZKS0thV1VxaWd4VFRBTlVnREhOZ2hZWUZzR0Fk
c2tZSUFkZ05RVThFbzlTa3F2Z0NpbGxGSktLYVdTWTRCdGdDRmdtV0FhClFvb0ZBVE1jZ0FRQVN5
Q2xWTlNoQVloU1NpbWxsRklxS1ladFlwZ0dwaDJlWnplUUVzQUtXRmkyZ1dtRGFZYXZnbGdhZ0Np
bGxGSksKS2FVcXpBQUR3VFRBTkV3c0JBdkJSTEF0U0FtQVpZUi9TdWc5SUVvcHBaUlNTcW5rR0Fh
V1lTQlkyT2J4WU1NeXNVMFR5d28vZjlDMgpJR1NkMkVTdmdDaWxsRkpLS2FXU0lvWmdXaWFtRVI1
bVpSbGdJcGlHWUJzUUNJVHZFUW5vRUN5bGxGSktLYVZVaFprbWhnR1dCYVpwCllOc1d0bVZnMnda
V0lCeHNHQllZcFlaZ2FRQ2lsRkpLS2FXVVNvb0Fub1NmaG00WVlOa0dBY3NLejRnbDRTc2l0aDIr
RWIyRUJpQksKS2FXVVVrcXBwQVFzRUE4RUE5Y1RITWZEa1hCUTRoRU9VQndIUXNFVDIyZ0FvcFJT
U2ltbGxFcU9LeGg0dUs2TENMaU9oK080T0E0NApvZkFUMEVVSVJ5TEg2U3hZU2ltbGxGSktxYVE0
RG9BSnh2SGhXSWFKNHdtTzkvL1p1L013T2FwNi8rUHZjNnBxRWtoWXdoSkExZ0F1CnlFV3V3RVZF
UlZFUnVTQTdDSmlBK09NbWlDS29nTXRGUUlTcnFBaFh0b0JnZ0xBb2krdzc5eUlSbEFEQ0JSVVFC
R1VSRE1RUVNBaVoKcnVYNysrUE0walBUUGIzTnBHY21uOWZ6OUROSlZkZXBVNmVxcSt2Ylo0T2Nz
Q3hOb1RQcjNVWUJpSWlJaUlpSU5NVXNwN0NDM0F3SwpSNVpsRklXRnBsY3BwRG1rQldFODNpNXFn
aVVpSWlJaUlrMXhCZVFHWm83TzNKTVhrQmVRV2ZpYjU2RVdKTTk3dDFFQUlpSWlJaUlpCnpTbkND
RmhwYWhSRlRwb1ZsTktjckpTUkd6MTlRVHJWQ1YxRVJFUkVSRm9WQWFYY3dFR1dRNDZqSUNJMVR5
bUhOSU5TVnkxSk53VWcKSWlJaUlpTFNsQ0l2OEVCYUdHWkdsa09hNVdSWnFBSEpDWUZKU1ozUVJV
UkVSRVNrVmVZOWVFY0hrTVdPSklJNGNpU3hKM0ZoQXNKeApIVkNNNzkxR05TQWlJaUlpSXRJY0I3
RURaNFRaejUzUkVVSGlRd0NTQUpGQlIxblVvUUJFUkVSRVJFU2E0bUtQOHc0ZmgzRjJrNDZFCktJ
bUlZb2VQd2Z0UUN4SXBBQkVSRVJFUmtaWTVjQmplZ1hlZUNDUEM4Qmh4QkIwSlJDNjh1cWtQaUlp
SWlJaUlOTWM1SXVjd0ltTGYKRld4RW50aDdvaWpNUHhoSGtFYTltNmdHUkVSRVJFUkVtbUxPOEpI
SHU5RE1LbkxnTWJ3ellnZEpFdnFJSkdxQ0pTSWlJaUlpTGZNZQo1eUNLd0h0SEhFZkVrU09PSFZF
U2dnMFhnU3RyZ3FVQVJFUkVSRVJFbW1KQVlXRTJkT2NnaWgxSkZJVVJzU3pVaU1SeDZJamVUUUdJ
CmlJaUlpSWcwSlluQUNqQWNlV0ZrV1VGbUlTZ3BDQUZLbGtGYTZ0MUdBWWlJaUlpSWlEUW5OeHdG
ZVo1akJubFdrR1U1V1FaWkdtWkEKTnlORUlsMDBDcGFJaUlpSWlEUWx5d0E4dUs3bVdNNlRGVVpX
UUU1WWxxYlFtZlZ1b3dCRVJFUkVSRVNhWXBaVFdFRnVCb1VqeXpLSwp3a0xUcXhUU0hOS0NNQjV2
RnpYQkVoRVJFUkdScHJnQ2NnTXpSMmZ1eVF2SUM4Z3MvTTN6VUF1UzU3M2JLQUFSRVJFUkVaSG1G
R0VFCnJEUTFpaUluelFwS2FVNVd5c2lObnI0Z25lcUVMaUlpSWlJaXJZcUFVbTdnSU1zaHgxRVFr
WnFubEVPYVFhbXJscVNiQWhBUkVSRVIKRVdsS2tSZDRJQzBNTXlQTEljMXlzaXpVZ09TRXdLU2tU
dWdpSWlJaUl0SXE4eDY4b3dQSVlrY1NRUnc1a3RpVHVEQUI0YmdPS01iMwpicU1hRUJFUkVSRVJh
WTZEMklFend1em56dWlJSVBFaEFFbUF5S0NqTE9wUUFDSWlJaUlpSWsxeHNjZDVoNC9ET0x0SlIw
S1VSRVN4Cnc4ZmdmYWdGaVJTQWlJaUlpSWhJeXh3NERPL0FPMCtFRVdGNGpEaUNqZ1FpRjE3ZDFB
ZEVSRVJFUkVTYTR4eVJjeGdSc2U4S05pSlAKN0QxUkZPWWZqQ05Jbzk1TlZBTWlJaUlpSWlKTk1X
ZjR5T05kYUdZVk9mQVkzaG14Z3lRSmZVUVNOY0VTRVJFUkVaR1dlWTl6RUVYZwp2U09PSStMSUVj
ZU9LQW5CaG92QWxUWEJVZ0FpSWlJaUlpSk5NYUN3TUJ1NmN4REZqaVNLd29oWUZtcEU0amgwUk8r
bUFFUkVSRVJFClJKcVNSR0FGR0k2OE1MS3NJTE1RbEJTRUFDWExJQzMxYnFNQVJFUkVSRVJFbXBN
YmpvSTh6ekdEUEN2SXNwd3NneXdOTTZDYkVTS1IKTGhvRlMwUkVSRVJFbXBKbEFCNWNWM01zNThr
S0l5c2dKeXhMVStqTWVyZFJBQ0lpSWlJaUlrMHh5eW1zSURlRHdwRmxHVVZob2VsVgpDbWtPYVVF
WWo3ZUxtbUNKaUlpSWlFaFRYQUc1Z1ptak0vZmtCZVFGWkJiKzVubW9CY256M20wVWdJaUlpSWlJ
U0hPS01BSldtaHBGCmtaTm1CYVUwSnl0bDVFWlBYNUJPZFVJWEVSRVJFWkZXUlVBcE4zQ1E1WkRq
S0loSXpWUEtJYzJnMUZWTDBrMEJpSWlJaUlpSU5LWEkKQ3p5UUZvYVprZVdRWmpsWkZtcEFja0pn
VWxJbmRCRVJFUkVSYVpWNUQ5N1JBV1N4STRrZ2poeEo3RWxjbUlCd1hBY1U0M3UzVVEySQppSWlJ
aUlnMHgwSHN3QmxoOW5ObmRFU1ErQkNBSkVCazBGRVdkU2dBRVJFUkVSR1JwcmpZNDd6RHgyR2Mz
YVFqSVVvaW90amhZL0ErCjFJSkVDa0JFUkVSRVJLUmxEaHlHZCtDZEo4S0lNRHhHSEVGSEFwRUxy
MjdxQXlJaUlpSWlJczF4anNnNWpJallkd1Via1NmMm5pZ0sKOHcvR0VhUlI3eWFxQVJFUkVSRVJr
YWFZTTN6azhTNDBzNG9jZUF6dmpOaEJrb1ErSW9tYVlJbUlpSWlJU011OHh6bUlJdkRlRWNjUgpj
ZVNJWTBlVWhHRERSZURLbW1BcEFCRVJFUkVSa2FZWVVGaVlEZDA1aUdKSEVrVmhSQ3dMTlNKeEhE
cWlkMU1BSWlJaUlpSWlUVWtpCnNBSU1SMTRZV1ZhUVdRaEtDa0tBa21XUWxucTNVUUFpSWlJaUlp
TE55UTFIUVo3bm1FR2VGV1JaVHBaQmxvWVowTTBJa1VnWGpZSWwKSWlJaUlpSk55VElBRDY2ck9a
YnpaSVdSRlpBVGxxVXBkR2E5MnlnQUVSRVJFUkdScHBqbEZGYVFtMEhoeUxLTW9yRFE5Q3FGTkll
MApJSXpIMjBWTnNFUkVSRVJFcENtdWdOekF6TkdaZS9JQzhnSXlDMy96UE5TQzVIbnZOZ3BBUkVS
RVJFU2tPVVVZQVN0TmphTElTYk9DClVwcVRsVEp5bzZjdlNLYzZvWXVJaUlpSVNLc2lvSlFiT01o
eXlIRVVSS1RtS2VXUVpsRHFxaVhwcGdCRVJFUkVSRVNhVXVRRkhrZ0wKdzh6SWNraXpuQ3dMTlNB
NUlUQXBxUk82aUlpSWlJaTB5cndINytnQXN0aVJSQkJIamlUMkpDNU1RRGl1QTRyeHZkczBYQVB5
OHNzdgpjLzMxMS9kWk5uZnVYSTQ4OGtoT091bWtRWmVOSk5kZmZ6MkhIWFlZVHozMVZFUGJ0ZnU0
YnIvOWR2N2pQLzZEeHg1N2JGalNyM1Y4CldaWngrZVdYYzlCQkJ6Ri8vdnlHdDIvR0xiZmN3aEZI
SE1HY09YT2EybjY0eTJ5aytzNTN2c1BGRjEvYzdtdzBkWDlZWHMvWnNsTHAKUHQ1dTExNTdMY2Nk
ZDF6UDY1UlRUdUhxcTY5bTNyeDVMYVc3ckQ0SHRmYWphM3AwcS9YZDEreDd5OTErKysyY2RkWlo3
TDc3N2p6OQo5Tk5ONVhNb3Y0Tkgrdk5Hczg5eDlkSm50Z0VPWWdmT0NMT2ZPNk1qZ3NTSEFDUUJJ
b09Pc3FpajRRQms1c3labkhqaWlYMldiYnZ0CnRyejg4c3U4OE1JTGd5NGJTYmJaWmhzdXV1Z2ls
aXhaMHRCMjdUNnVEM3pnQTF4NjZhVXNYcng0V05LdmRYeHhITFBsbGx0eTVaVlgKTnJWOU0zYmNj
VWV1dlBKS0ZpeFlVUGMyZVo3M3ZIKzR5MnlrZXVjNzM4bjY2Ni9mN213MGRYOVlYcy9ac2xMcFBy
NnNsWDlHQWZiWgpaeDhlZi94eExyMzBVazQ0NFFRT091Z2dIbnZzTVRiZmZIUHV1KysrcHRLRVpm
YzVxTFNma1hvZnFsUk9NcmhhMzMzTnZyZmJTeSs5CnhNeVpNem55eUNQWmQ5OTltdzY4cTkxYm16
bm5JLzE1bzlubnVIcU5wTS9zU09kaWovTU9INGR4ZHBPT2hDaUppR0tIajhIN1VBc1MKTlJ1QWxF
b2xIbnp3UVI1Ly9ISHV1ZWVlM2gwN3g5cHJyOTAzTXhXV2pTVHJyYmRlVTl1MSs3Z21UWnJFaWl1
dU9HenAxM044cTYrKwpPZ0JSRkRXMWZhTldYSEZGVmx0dHRZYTJPZkhFRS9uakgvOElESCtaalZR
SEgzd3duL2pFSjlxZGphYnVEOHZyT1ZzV3F0M0hsN1h5CnoyaTNEVGZja0FrVEpqQng0a1EyM25o
alRqbmxGQ1pPbk1oUGYvclRwdE5jVnArRFN2c1pxZmVoU3VVa3RRMzIzZGZLZXdGKys5dmYKNG4x
NEpEdjQ0SVA1eUVjKzBsUWVxOTFibXpubkkvMTVvOW5udUhxTnBNL3NpT2ZBWVhnSDNua2lqQWpE
WThRUmRDUVF1ZkRxMWxBZgprS3V2dnBxdmZ2V3JwR25LR1dlY3dZNDc3dGhTZmg5OTlGR2VmUEpK
bm52dU9UNzV5VSt5M1hiYmNkZGRkM0hYWFhleHdRWWJNR1BHCkRJcWk0Tnh6ejJXTk5kWmcyclJw
UGR2T21UT0hSeDk5bENpSzJHYWJiVmg3N2JYWmFLT05xcVpielpJbFM1ZzllemFQUGZZWTA2Wk4K
WThzdHQreFp0M2p4WWk2NTVCTG16NS9QMUtsVDJXU1RUYXFtazJVWnMyZlA1clhYWG1QRkZWZms4
NS8vUEJNblRnVGdqanZ1NEgvKwo1My9ZYXF1dDJHV1hYVGozM0hONS9mWFgyWGZmZmRsMjIyMjUv
ZmJiZWZ6eHh6bnV1T05xbGsvNS9xNjQ0Z3ArLy92Zjg3blBmWTZ0CnR0cXFycnpjZXV1dDNILy8v
Y3lZTVlPSkV5ZHkyV1dYTVcvZVBFNDk5ZFJCejFXYXBzeWNPWk9sUzVmMkJBUE91VUczcWJkODZs
bGYKbm85Zi9lcFhQUC84ODJ5NzdiWjg3R01mRy9DZU04NDRnMU5QUFpWWFhubUZWMTk5bFgzMzNi
ZG1tZFY3cnF1ZGsyZWZmWllubm5pQwpSeDU1aE8yMzM1NmRkdG9KQ0w4NjNYbm5uVXllUEpuRml4
ZHo5OTEzcy92dXU3UE5OdHR3MjIyM2NmLzk5N1BYWG51eHpUYmJOSlNQCldua3lNKzYvLzM3KzhZ
OS85QnovZ2dVTHVQSEdHOWx5eXkxNTZhV1h1T2VlZTVnNmRXcWZjc2p6bkZtelpyRmt5UkltVFpy
RWZ2dnQKeC9qeDQrdk9WN1Z5YU5aZzU2emF2dXE1aDlRNm5vVUxGM0xkZGRleDFWWmI4ZWlqai9M
Z2d3K3kxMTU3OWV4ajZkS2wzSERERFd5MgoyV2I4N25lL1k0VVZWdURnZ3c4ZU5OMXExMDZsYlNx
bHY4NDY2N1I4WERENGZieGFIbXVWeDJEN3JuUk5uWGZlZVJVL281V1VTaVhXCldHT05Qc3NxbmZ0
S24vdEtuNFB1NjZxZSswMjk5KzVqanoxMndINmF1US8xVitsODNIYmJiVHoyMkdPc3RkWmFISERB
QWNSeHpPV1gKWDg1S0s2M0VQdnZzVS9OelhpMWZsY3IwOGNjZjUvYmJiMmY4K1BFY2ROQkIzSExM
TFN4ZHVwUUREenlRbFZkZWVVQitxMTBEbGE3bgovZmZmZjhDeWd3NDZxT3A1cWZhWnEvZjd2dEx4
MVhOUGJPUzdyOVo3cTVYUDFWZGZ6YXhaczNqaGhSZjR3UTkrd01jLy9uRzIzWGJiCmlubHU1anU4
MmptdmRhMTFHK25QRzBQeEhGZnR1NitWNDY5VnJwWHlWczgxT1NJNVIrUWNSa1RzdTRLTnlCTjdU
eFNGK1FmakNOTHkKT05JYU1IWHFWQ3VLd243MXExK1o5OTZlZWVhWm5uVkhISEdFSFhyb29YM2VY
MmxadDBXTEZ0bSsrKzVyWm1aUFBQR0UvZGQvL1plWgptV1ZaWmx0dnZiVWRjOHd4UGUvOTlyZS9i
Uys4OEVMUC83LzFyVy9aZWVlZFoyWm11K3l5aTIyOTlkWjJ3dzAzREpwdUpZRHR0OTkrCk5tdldM
SnM2ZGFxdHNNSUs5c29ycjVpWjJaSWxTK3h6bi91Y1BmbmtrL2FiMy96R1ZsNTVaWHY0NFljckhs
ZVdaZmJSajM3VTVzeVoKWTJabTU1eHpqbTI4OGNiMnozLyswOHpNRmk5ZWJKTW1UYkpmL3ZLWFpt
WjI3YlhYMnNvcnIyeFpscG1aMlgzMzNXY3paODZzcTN6TQp6RlpkZFZXYk5tMmEzWHp6elhiMDBV
ZmIybXV2WFhkZTNucnJMWXVpeU82Nzd6NHpNN3Z6empzTnNLSW9ldExvZjN4RlVkaW5QdlVwCnUv
SEdHODNNN0xUVFRqUEFYbi85OVlybDJtajUxRnB2WnJieHhodmJkZGRkWjIrOTlaWjk3V3RmNjNQ
dDlaZGxtVVZSWkhQbXpMRTgKejJ1VzJXRG51bHkxYy9MbW0yL2E1TW1UYmVIQ2hkYloyV21yckxL
Sy9lTWYvekF6c3psejV0aWFhNjVwZSs2NXAxMS8vZlYyd2drbgoyTGh4NCt5NzMvMnUzWHJyclhi
VVVVZlo2cXV2M2xBKzZzblRrMDgrYWR0dHQ1MU5temF0NTcyLy92V3ZiYVdWVnJMOTk5L2Zicmpo
CkJ2dktWNzVpNjZ5elRzLzZQTTl0anozMnNBY2VlTURNekQ3MXFVL1p0Ny85N2Jyek5WZzVOSHAv
TUJ2OG5BMjJyMXIza0hxTzU3YmIKYmpQdnZlMjk5OTUyM1hYWDJSZSs4QVh6M3R1Zi92UW5NelA3
eFM5K1lkNTdtelp0bXAxeXlpbjI5YTkvZmRCMHE1Mm5hdHRVU244bwpqc3VzK24xOHNIdE9yZktv
dHU5cTExU2x6NmlaMmZUcDAyM2pqVGUyb2lqcytlZWZ0eTkrOFlzMlpjb1VlK3FwcDJxZSswcHBW
dm9jCjFITy82VmJ2dmJ2YWZocTVEL1ZYN1h3c1hyelkzdkdPZDlqcHA1L2U4OTdqanovZW5uMzJX
VE9yL1RtdmxLL0JQay9ISDMrOHJiLysKK3RiWjJXblRwMCszdi8vOTd4WHpPOWoxVitsNjdyL3Nx
MS85NnFEbnBWSWE5WDdmVnp1K1dtWFZ5SGRmcmZmVytueWVlT0tKOXBuUApmS1ptbnB2NURxLzJl
ZXMybXA4M21uMk9LMWZ0UHRYcThROVdydFh5VnV1YUhHbXV2dnBxNDRNMzJYR1hQMmZuM1RQUHpy
cjdWZnZSCjdhL2FubWU5YVAvdjh0ZnQyRnNLKzhFRFp1ZisyZXpTbDh3dWVEcDhCMTE5OWRWV2R3
RHk0SU1QMm85Ly9HTXpDNFcrL3ZycjI1ZS8KL09XZTlZMCtZRHozM0hNMmFkSWt1L2ZlZTN2KzMr
MnFxNjZ5dGRkZTIwcWxrdVY1YnNjZWUyeWZiU2RQbm16MzNIT1BtWm1kZi83NQp0dVdXVzlhVmJu
K0F6WjA3MTh6Q1JiL1JSaHYxQkRabm5IR0c3YjMzM25iMjJXZmIyV2VmYlp0c3Nva2RjY1FSRlk5
cjFxeFp0dFZXClcvWDh2eWdLbXpScGtuM3ptOS9zV2ZhMXIzM05Eanp3UURNemUrT05OOHc1Wjdm
ZWVxdVptWDNuTzkreHhZc1gxMTArcTY2NnF0MTEKMTExbVp2YmlpeThhMFBPbFVFOWV4bzBiMTNO
RG1EdDNiczBid2pYWFhHT2JiNzU1bjd3QnRuRGh3b3JsMm1qNTFKUG5qVGZlMkdiTwpuR25mL09Z
MzdZMDMzcWk0MzNKUkZObHZmL3ZibnY4UFZtYURuZXR5MWM3SmtpVkxlaDRHRmkxYVpPdXNzNDdk
ZmZmZFBkdnRzTU1PCmR1YVpaL2I4ZjVWVlZ1azU5MHVXTERIQVhubmxsYnJ6VVUrZXpNeU9QUExJ
UGc5RVptYWJiYmFablgvKytXWm05c0lMTHhqUTg2QXgKZS9ic1BsK0F6enp6akQzd3dBTjE1MnV3
Y21nMkFLbDJ6bXFWK1dEM2tIcVBaODAxMTdUcnI3Kys1Ly92ZmU5NzdaUlRUdW41LzdycgpybXV6
WnMycUs5MXE1Mm13YmZxblB4VEhOZGg5dk5hOWM3RHlxTGJ2YXRlVTJjRFBxRmtJUUZaZGRWVTc1
SkJERExCamp6MjJ6NzNKCmJQQnpYeW5OL3ArRGV1NDM1ZXE5ZDFmNnZEVnlIK3B2c1BQeDR4Ly8y
Tjcxcm5mMWxFMy84enpZNTd4U3ZnWXIwMUtwWlAvNnIvOXEKbi9qRUoreTIyMjZybUZlejJ0ZGZw
ZXU1ZkZrOTU2Vi9HdlYrM3c5MmZJT1ZWU1BmZmJYZVc2dDgrZ2NnZytXNTBlOXdzOHFmalhySwpj
YVEvYnpUN0hGZHVzUHRVSzhjL1dMa09scmRhbjkrUnBDY0F1Zkp2TnZQWDgremNlMTYxMCs5OHpm
WTk3MldiOFl1RjlxMDd6SDcwCmU3T1pmemFiL1lyWno1N3BEVURxYm9JMWMrWk1TcVVTWC9yU2w0
RFFMdS9paXkvbWU5LzdIcXV1dW1yRHRUVlRwa3poeTEvK01qdnUKdUNPZis5em5PUGZjYzN2Vzdi
WFhYaHg5OU5IY2NNTU5yTHp5eXV5ODg4NTl0dDEwMDAyNTQ0NDcrTmpIUGtaUkZPeTU1NTUxcFZ2
SgpoQWtUZ0ZDOTkrRVBmNWk3Nzc2Ynd3OC9uTGx6NTdMVFRqdHg2S0dIQW5EWVlZZjF0TS9zNytH
SEgyYlNwRWs5LzNmTzhhRVBmWWhICkgzMjBaOW1NR1RQNDEzLzlWeFlzV01BdmYvbEw5dDU3YjM3
Kzg1L3owWTkrbEtJb2V2TFI2SEYwVi9XOS9mYmJkZWVsVVhQbXpPRjkKNzN0ZnovKzdxeVhyVlN0
UDllYjVKei81Q2V1dHQ5NkFzbXBVL3pLcjkxeFhPeWNyckxBQ0J4eHdBS2VmZmpvYmJiUVJjUnoz
NlJUWAp2K3E0dTAxcjk3Yk9PUll1WE5qUU5WY3JUL1ZZWVlVVkFPanM3QVRndnZ2dVk3UE5OdXRa
dittbW03THBwcHR5NXBsbjFwV3ZXdVhRCml2N25yTmErQnJ1SE5GTE81Y3QzM25ublBwMmh4NDBi
MStmZU4xaTYxYzdUWU52MFQzOG9qbXV3KzNnOTExSzE4cWkyN3lPUFBMTGkKTlRXWTFWWmJqWXN2
dnBna1NUai8vUFA1d2hlK3dIdmU4NTZlOWExZVo0M2VJeHU5ZDllci96WGQzMkRuWS9yMDZaeHl5
aW5jZE5OTgpyTFBPT215Ly9mWlY5OVAvYzE3dFBkWEtORWtTemp6elRENzFxVTl4OXRsblYwMmox
dlZYNlhvdVgxYlBlZW1mUnIzM3YzcXZtZjVsCjFjaDNYNjMzTm5wL0g4NzdhWCtqL1htajFlZTRh
dDk5L1RWNi9JT1ZhNzE1cStmek94SVlVRmlZRGQwNVJ4UTdraWdLSTJKWmFKSVYKeDZFamVyZTZP
cUhQbXplUGpvNE9acytlelRubm5NTTU1NXpEVFRmZHhOS2xTN253d2d1Ynl1eWlSWXY0N25lL3k2
OS8vV3NlZlBEQgpQbTBTNHpobSt2VHBuSC8rK2R4enp6MTgvT01mNzdQdE5kZGN3KzIzMzg3Wlo1
L051dXV1eTdISEhsdFh1clZNbURDaHAxUFR4aHR2CnpDT1BQTUs0Y2VONlhnc1dMTURNQm15M3ho
cHI4UERERDFNVVJjK3l5Wk1uOTNuUWZOZTczc1VIUC9oQlpzMmF4Uk5QUE1HWlo1N0oKTGJmY3ds
bG5uY1ZuUC92WmhzcG5NUFhrcFZHVEprM2k0WWNmSHJDODNqNGd0ZkpVYjU1UE9PRUU1czJieC9I
SEgxL1hmdXZOWDczbgp1dG81ZWVtbGwvall4ejdHdEduVDJHZWZmVWlTcE5KdWF1YXJrV3V1VnA2
YWtTUUp0OTEyVzU5bEN4Y3VyRHRmalpaREsycnRhN0I3ClNEUGxEUERxcTYreTRZWWJWbDAvV0xy
VnpsT2plV25sdUdyZHh4dTlsc3JMbzlxKzR6aXVlRTExRyt3emV0WlpaN0hwcHB1eXh4NTcKOU5t
bTFybXY5Ymx2OUI3WjZMMjd2MGI2eXBVYjdIeXN0TkpLZlBHTFgrVDAwMC9ucHB0dVl1Kzk5MjQ0
L2ZKODFTclRtMisrbWYzMwozNTlERHoyMFQ3bVZhL1p6MWEyWjc2NTZyOWxtNzAyTmZQZlZlbStq
NVRNYzk5TnExK0pZZXQ1bzVqbXUybmRmTGJXT2Y3QnliZlh6Ck10SWtFVmdCaGlNdmpDd3J5Q3dF
SlFVaFFNa3lTRXU5MjlRVmdKeDExbGtjY01BQmZaYXR0OTU2N0xiYmJweDExbGwwZG5aU0ZNV0EK
RzFPbFpkMSsvL3ZmODl2Zi9wYVBmT1FqM0hYWFhRUEdjWjQrZlRwejVzeGg4dVRKQXk2OG1UTm5j
czAxMS9EbEwzK1p6M3ptTTMxKwpnYXFWYmpWbXhwdzVjemo4OE1PQjhFdmpKWmRjd3M5Ly9uUFNO
T1dGRjE3Z1Y3LzZGYzY1QWNlMTMzNzdzV1RKa2o0Zm1ybHo1ekoxCjZ0USsremo4OE1NNS92ampP
ZUNBQTFodnZmWFlhYWVkdU8yMjI5aGlpeTBhS3A4MFRVblR0T2ZmNVgvcnljdTY2NjdMczg4K0M4
QnoKenowSDBPZVhsZjdIZDhBQkIvRE1NOC93MEVNUEFlSEJvLzgyNVJvdG4zcnliR1pNbURDQmE2
NjVoclBQUHB0Zi9PSVhGZmZkYmNVVgpWK1ROTjkvc1V6N1Z5bXl3YzEydTJqbTU0NDQ3V0xCZ0FT
dXR0Qkt2di80NjgrZlBKOC96UHVWUmZsTjUrKzIzeWJLczU3aTZYNFBsClkvNzgrVnh4eFJVRGZn
V3A5em9wejB1Mzhqd0EvUHUvL3p0LytNTWZ1T2lpaThqem5JY2Vlb2diYjd5eDd2SVpyQndhdlQv
MHozLy8KdjdYS0hLcmZRK285SGdnZFg3dnpldSs5OXpKanhvdysrZTh1dzFycFZqdFB0ZTR6NWVt
M2VseTE3dU8vKzkzdmF0NDdxNVZIdFgzdgp1dXV1RmE4cEdQZ1poZEFwcy91K01uNzhlSzY5OWxw
ZWUrMDFEanp3d0o1clpiQnpYeW5OL3ArRGV1L1g1ZXE1ZDFmNnZEVnlIK3F2CjFuZlpVVWNkeGR5
NWMxbTBhRkhQcjZUZEJ2dWNWOHJYWUdWNjdiWFg4b0VQZklDWk0yZnk4c3N2YzhZWloxVE1iNjNy
cjlMMVhMNnMKbnZQU1A0MTZ2KzlyM1p1cWxWVWozMzIxM2x1cmZEbzdPeW1WZXAvT0JzdHpvOS9o
VVBtelVVODVqdlRualhLTlBNZVZxL2JkMStyeApEMWF1dGU3OTNTcDlmdDk0NHcxdXVPR0dtdVd4
VE9XR295RFBjOHdnendxeUxDZkxJRXZERE9paHdWelpOclhhZDgyZVBkc21USmhnCnA1NTZxcVZw
MnJQOHozLytzKzIwMDA0RzJHNjc3V2FiYkxLSnZmT2Q3N1NISG5ySXpFSmJ2M2UrODUxOWxwVzc1
NTU3YlBQTk43ZnoKenovZnpqLy9mTHZpaWlzR3ZHZmF0R24yNnF1dkRsaSs4ODQ3VzVJa3R0WmFh
OW1VS1ZOc3p6MzN0TC85N1c5MXA5dHR4b3dadHRkZQplOW5aWjU5dGUreXhSNS8yclVWUjJPR0hI
MjdPT1Z0Ly9mVnR4b3dadG1qUm9xckhkZVdWVjlwMjIyMW5OOTk4c3gxNTVKSDJneC84CllNRCtT
cVZTVDRja003TmJiNzNWTHIzMDBvcDVxM1ljVjF4eGhRRTJiZG8wVzdod29aMTY2cWtHMkRlLytj
MmVkcFcxOG5MMjJXZmIKQ2l1c1lMdnZ2cnRkZE5GRnRzRUdHOWdGRjF4Z1p0WFAyemUrOFExYmJi
WFZiTjk5OTdWampqbkcxbHByTFR2NTVKUDdYQk9EYlY4cgpUNE90di9iYWE4MTdiNS83M09mc2xW
ZGVzY01QUDl5U0pMR1RUanBwUU4rWmJrY2ZmYlN0dDk1NmRzRUZGOVFzczJybnV0NXo4c0lMCkw5
Z0dHMnhnVzIrOXRaMSsrdW0yLy83NzJ6YmJiR05QUGZXVVBmREFBelp4NGtUYmRkZGQ3ZTkvLzd0
ZGUrMjFQWjNtWG4zMVZUdnYKdlBONjh2TFdXMjlWemNmczJiTU42RGxQdGZJMGQrNWMyMnl6eld5
ampUYnFhUjk3NzczM1doekh0c2NlZTlocnI3MW1KNTEwa2dGMgo4c2tuOTZUM3ZlOTl6em82T216
OCtQRTJkZXBVZS92dHQrc3VuMnJsY05WVlZ3MjRKbXJkSDJxZHM4SEt2RnlsZTBpOXg3UG1tbXZh
ClB2dnNZMmVlZWFidHNNTU9kdUdGRi9hc3UvTEtLODE3Yjd2c3NvczkrZVNUTmRPdGRwNnFiVk1w
L1ZhT3E1NzcrS2MvL1dsN3ozdmUKVS9YZU9WaDVETGJ2U3RlVVdkL1BxRmxvUy95T2Q3ekRBRHZ0
dE5ONnRyL2xsbHZNT1dmNzdMT1AvZVV2ZnhuMDNQZFBzOUxub1B2OAoxYnBmbDZ0MTc2NjJuMGJ1
US8zVjgxMDJkZXJVQWUzNjYvbWM5eStuYW1VNmE5WXMyMktMTFd6Ky9QbG1abmJJSVlkWVIwZUhY
WDc1CjVRUHlNdGcxVU9sNnJyYXMybm1wOVA1NnYrK3JIZC9zMmJOcmxsVzkzMzIxM2p0WStjeWRP
OWZlOTc3MzJlcXJyMjVYWFhWVnpYdGMKTTkvaC9jOTV1ZEg2dkdIVzNITmNKWlh1VTYwZS8yRFha
N1c4MWZQNS9lVXZmMmx4SE51YmI3NVo4VmlXcFo0K0lMUC9hdWYrenp6Nwo3N3ZtMldtM3YycTdu
LzEzKy94bHI5dlhialk3NVhkbVp6MWhkdEh6Wm1mOXFiY1BpRE5yVDMxUFVSUjQ3NWsvZno2cnI3
NTZ4VjhmClM2VVNIUjBkZlpZdFhicVVILzd3aDB5ZlBwMVhYMzJWUllzVzhkeHp6L0hNTTg5dzhz
a24xNVZ1dVR6UFdiaHdZZFVxd3pmZWVJTTQKanV0cTUxc3FsZmpMWC83U001WjlKV21hOWxTbG1o
bDVuaFBIQTd2aU5Ib2NqZVpsOGVMRlRKdzRzU2ZTcnRYWEFIcmJQWTRiTjQ2aQpLQ3JtdTVVODFW
TitqZWcreG5yVk90ZURuWk9pQ0pGLzk3bk5zcXpoOHFtVmo0Y2Vlb2gvL3ZPZmZQclRuNjRyVDgz
cS9pVnVwWlZXCnFpdGY1WWF5SEdxcFoxK1Y3aUhkYWgzUDVNbVR1ZWlpaTlodXUrMllOR2xTM2Nk
UktkMWE1Nm1SKzB5cngxVk5yVHpXVXg3VjlsM3QKbW1yME0xcWUxMnJudnQ0MEc3M2YxSHZ2N3Er
Vlk2ejEyWjQrZlRvWFhIQkJ3MmxYeXRkUWZYYWJ2ZjY2TlhKZUdybi90WEo4alh6MwoxWHB2SStW
VHozWGV5SGQ0dFd0eHREOXZETlZ6WExYN1ZDM1ZqcitlY20zMjgvTDY2Ni8zNlgvU0x0ZGNjdzM3
L1dROHgzNXhNelo4Cnh3UktoWkZtam51ZkxySEdhaXV4K21xVFdHVmxXSGtTckRnUjByZGg3bjlO
WTQ4OTltaHNIcENoMUgwQjloL2Z2VnlsTDlnZi9laEgKUFB2c3M2eTk5dG85RTlpTUd6ZXVaN0tI
QTdpL0FBQWdBRWxFUVZTWWV0SXRGMFhSb08wVlYxbGxsYnJTNmM3dmU5Lzcza0hmVTk2TwowemxY
OVVQVjZIRTBtcGZ1bTFBOU40SnU1ZFg4ald4WGI1N3FLYjlHTlBxbFgrdGNEM1pPdlBkOXlxU1Zo
KzVLK1hqenpUZDU5TkZICk9leXd3K3JPVTdPNjI2UFdrNi8raHJJY2htSmYxUjdTb2I3ak1UUFdY
SFBOaHZKVktkMWE1Nm1SK3d5MGZseVYxSE10MVNxUGF2dXUKZGswMTgyQU9nNS83ZXROczlINVQ3
NzI3djFhT0VRYWVqL256NS9Qc3M4OHliOTY4UWVlNGFqUmZRL1haYmZiNjY5YkllV25rL3RmSwo4
VFh5M1ZmcnZZMlVUejNYZVNQZnhkV3V4ZEgrdkRGVXozSFY3bE8xVkR2K2VzcTEyYy9MU0FnK3ly
a0NjZ016UjJmdXlRdklDOGdzCi9NM3owUHFxdktWMDQwK1JiWGJJSVlmdzV6Ly9tYTIyMm9vRER6
eVFyMzcxcXp6NzdMUHNzODgrN2M2YXlMQlplZVdWbVQ1OWVsT0IKbnpUdTE3LytOZlBueitmbW0y
OW0zcng1N2M1TzI2azhSbzdMTHJ1TTdiZmZudXV1dTQ3UGYvN3o3YzZPaUFnVVlRU3NORFdLSWlm
TgpDa3BwVGxiS3lJMmV2aUNkWlozUTIxWUQwcXdOTnRpQUJ4NTRnRVdMRmpGKy9QaGhIV2xIUkpa
UEcyNjRJYzg4OHd3d3ZMVTRvNFhLClkrUTQrdWlqT2VTUVEwYmNMNkFpc3Z5S2dGSnU0QnhaRGpt
T2dvalVQS1VjMGd4S1hiVWszVWJ0TjBtamJmUkVST28xWmNxVWRtZGgKUkZGNWpDd0tQa1JrSkNu
eUFnOTBGb1laWkRta1dVNldaZVRXUVU1WVZpb2JDRy9VQmlBaUlpSWlJdEplNWoxNFJ3ZVF4WTRr
Z2poeQpKTEVuY1dFQ3duRWRVSlROSzZrRzVTSWlJaUlpMGh3SHNRTm5oTm5QbmRFUlFlSkRBSklB
a1VGSFdkU2hBRVJFUkVSRVJKcmlZby96CkRoK0hvWWFUam9Rb2lZaGloNC9CKzFBTEVpa0FFUkVS
RVJHUmxqbHdHTjZCZDU0SUk4THdHSEVFSFFsRUxyeTZxUStJaUlpSWlJZzAKeHpraTV6QWlZdDhW
YkVTZTJIdWlDQndRUjVCR3ZadW9Ca1JFUkVSRVJKcGl6dkNSeDd2UXpDcHk0REc4TTJJSFNSTDZp
Q1JxZ2lVaQpJaUlpSWkzekh1Y2dpc0I3Unh4SHhKRWpqaDFSRW9JTkY0RXJhNEtsQUVSRVJFUkVS
SnBpUUdGaE5uVG5JSW9kU1JTRkViRXMxSWpFCmNlaUkzazBCaUlpSWlJaUlOQ1dKd0Fvd0hIbGha
RmxCWmlFb0tRZ0JTcFpCV3VyZFJnR0lpSWlJaUlnMEp6Y2NCWG1lWXdaNVZwQmwKT1ZrR1dScG1R
RGNqUkNKZE5BcVdpSWlJaUlnMEpjc0FQTGl1NWxqT2t4VkdWa0JPV0phbTBKbjFicU1BUkVSRVJF
UkVtbUtXVTFoQgpiZ2FGSThzeWlzSkMwNnNVMGh6U2dqQWVieGMxd1JJUkVSRVJrYWE0QW5JRE0w
ZG43c2tMeUF2SUxQek44MUFMa3VlOTJ5Z0FFUkVSCkVSR1I1aFJoQkt3ME5Zb2lKODBLU21sT1Zz
cklqWjYrSUozcWhDNGlJaUlpSXEyS2dGSnU0Q0RMSWNkUkVKR2FwNVJEbWtHcHE1YWsKbXdJUUVS
RVJFUkZwU3BFWGVDQXRERE1qeXlITmNySXMxSURraE1Da3BFN29JaUlpSWlMU0t2TWV2S01EeUdK
SEVrRWNPWkxZazdndwpBZUc0RGlqRzkyNmpHaEFSRVJFUkVXbU9nOWlCTThMczU4N29pQ0R4SVFC
SmdNaWdveXpxVUFBaUlpSWlJaUpOY2JISGVZZVB3emk3ClNVZENsRVJFc2NQSDRIMm9CWWtVZ0lp
SWlJaUlTTXNjT0F6dndEdFBoQkZoZUl3NGdvNEVJaGRlM2RRSFJFUkVSRVJFbXVNY2tYTVkKRWJI
dkNqWWlUK3c5VVJUbUg0d2pTS1BlVFZRRElpSWlJaUlpVFRGbitNampYV2htRlRud0dONFpzWU1r
Q1gxRUVqWEJFaEVSRVJHUgpsbm1QY3hCRjRMMGpqaVBpeUJISGppZ0p3WWFMd0pVMXdWSUFJaUlp
SWlJaVRUR2dzREFidW5NUXhZNGtpc0tJV0JacVJPSTRkRVR2CnBnQkVSRVJFUkVTYWtrUmdCUmlP
dkRDeXJDQ3pFSlFVaEFBbHl5QXQ5VzZqQUVSRVJFUkVSSnFURzQ2Q1BNOHhnendyeUxLY0xJTXMK
RFRPZ214RWlrUzYxUjhGYXNHRDRNcndzckxaYWUvZi81cHNoN0J1dDJsMStiNzBGblozdHpVTXJK
azNxMitoeFdWdTZGSllzYWQvKwpXN1hxcW1FQWNSRVJFUm1Sd21PdUI5ZlZITXQ1c3NMSUNzZ0p5
OUlVT3NzZWgyc0hJS3V2UGp5NVhWYk1hcjluT08yNEl6enlTSHZ6CjBJck9UdWpvYU4vK3YvUWx1
T1NTOXUyL1ZmLzhaM3VEdURQUGhHOTlxMzM3YjlWZi9nS2JiTkx1WElpSWlFZ1Zaam1GRmVSbVVE
aXkKTEtNb0xEUzlTaUhOSVMwSTQvRjIwVStMd3l4TjAzWm5RVVJFUkVSa1dMZ0NjZ016UjJmdXlR
dklDOGdzL00zelVBdVM1NzNiMURVUgo0UytBYnc5UG5vZk5ONEhwN2M1RWwzdUEvOWZ1VERUb1VP
QTc3YzVFbHllQTNkcWRpUWI5TzNCMnV6UFJaYUgzYkZVVTdjNUdRN1lHCnJtNTNKa1JFUktTMklv
eUFsYVpRRkRscFZsQktjN0pTUm01eFQxK1F6ckpPNkhVRklJdUF2dzVUbm9mTEcrM09RSmtsakw3
eSsyZTcKTTFDbXhPZ3J2M250emtDWm5ORlhmdXUwT3dNaUlpSlNsd2dvNVFiT2tlV1E0eWlJU00x
VHlpSE5vTlJWUzlKTlRiQkVSRVJFUktRcApSVjdnZ2JRd3pJd3NoelRMeWJLTTNNSVBvVmtlUnNQ
cVZsY05pSWlJaUlpSVNIL21QWGhIQjVERmppU0NPSElrc1NkeFlRTENjUjFRCmpPL2RSalVnSWlJ
aUlpTFNIQWV4QTJlRTJjK2QwUkZCNGtNQWtnQ1JRVWRaMUtFQVJFUkVSRVJFbXVKaWovTU9INGR4
ZHBPT2hDaUoKaUdLSGo4TjBYbkVTZ3BOdUNrQkVSRVJFUktRNURoeUdkK0NkSjhLSU1EeEdIRUZI
QXBFTHIyN3FBeUlpSWlJaUlzMXhqc2c1aklqWQpkd1Via1NmMm5pZ0s4dy9HRWFSUjd5YXFBUkVS
RVJFUmthYVlNM3prOFM0MHM0b2NlQXp2ak5oQmtvUStJb21hWUltSWlJaUlTTXU4Cnh6bUlJdkRl
RWNjUmNlU0lZMGVVaEdERFJlREttbUFwQUJFUkVSRVJrYVlZVUZpWURkMDVpR0pIRWtWaFJDd0xO
U0p4SERxaWQxTUEKSWlJaUlpSWlUVWtpc0FJTVIxNFlXVmFRV1FoS0NrS0FrbVdRbG5xM1VRQWlJ
aUlpSWlMTnlRMUhRWjdubUVHZUZXUlpUcFpCbG9ZWgowTTBJa1VnWGpZSWxJaUlpSWlKTnlUSUFE
NjZyT1pielpJV1JGWkFUbHFVcGRHYTkyeWdBRVJFUkVSR1JwcGpsRkZhUW0wSGh5TEtNCm9yRFE5
Q3FGTkllMElJekgyMFZOc0VSRVJFUkVwQ211Z056QXpOR1plL0lDOGdJeUMzL3pQTlNDNUhudk5n
cEFSRVJFUkVTa09VVVkKQVN0TmphTElTYk9DVXBxVGxUSnlvNmN2U0tjNm9ZdUlpSWlJU0tzaW9K
UWJPTWh5eUhFVVJLVG1LZVdRWmxEcXFpWHBwZ0JFUkVSRQpSRVNhVXVRRkhrZ0x3OHpJY2tpem5D
d0xOU0E1SVRBcHFSTzZpSWlJaUlpMHlyd0g3K2dBc3RpUlJCQkhqaVQySkM1TVFEaXVBNHJ4CnZk
dW9Ca1JFUkVSRVJKcmpJSGJnakREN3VUTTZJa2g4Q0VBU0lETG9LSXM2MmxJRDRoeXN2ejZzdlhi
NDk3eDU4UHp6WFpPVVNGM2UKOFE1WWQxMklJbmp0TmZqYjMvcU9MaUNEVzNOTjJHQUQ2T2lBQlF2
Z3VlZkNHTlZTbjBtVFlLT05ZUHg0ZU9PTlVINUxsN1k3VnlJaQpJcktzdWRqanZNUEhRQW1Tam9R
b2lZamlzTXo3VUF1U2wzVkNYNllCeUE0N3dHR0h3UzY3d0JwcjlGMzMrdXR3NTUxdzBVVncxMTNM
Ck1sZWp4OVpidy9UcDhKblB3RHJyOUYyM2VESDg3Ly9DeFJmRERUZEFVYlFsaXlQYWU5NERoeDhP
ZSt3UkhwN0xMVjBLYytiQTdObHcKMVZWUUtsVk1Zcm0yNFlZd1l3YnN2VGU4KzkxOTE2VXAvTzUz
Y01VVm9ReVhMR2xQSGtWRVJHUVpjK0F3dkhONDU0bklpREE4Umh3NQpPaEtJWEhoMVd5Wk5zTjc3
WHJqbkhyajNYcGcyYldEd0FlRVgxYzkrTmdRaHYvc2RiTFhWc3NqWjZMRGhobkQ5OWZEd3d5RUE2
Ujk4CkFFeWNDTHZ2RHIvNkZUeitPSHpzWThzOG15UFdtbXZDSlpmQW4vNEVSeDAxTVBpQThFditw
ejRWSHA2ZmVncjIzSE9aWjNQRVdta2wKK09sUDRabG40RnZmR2hoOEFDUkorSUZoNXN4UUczTG9v
Y3MrbnlJaUl0SUd6aEU1UitRaVl1OUNzQkY1WXUrSm9qRC9ZQnlCajNvMwpHZllBWk1ZTWVPU1J4
aDZJdDlzTzVzNkZZNDRadG15Tkd2dnNBMy80US9qVnZsNmJieDVxUTA0N0xWUjdMYzkyM0JIKytF
YzQrT0Q2CnkyTEtGTGp1dWxBYk4yN2M4T1p2cEh2LysrR3h4K0RJSTBPUVVZKzExb0tmL3p6VXhL
Mjg4dkRtVDBSRVJOckxuT0VqajNlaEQwamsKd0dONFo4UXVQRC9FRHBLeTU3QmhmVHo5d1EvQ0w2
TE5QTVRGTWZ6b1IzRGVlYUdmeVBMb3FLUGc2cXZETDlDTmNnNk9PeTVzWCsrRAo0MWh6d0FGd3h4
MHdlWEp6MjMvaEM2RkdidUxFb2MzWGFQSEpUOEp2ZmhNQ3NtYnN2bnZZdnRueUZ4RVJrVkhBZTV3
TC9aSzlkOFJ4ClJCdzU0dGdSSlNIWWNGSGY1L2xoQzBDKysxMzR4amRhVCtmd3crSE1NMXRQWjdT
Wk1TTWNkNnZCMTk1N3crV1hMMzlCM0o1N3dtV1gKdFI1ODdiQUQzSHh6Nkt5K1BQblFoK0RHRzJI
Q2hOYlNlZC83NE82N1laVlZoaVpmSWlJaU1ySVlVRmlZRGQwNWlHSkhFa1ZoUkN3TApOU0p4SERx
aWR4dVdBT1RBQStHRUU0WXV2YTk4SlFRaXk0dVBmeHpPT1dmbzB0dHZQemo1NUtGTGI2VGJZb3NR
ZEVWUjdmZlc0Nk1mCkRUVjV5NHYxMXc5OWpsWllZV2pTMjJJTHVQTEs1UzhJRmhFUldSNGtFVmdC
aGlNdmpDd3J5Q3dFSlFVaFFNa3lTTXNHK0JueUFHVEsKRkxqZ2dxRk9OZFFHL011L0RIMjZJODNx
cXcvdHczTzMvL3pQMEI5aXJCcy9Qb3hpdGVLS1E1dnVvWWZDUVFjTmJab2prZmRoSkt0SwpBMFcw
WXBkZDFLZExSRVJrVE1vTlIwR2U1NWhCbmhWa1dVNldRWmFHR2RETkNKRklseUVQUUg3MnMrRnBN
ejl1WE9qWU90WTdWZi9rCkoyRitsS0htWE9oVVBYNTg3ZmVPWmllZUdJYmJIUTVublRYMEQrWWp6
UkZId0ljL1BEeHBuM3d5YkxycDhLUXRJaUlpN1pGbEFCNmMKRDgyeG5DY3JqS3lBbkJCM3BDbDBa
cjNiRE9uai9GNTd3U2MrTVpRcDl2VnYvd2FISERKODZiZmJkdHVGWVlxSHk1UXBZL3RYNkkwMwpo
cTk5YmZqU1gyMjFzZDJVYmJYVjRIdmZHNzcweDQrSDAwOGZ2dlJGUkVSazJUUExLYXdndHh5S25D
ekxLQW9MVGE5U1NITklDOEo0CnZGMkdMQUJ4RGs0NVphaFNxKzZrazhidXFFNm5uREw4N2VTUE9R
WldYWFY0OTlFdUo1NDQvSjNGRHp1cytWR2hScnBqangzK2EyUDMKM2VFREh4amVmWWlJaU1peTR3
cklEY3djbmJrbkx5QXZJTFB3Tjg5RExVaWU5MjR6WkFISVp6NFRKaHdjYmh0c0VEcTVqelhiYkRP
OAp0VWZkVmxrRnZ2akY0ZC9Qc3JiKytzdW1qMGFTREc4dFM3dXN0Tkt5dXk2R1luUThFUkVSR1NH
S01BSldtaHBGa1pObUJhVTBKeXRsCjVFWlBYNURPNGVpRS9xVXZEVlZLSTJ0Znk4cXlQS2JERHg5
N2ZXbG16QWhEdkMwTGh4d3k5dVlHbVRwMTJRMlZ1OGNlc041NnkyWmYKSWlJaU1yd2lvSlFiT01o
eXlIRVVSS1RtS2VXUVpsRHFxaVhwTmlTUG9ldXRCenZ0VlB0OVpxMnQ3N2J0dHN1bXRtVlpXWEZG
MkgvLwoydThicXZMYllJTmxVOXV5ckRoWFg5K2dvU3EvbFZZS005U1BKWWNlV3ZzOVExViszb2Va
NlVWRVJHVDBLL0lDRDZTRllXWmtPYVJaCjZBdVNXK2lJbnVWaE5LeHVReEtBN0x2djRIMFgvdmEz
TUNIWmhBbnczLzg5Y1Azeno4T1dXNFlIOFRQT3FHK2Y5VHl3anhhNzdqcjQKc0xILy9HY1ltV2pj
T1BqMnR3ZXVYN0FBUHZLUnNQNmIzNnh2bjJPcC9MYmZmdkJmMUpjc2dkMTJDODJuRGpzTWlxTHYr
cmZmRG4wVApraVRNZnQ1L2ZTVmpxZnltVEFrRFBGU1Q1eUZnU0pJdzBFUm5aOS8xUlFHZi8zeFl2
OGNlc0hScDdYMk9wZklURVJGWm5wbjM0QjBkCmtTT09QVWtFY2VSSVlrL2l3Z1NFNHpwZ1hObEly
RU1TZ095MjIrRHJEejhjL3ZDSDhLRDMxYStHZjVmNzRoZmg4Y2ZEZzh2WHZ3Ny8KOTMrdDczTTBx
WFVzeHg0TDk5OGZoakQ3L3ZmaHpqdjdydi9HTitDKys4TDYwMDZEMjI2cnZjOWRkMjArdnlOTnJm
TDcvdmZobGx2QwpnL1JGRjhFbGwvUmRmOXBwY05OTllmMnNXZUZWeThjL1B2UnpqYlJMcld2aFp6
K0QyYk5EK1Z4L1BmejR4MzNYWDNoaEtOTThEN09uCi8vQ0h0ZmU1NVpacWhpVWlJakltT0lnZE9D
UE1mdTZNamdnU0h3S1FCSWdNT3NxaWpwWURrSEhqQnA4M1lPSEN2Zy9NWm5ETk5iMy8KZi9OTnVP
T082dXVyMldvcm1EU3A4ZnlPUklNMWg2cFVIbGRkMVhmOTFWZFhYMS9OT3V1TW5XWnN0WnFUOVMr
UFJ2OWZ5Zmp4b2VabApMR2hIK2RXelh4RVJFUm41WE94eDN1SGowQndxNlVpSWtvZ29kdmc0Tkwy
T2t4Q2NkR3M1QU5sNjZ4Q0VWUFAzdnc5c0cvN2lpNzMvCmZ2bmxnVTFleXRkWDR4eDg4SVAxNTNP
azJuQkRXSGZkNnV2ZmVBTVdMZXE3ckx4OEZpMEs3eW4zMGt2MTdmdERINnJ2ZlNQWkNpdkEKKzk4
LytIdjZYMC85eTZmLytucXVQeGdiNVFlMWo2TlcrZFFxejJiM0t5SWlJcU9BQTRmaEhYam5pVEFp
REk4UlI5Q1JRT1RDcTF2TApBY2hXV3cyK3Z0TE0wZVhMS3ExZmM4MmgyZmRvc1BYV2c2OWZhYVdC
QVY1NStVeWNPSEIyODNwbjZ4NEw1ZmUrOTlVZS9hci85ZFMvCmZHcjl2NXF4VUg3cnJWZjc4OVpv
ZVMxUG4xOFJFWkhsbm5ORXpoRzVpTmk3RUd4RW50aDdvaWpNUHhoSDRLUGVUVm9PUUdvMTQxbHIK
clRESFJibnlOdnRyckJGR3RTcFhiLytFc2RDRWFMUE5CbDhmUmJEenpuMlhsWmVQOTdETEx0WFhE
MllzbEY4OXg5Qy9QUHIvdjM4ZgprbnI3RnkwdjVWZXJmR3FWYnpXYmJUYjhFMitLaUlqSThESm4r
TWpqWFdobUZUbndHTjRac1F1RDFNUU9rcUZzZ3JYcHByWGZjKzY1CnZmMDFEajhjZHRpaCt2ci8r
QS9ZY2NmNjlyM0pKdlhuYzZTcXAveE9QeDNlOFk3dzd6MzNoTTkrdHUvNkgvMm90eG5YN3J2WFB5
SGYKV0NpL2VvN2hwSlBnM2U4Ty8vN3doK0hMWCs2Ny9vUVQ0RDN2Q2YvZWZuczQ4c2o2OWoxbFNn
Z1FSN042cnIramorNzlrV0R6emVFLwovN1B2K3FPT2d1MjJDLy9lYkRQNHpuZnEyL2VLSzhMYWE5
ZWZWeEVSRVJtQnZNZTU4RXprdlNPT0krTElFY2VPS0FuQmhvdjYvdWpZCjh0UnRnL1ZmNlBadi94
YUc0cDAvSHpiZWVPRDZyYmNPUS9HKyttcGpEOFZqWVJTZGVzcHYwMDNoTDM4SmJldmY5YTZCNnpm
WkJKNTUKcHZyNmF0WmVPMXdzZVY3L05pTk5QZGZBNU1saGxMWG5uZ3ZsMDM4U3hqWFhET3VmZmJi
eSttcWlLTlR3dmZ4eTQva2VLZXE1L2laTQpnTi8rTmx4am0yNDZzTW5iaWl1R1VkcWVmanBjaTBs
Uy8vN1hXdzllZWFXeFBJdUlpTWpJWVVCaFlUWjA1eHhSN0VpaUtJeUlaYUZHCkpJNURSL1J1TFFj
Z3E2OWUzL3RXWGptOHFsbHBwZkFham4yUFpQWDJOMWhoaGNHRGkxcnJLNGtpV0hYVk1NL0lhRlh2
TmREUjBWdkwKVVVtU0RMNStzUDJQNWdDazN2S0xvc0hMeC92bXkwOUVSRVJHcnlRQ0s4Qnc1SVdS
WlFXWmhhQ2tJQVFvV1FacHFYZWJscHRnRFJaVQpETGR4NHhyN3RYVWthalRvR212N2IxVzc4OS9P
NjM4b3REdi83VDUvSWlJaTBxTGNjQlRrZVk0WjVGbEJsdVZrR1dScG1BSGRqQkNKCmRHazVBR2wz
QU5EUjBkNzl0MHJsMTVwMjU3L2Q1NjlWN2M1L3U4K2ZpSWlJdENiTEFEdzRINXBqT1U5V0dGa0JP
U0h1U0ZQb3pIcTMKYWJrSlZ2ODVQSmExZHUrL1ZlM09mN3YzMzZwMjU3L2QrMjlWdS9QZjd2Mkxp
SWhJYTh4eUNpdkl6YUJ3WkZsR1VWaG9lcFZDbWtOYQpFTWJqN2RKeURjalNwYTJtMER3ejZPeHMz
LzZIUWp2TGJ5VHN2MVh0em4rNzk5K3FkdWUvM2ZzWEVSR1IxcmdDY2dNelIyZnV5UXZJCkM4Z3Mv
TTN6VUF0U1B1aFJ5d0hJd29XdHB0QzhSWXRHL3krby9XY3hYOWJhZWY2R1FydnozKzc5dDZyZCtX
LzMva1ZFUktSRlJSZ0IKSzAyTm9zaEpzNEpTbXBPVk1uS2pweTlJNTFCMlFwODNyOVVVUnVlK2g4
by8vdEcrZmIvMUZpeGUzTDc5RDRWMmxoK00vbXV3M2Zsdgo5LzVGUkVTa05SRlF5ZzBjWkRua09B
b2lVdk9VY2tnektIWFZrblJyT1FCNTRZVldVeGlkK3g0cUtyL1d2UGhpKy9iOTVwdnRyOEZxClZi
dXZnWGJ2WDBSRVJGcFQ1QVVlU0F2RHpNaHlTTE9jTEFzMUlEa2hNQ2tOWlNmMHA1OXVOWVhSdWUr
aDBzNWplT2FaOXUxN3FPajYKYTAwN2orR1ZWMFovRFp5SWlNanl6cndINytnQXN0aVJSQkJIamlU
MkpDNU1RRGl1QTRyeHZkdTBYQVB5K09PdHBqQTY5ejFVMm5rTQpqejNXdm4wUGxYWWV3MWk0L3Y3
NHgvYjFveG9MNVNjaUlyTGNjeEE3Y0VhWS9kd1pIUkVrUGdRZ0NSQVpkSlJGSFMwSElBODlOUGo2
CnhZdWJteW42bi8rc1BVUDNndzgybnU1STgraWpmVWNGNkMvUDRkbG5HMC8zN2Jkck4wK3FkZTVH
ZzcvK3RmWjE4dWMvTjU1dVBlVSsKRnNwdnlSSjQ0b25CMzlOTStVSHQycFd4OFBrVkVSRlozcm5Z
NDd6RHgyR2MzYVFqSVVvaW90amhZL0ErMUlKRVF4bUFQUHNzL1AzdgoxZGVmZmpyc3NVZDRJSzVY
bXNLKys4SXBwMVIvejV0dmpvMWY4QmN2aGtjZXFiNSsxaXpZZWVmYUQ5bmx6T0R6bjRkampxbitu
cUtBCisrK3ZQODJSeWd4Kzg1dnE2Mis5RlQ3eUVmamIzeHBMOTVoajRKQkRCbi9QbkRtTnBUbFNE
WFljLy9kL3NNMDI0VzhqZnZRajJHMjMKN3NtSkd0K3ZpSWlJakJJT0hJWjM0SjBud29nd1BFWWNR
VWNDa1F1dmJpMzNBUUc0NHc3NHdoY0dMbi90TmZqKzk4TmNIZi95TC9ESgpUNEp6QTkvWDM3MzN3
bE5QaFFmTHIzNFZOdGhnNEh2dXZudndtb1BSNVBiYjRkLytiZUR5cFV2aDJHUERVS1ZiYkFHNzdn
cFJWRHU5Cmh4K0czLzgrL1B2clg0ZHR0eDM0bm9jZWdnVUxXc3YzU0hISEhiRG5uZ09YbThHWHZo
U3V3NjIzRHUrcForYnZKNS9zZlRpKzVwb1EKRFBmMzRvdTFhdzVHaTl0dmh5T09xTHh1eG93UUpI
LzR3N0QzM3JEaWlyWFRlLzc1a0NiQWYvOTN1QWI3VzdJRTdydXYrVHlMaUlqSQpDT0Vja1hNWUVi
SHZDallpVCt3OVVSVG1INHdqU011ZVlZY2tBTG4rK3NvQnlLbW45azRVK054emNNRUZqYVdiNTNE
Q0NYRHh4WlgzCk9WWmNmejE4NXpzRGw1OTFWdTg4Q2ErOEFoZGUySGpheHg4UGQ5NVplWjlqeFkw
M3dqbm5oQ3ErY2xkYzBWdnpzV0FCL1B6bmphZjkKM2UrR0IrLythWStsOHJ2NzdoQmtUSnpZZC9t
dmY5M2JUT3F0dDJEMjdNYlRQdjEwK09JWEJ3WXV0OSt1U1FoRlJFVEdBbk9Hanp3KwpEODJzSWdj
ZXd6c2pkbzRrQ1gxRWtxRnNnZ1hoRitoS3Y2WVBSU2ZUUC94aDRMSWxTK0NHRzFwUGU2UjQ1SkhL
N2V5SG92eWVmbnJnCmc1NFovT0lYcmFjOVVyejhjcWcxNjYvU3RkTk0ydlBuRDF4KzVaV3RwejFT
dlAxMjVZQnFLSzYvaFFzcjkwVzY0b3JXMHhZUkVaRVIKd0h1Y0M2MTB2SGZFY1VRY09lTFlFU1Vo
MkhCUjMxWlFReEtBbEVwdzZhVURsLy9pRjdEaGhzMm51OVphY04xMUE1Zi84cGVoRDhoWQpVcWwy
WStaTTJITEw1dE9jT0JGdXVnbkdqKys3L0s2N0d1OFRNZEw5N0djRGw1MXlDbnppRTgybm1TU2hD
ZGJreVgyWC8rbFA4THZmCk5aL3VTRlRwK3Z2S1YrREFBMXRMZDlZc2VQZTcreTU3OWRWUWF5VWlJ
aUtqbndHRmhkblFuWU1vZGlSUkZFYkVzbEFqRXNlaEkzcTMKSVFsQUFINzYwNEY5TWlaUERnL0Ev
WnQyMUdQY3VCQjhWT3IvY2VhWnplVnhKTHZ3d29GeklreVlFQjdVMWxxcjhmUzhoOHN2RDMxSAor
anZqak9ieU9KSmRjdzI4OUZMZlpYRU1WMThONzN4bmMybWVmVGJzdU9QQTVXT3gvTzY5TjR6STF0
L1BmdzRmK0VCemFaNXdBbnoyCnN3T1huM05PR0doQ1JFUkVScjhrQWl2QWNPU0ZrV1VGbVlXZ3BD
QUVLRmtHYWFsM215RUxRUDc2Vjdqc3NvSEx0OWdpUEFqM2IwTmYKeTRVWHdnYy9PSEQ1RFRlTXpm
a0RGaTRNZlQ3NjIyQ0RFSWlORzlkWWV0Ly9QdXkrKzhEbER6M1UyMEY0TEVsVCtNRVBCaTZmTkNr
RQp3YXV1MmxoNlgva0tUSjgrY1Buenp6ZlhGMkkwT1Bua2djdkdqdy9OczlaYnI3RzA5dHNQVGpw
cDRQS0ZDOE9QRlNJaUlqSkc1SWFqCklNOXp6Q0RQQ3JJc0o4c2dTOE1NNkdhRVNLVExrQVVnRUg3
eHJEVGM3dTY3aHdmaWVuM3JXekIxNnNEbFdRYmYvbmJ6K1J2cGZ2akQKTUdKVGZ4LzhZR01kMEE4
K0dJNDdydks2YXN2SGdwLzlyUExjRSs5K04xeDFWWDBqaUVFWTl2Z25QNm04N3R2ZkRrME94Nkxy
cjY4OApOUFBhYTRlYXVIcEd3SUl3NHRqRkYxY2U4ZTYvL3F0M1lBVVJFUkVaL2NLUSt4NmNEODJ4
bkNjcmpLeUFuQkIzcENsMGxnM05QNlFCCnlBc3Z3UGUrVjNuZGNjZUZCK05hOXR3empKNVZ5VTkr
TW5hR1BxMWs0Y0xxYzNkTW5Sb0NzMXEyMzc3NmFHT1hYUlpHTmhxclNxVXcKN0c0bE8rMVVYOU85
OTd3bjlER3FGS3o4Ny8rTy9jN1RSeHhSdVhuVSs5OGZhbjVxRGFPOXpqcWhsckpTc1BMSFA0N041
cE1pSWlMTApNN09jd2dweXk2SEl5YktNb3JEUTlDcUZOSWUwSUl6SDIyVklBeEFJditMLzlyZVYx
MTF3UVhoQXJtYkxMY05EY3FXSG5NY2ZoeE5QCkhKbzhqbVNYWGxxNTR6MkV3S3pTZkJmZE50eXdl
bk90RjErRW80NGFtanlPWkhmZkhmb1lWUExsTDRjaFlhdFpiYlhRWEd1VlZRYXUKVzdpdzhsRFRZ
ODFnbjdPOTk2N2NUS3ZiQ2l1RTRHUGRkUWV1Nit3TVAwQ283NGVJaU1qWTRncklEY3djbmJrbkx5
QXZJTFB3Tjg5RApMVWg1WC9FaEQwRHlQSFE4ZmVXVmdldTZPNVpYR2hscnJiVkNNNDhKRXdhdVc3
QWdUQWEzdk13YjhJVXZWQjZXMTdrUW9GVWFHYXQ3CnhLditJelpCYUJhMzc3NWpaK0xCV3I3Kzll
cWpWUDMwcDVWSHh1b2U4V3JUVFFldXkvTlFBL1g4ODBPYno1SHFCeitvUGtyVjhjZFgKSHhscjFx
ektFMnBDcUptcTFNbGRSRVJFUnJraWpJQ1Zwa1pSNUtSWlFTbk55VW9adWRIVEY2UnpPRHFobDN2
cEpmajNmNGZYWHgrNApydExJV0lPTmVMVjRNWHptTS9ETU04T1IwNUZwNFVMWVpaZUJvenBCNVpH
eEJodnhLazNoZ0FONko1UmJIblIyaG41SGYvclR3SFhWClJzYXFOdUtWV2FnMXVlV1c0Y25yU0dR
R0J4MVVmYWJ5U2lOalZSdnhDa0tOeWtVWERXMGVSVVJFWkdTSWdGSnU0Q0RMSWNkUkVKR2EKcDVS
RG1rR3BxNWFrMjdBRUlBRC85My9oZ2U3bGx3ZXU2ejh5VnJVUnIrYlBEMjMzcXpYcEdzdisrbGZZ
WVlmS05TSDlSOGFxTnVMVgpXMitGSmx2TDQ1d0w4K2VINjY5UzROVi9aS3hxSTE2bEtSeDZhT1U1
UnNhNnQ5NEtRWENsRWRQNmo0eFZiY1FyTS9qR053WnZ0aVVpCklpS2pXNUVYZUNBdERETWp5eUhO
UWwrUTNFSkg5Q3dQbzJGMUc3WUFCT0N4eDJDcnJjSk02ZjExajR4VmJjU3JPWFBDdGc4OE1KdzUK
SE5uKytsZllkdHZLczI1M2o0eDF5Q0dWUjdaNjdMR3c3YTIzRG44K1I2clhYZ3RCM0RubmRBMy9W
cVo3Wkt4ZGQ2MDg0dFd6ejRadApMN2xrMmVSMUpGcThHSGJiTFFRUVdkWjNYZmZJV0R2c1VIbkVx
MWRlQ2JXZ1AvemhNc3V1aUlpSXRJRjVEOTdSRVRuaTJKTkVFRWVPCkpQWWtMa3hBT0s0RHhwVk5q
RDJzQVFqQXZIbnc2VS9EL3Z1SFVYREtIWGZjd0JHdm5uNDZkRmI5Mk1kQ3grbmwzWnR2aHVZd08r
OE0KYytmMlhUZDFhbWgzWCs3RkYrSElJMkdiYmNiMmlHSDE2dXdNbmMrMzN4Nys1My82cnR0cHAx
QVRVajdpMVd1dndYLytaNmlsVzU2RAozMjU1SHBwUXZmLzlvZGFqS0hyWHZmLzlZVlMxOGhHdjNu
d1RUanNOTnR0c2JNNDNJeUlpSXYwNGlCMDRJOHgrN295T0NCSWZBcEFFCmlBdzZ5cUtPZUZubDdl
cXJ3MnU3N2NJdm8rOS9meGl5MHpuNHh6L0NML2EzM1JiYW5mZi90VnJnemp2RGE4c3R3Ni9TMjJ3
VFJodUsKNC9EUS9JYy9oUFgvKzc4RGYwdDVQQ1FBQUIwV1NVUkJWSzJXRUV4ODhwUHdybmVGMnJj
UGZDQTBaVXVTMERuL2lTZkNDRnAzM0JHQwpGdW5yajMrRXZmWUtaYmJISHFFR2JzcVUwQnhyNFVK
NDZpbTQ1NTdRVithdHQ5cWRXeEVSRVZsV1hPeHgzdUZqb0FSSlIwS1VSRVJ4CldPWjlxQVhKeXpx
aEw3TUFwTnNERCtpWDVWWTg5bGg0U1hPZWZocCsvT04yNTJMMGV1RUZPT3VzOEJJUkVSSEJnY1B3
enVHZEp5SWoKd3ZBWWNlVG9TQ0J5NGRWdG1RY2dJaUlpSWlJeVJqaEg1QnhHUk95N2dvM0lFM3RQ
RklYNUIrTUkwckltNzhQZUIwUkVSRVJFUk1ZbQpjNGFQUE42RlBpQ1JBNC9oblJHNzBOdzlkcENV
UlIwS1FFUkVSRVJFcERuZTQxd1kxTWQ3Unh4SHhKRWpqaDFSRW9JTkYvVWRNVk1CCmlJaUlpSWlJ
Tk1XQXdzSnM2TTVCRkR1U0tBb2pZbG1vRVluajBCRzltd0lRRVJFUkVSRnBTaEtCRldBNDhzTElz
b0xNUWxCU0VBS1UKTElPMGJCUXNCU0FpSWlJaUl0S2MzSEFVNUhtT0dlUlpRWmJsWkJsa2FaZ0Iz
WXdRaVhUUktGZ2lJaUlpSXRLVU1QK2NCOWZWSE10NQpzc0xJQ3NnSnk5SVVPc3ZtcVZNQUlpSWlJ
aUlpVFRITEthd2dONFBDa1dVWlJXR2g2VlVLYVE1cFFSaVB0NHVhWUltSWlJaUlTRk5jCkFibUJt
YU16OStRRjVBVmtGdjdtZWFnRnlmUGViUlNBaUlpSWlJaEljNG93QWxhYUdrV1JrMllGcFRRbksy
WGtSazlma0U1MVFoY1IKRVJFUmtWWkZRQ2szY0pEbGtPTW9pRWpOVThvaHphRFVWVXZTVFFHSWlJ
aUlpSWcwcGNnTFBKQVdocG1SNVpCbU9Wa1dha0J5UW1CUwpVaWQwRVJFUkVSRnBsWGtQM3RFQlpM
RWppU0NPSEVuc1NWeVlnSEJjQnhUamU3ZFJEWWlJaUlpSWlEVEhRZXpBR1dIMmMyZDBSSkQ0CkVJ
QWtRR1RRVVJaMUtBQVJFUkVSRVpHbXVOamp2TVBIWVp6ZHBDTWhTaUtpMk9GajhEN1Vna1FLUUVS
RVJFUkVwR1VPSElaMzRKMG4Kd29nd1BFWWNRVWNDa1F1dmJ1b0RJaUlpSWlJaXpYR095RG1NaU5o
M0JSdVJKL2FlS0FyekQ4WVJwRkh2SnFvQkVSRVJFUkdScHBnegpmT1R4TGpTemloeDRETytNMkVH
U2hENGlpWnBnaVlpSWlJaEl5N3pIT1lnaThONFJ4eEZ4NUloalI1U0VZTU5GNE1xYVlDa0FFUkVS
CkVSR1JwaGhRV0pnTjNUbUlZa2NTUldGRUxBczFJbkVjT3FKM3E2c1B5SGJBajRjbno4Tm1oM1pu
b014N0dYM2x0MVc3TTFCbVhVWmYKK2IycjNSa29NOEZzMUpYZk85cWRBUkVSRWFsTEVvRVZZRGp5
d3NpeWdzeENVRklRQXBRc2c3VFV1MDFkQWNnV1hTOXBuUGVlS2NEWAoyNTJSVVd4TlZINnRHRytt
OGhNUkVaSGhrUnVPZ2l3SHM0ZzhLOGl5bkN5RExBMHpvSTgzUWlUU3BYWUFzdE5PdzVmaDVVRDBv
US9CCjVNbnR6a2J6Zkp0YjZmM0x2NHp1YXpCSmFyOW5PRTJaTXJyTGI0VVYycDBERVJFUkdVU1dB
WGh3WGMyeG5DY3JqS3lBbkxBc1RhRXoKNjkzbS83ZDNQeSthWmVkaHg3L1BPZmUrM1RQZE15T05Z
R1JKaVJpUlpKQUNzcTBZbkoweGVPZU5sN0xBUzIvc3RmOFY0NDJYQnRsNAo1VTBJeGw1RW0wQVVN
Rmc0RG9NaFZuQmlrQms1TGZWMGQ3MzNuUE5rY2VxdHFoN1ptTHFGcnlMeS9jQkx6YnhkQjJyNzVU
ay8vdWtBCitlTS8vdWY1YS85LzhkdS8vZVArQzM2eS9kWnZ6WS8yK2ZyWDUwZVNKT21mUVdabjVL
Qm53Z2hhYTR5UmMrdlZCbHVIYlREdjQ3M20KSVhSSmtpUkp1OFNBbnBBWlhQVkNIOUFIdEp3L2U1
OVRrTjV2MXhnZ2tpUkprdllaOHdhc2JVdkc2R3h0Y040Njdkem95YzFaa0tzNwpoOUFORUVtU0pF
bTdWT0RjRXdKYWgwNHdxR3haT0hmWUdweXZweVFYQm9na1NaS2tYVVlmRkdBYlNXYlNPbXl0MDlx
Y2dIUm1tSnp2CmRRaGRraVJKa3Y0QldRcVU0QVMwSlZnckxEVllsOElhOHdIQ1J5Y1lqMi9YT0FH
UkpFbVN0RS9BRWhESmZQMDhrbE9GdGN3QVdZR2EKY0xwVEhRYUlKRW1TcEYxaUtVUUp5akx2MlYx
UEszV3QxQ1VveTN4U2JsbG5uRndZSUpJa1NaTDJDUWlTRWxDaVVFa3FTU0ZaS3B4VwpxREUvRjU0
QmtTUkprclJQQkRXQ3BMS1U2OWlvaGFVVWFwM3ZEeTRWdG5xN3hBbUlKRW1TcEYweWtsSUxKZVky
cXhwUVNFb2tTOEM2CnpqTWlxMXV3SkVtU0pEMVlLVVJBclZCS3NDeVZwUWJMRXRSMXhrWlVpRHRi
c0F3UVNaSWtTYnNrTUhLK2hoNEJkUW5XV3VlTldEa24KSXNzeUQ2SmZHQ0NTSkVtU2Rsa3I1SUFr
NkNOcGJkQnlSc2xnQmtwcnNKMXYxeGdna2lSSmt2YnBTVERvdlpNSnZRMWE2N1FHYlpzdgpvR2N5
UytTYXQyQkpraVJKMnFVMWdBSnh2UjByQ20wa2JVQm5mcmR0Y05WdTF4Z2draVJKa25iSjdJd2M5
RXdZUVd1Tk1YSnV2ZHBnCjY3QU41bjI4MTl5Q0pVbVNKR21YR05BVE1vT3JYdWdEK29DVzgyZnZj
d3JTKyswYUEwU1NKRW5TUG1QZWdMVnR5UmlkclEzT1c2ZWQKR3oyNU9RdHk1U0YwU1pJa1NROVZn
WE5QQ0dnZE9zR2dzbVhoM0dGcmNMNmVrbHdZSUpJa1NaSjJHWDFRZ0cwa21VbnJzTFZPYTNNQwow
cGxoY3ZZUXVpUkprcVNIeWxLZ0JDZWdMY0ZhWWFuQnVoVFdtQThRUGpyQmVIeTd4Z21JSkVtU3BI
MENsb0JJNXV2bmtad3FyR1VHCnlBclVoTk9kNmpCQUpFbVNKTzBTU3lGS1VKWjV6KzU2V3FscnBT
NUJXYUNVT1FXcEJvZ2tTWktrQndzSWtoSlFvbEJKS2traFdTcWMKVnFneFB4ZWVBWkVrU1pLMFR3
UTFncVN5bE92WXFJV2xGR3FkN3c4dUZiWjZ1OFFKaUNSSmtxUmRNcEpTQ3lYbU5xc2FVRWhLSkV2
QQp1czR6SXF0YnNDUkpraVE5V0NsRVFLMVFTckFzbGFVR3l4TFVkY1pHVklnN1c3QU1FRW1TSkVt
N0pEQnl2b1llQVhVSjFscm5qVmc1Ckp5TExNZytpWHhnZ2tpUkprblpaSytTQUpPZ2phVzNRY2ti
SllBWkthN0NkYjljWUlKSWtTWkwyNlVrdzZMMlRDYjBOV3V1MEJtMmIKTDZCbk1rdmttcmRnU1pJ
a1NkcWxOWUFDY2IwZEt3cHRKRzFBWjM2M2JYRFZidGNZSUpJa1NaSjJ5ZXlNSFBSTUdFRnJqVEZ5
YnIzYQpZT3V3RGVaOXZOZmNnaVZKa2lScGx4alFFektEcTE3b0EvcUFsdk5uNzNNSzB2dnRHZ05F
a2lSSjBqNWozb0MxYmNrWW5hME56bHVuCm5Sczl1VGtMY3VVaGRFbVNKRWtQVllGelR3aG9IVHJC
b0xKbDRkeGhhM0MrbnBKY0dDQ1NKRW1TZGhsOVVJQnRKSmxKNjdDMVRtdHoKQXRLWllYTDJFTG9r
U1pLa2g4cFNvQVFub0MzQldtR3B3Ym9VMXBnUEVENDZ3WGg4dThZSmlDUkprcVI5QXBhQVNPYnI1
NUdjS3F4bApCc2dLMUlUVG5lb3dRQ1JKa2lUdEVrc2hTbENXZWMvdWVscXBhNlV1UVZtZ2xEa0Zx
UWFJSkVtU3BBY0xDSklTVUtKUVNTcEpJVmtxCm5GYW9NVDhYbmdHUkpFbVN0RThFTllLa3NwVHIy
S2lGcFJScW5lOFBMaFcyZXJ2RUNZZ2tTWktrWFRLU1Vnc2w1amFyR2xCSVNpUkwKd0xyT015S3JX
N0FrU1pJa1BWZ3BSRUN0VUVxd0xKV2xCc3NTMUhYR1JsU0lPMXV3REJCSmtpUkp1eVF3Y3I2R0hn
RjFDZFphNTQxWQpPU2NpeXpJUG9sOFlJSklrU1pKMldTdmtnQ1RvSTJsdDBISkd5V0FHU211d25X
L1hHQ0NTSkVtUzl1bEpNT2k5a3dtOURWcnJ0QVp0Cm15K2daekpMNUpxM1lFbVNKRW5hcFRXQUFu
RzlIU3NLYlNSdFFHZCt0MjF3MVc3WEdDQ1NKRW1TZHNuc2pCejBUQmhCYTQweGNtNjkKMm1EcnNB
M21mYnpYM0lJbFNaSWthWmNZMEJNeWc2dGU2QVA2Z0pielorOXpDdEw3N1JvRFJKSWtTZEkrWTk2
QXRXM0pHSjJ0RGM1YgpwNTBiUGJrNUMzTGxJWFJKa2lSSkQxV0JjMDhJYUIwNndhQ3laZUhjWVd0
d3ZwNlNYQmdna2lSSmtuWVpmVkNBYlNTWlNldXd0VTVyCmN3TFNtV0Z5OWhDNkpFbVNwSWZLVXFB
RUo2QXR3VnBocWNHNkZOYVlEeEErT3NGNGZMdkdDWWdrU1pLa2ZRS1dnRWptNitlUm5DcXMKWlFi
SUN0U0UwNTNxTUVBa1NaSWs3UkpMSVVwUWxublA3bnBhcVd1bExrRlpvSlE1QmFrR2lDUkprcVFI
Q3dpU0VsQ2lVRWtxU1NGWgpLcHhXcURFL0Y1NEJrU1JKa3JSUEJEV0NwTEtVNjlpb2hhVVVhcDN2
RHk0VnRucTd4QW1JSkVtU3BGMHlrbElMSmVZMnF4cFFTRW9rClM4QzZ6ak1pcTF1d0pFbVNKRDFZ
S1VSQXJWQktzQ3lWcFFiTEV0UjF4a1pVaUR0YnNBd1FTWklrU2Jza01ISytoaDRCZFFuV1d1ZU4K
V0Rrbklzc3lENkpmR0NDU0pFbVNkbGtyNUlBazZDTnBiZEJ5UnNsZ0JrcHJzSjF2MXhnZ2tpUkpr
dmJwU1REb3ZaTUp2UTFhNjdRRwpiWnN2b0djeVMrU2F0MkJKa2lSSjJxVTFnQUp4dlIwckNtMGti
VUJuZnJkdGNOVnUxeGdna2lSSmtuYko3SXdjOUV3WVFXdU5NWEp1CnZkcGc2N0FONW4yODE5eUNK
VW1TSkdtWEdOQVRNb09yWHVnRCtvQ1c4MmZ2Y3dyUysrMGFBMFNTSkVuU1BtUGVnTFZ0eVJpZHJR
M08KVzZlZEd6MjVPUXR5NVNGMFNaSWtTUTlWZ1hOUENHZ2RPc0dnc21YaDNHRnJjTDZla2x3WUlK
SWtTWkoyR1gxUWdHMGttVW5yc0xWTwphM01DMHBsaGN2WVF1aVJKa3FTSHlsS2dCQ2VnTGNGYVlh
bkJ1aFRXbUE4UVBqckJlSHk3eGdtSUpFbVNwSDBDbG9CSTV1dm5rWndxCnJHVUd5QXJVaE5PZDZq
QkFKRW1TSk8wU1N5RktVSlo1eis1NldxbHJwUzVCV2FDVU9RV3BCb2drU1pLa0J3c0lraEpRb2xC
Sktra2gKV1NxY1ZxZ3hQeGVlQVpFa1NaSzBUd1ExZ3FTeWxPdllxSVdsRkdxZDd3OHVGYlo2dThR
SmlDUkprcVJkTXBKU0N5WG1OcXNhVUVoSwpKRXZBdXM0eklxdGJzQ1JKa2lROVdDbEVRSzFRU3JB
c2xhVUd5eExVZGNaR1ZJZzdXN0FNRUVtU0pFbTdKREJ5dm9ZZUFYVUoxbHJuCmpWZzVKeUxMTWcr
aVh4Z2draVJKa25aWksrU0FKT2dqYVczUWNrYkpZQVpLYTdDZGI5Y1lJSklrU1pMMjZVa3c2TDJU
Q2IwTld1dTAKQm0yYkw2Qm5Na3ZrbXJkZ1NaSWtTZHFsTllBQ2NiMGRLd3B0SkcxQVozNjNiWERW
YnRjWUlKSWtTWkoyeWV5TUhQUk1HRUZyalRGeQpicjNhWU91d0RlWjl2TmZjZ2lWSmtpUnBseGpR
RXpLRHExN29BL3FBbHZObjczTUswdnZ0R2dORWtpUkowajVqM29DMWJja1luYTBOCnpsdW5uUnM5
dVRrTGN1VWhkRW1TSkVrUFZZRnpUd2hvSFRyQm9MSmw0ZHhoYTNDK25wSmNHQ0NTSkVtU2RobDlV
SUJ0SkpsSjY3QzEKVG10ekF0S1pZWEwyRUxva1NaS2toOHBTb0FRbm9DM0JXbUdwd2JvVTFwZ1BF
RDQ2d1hoOHU4WUppQ1JKa3FSOUFwYUFTT2JyNTVHYwpLcXhsQnNnSzFJVFRuZW93UUNSSmtpVHRF
a3NoU2xDV2VjL3VlbHFwYTZVdVFWbWdsRGtGcVFhSUpFbVNwQWNMQ0pJU1VLSlFTU3BKCklWa3Fu
RmFvTVQ4WG5nR1JKRW1TdEU4RU5ZS2tzcFRyMktpRnBSUnFuZThQTGhXMmVydkVDWWdrU1pLa1hU
S1NVZ3NsNWphckdsQkkKU2lSTHdMck9NeUtyVzdBa1NaSWtQVmdwUkVDdFVFcXdMSldsQnNzUzFI
WEdSbFNJTzF1d0RCQkpraVJKdXlRd2NyNkdIZ0YxQ2RaYQo1NDFZT1NjaXl6SVBvbDhZSUpJa1Na
SjJXU3ZrZ0NUb0kybHQwSEpHeVdBR1NtdXduVy9YR0NDU0pFbVM5dWxKTU9pOWt3bTlEVnJyCnRB
WnRteStnWnpKTDVKcTNZRW1TSkVuYXBUV0FBbkc5SFNzS2JTUnRRR2QrdDIxdzFXN1hHQ0NTSkVt
U2RzbnNqQnowVEJoQmE0MHgKY202OTJtRHJzQTNtZmJ6WDNJSWxTWklrYVpjWTBCTXlnNnRlNkFQ
NmdKYnpaKzl6Q3RMNzdSb0RSSklrU2RJK1k5NkF0VzNKR0oydApEYzVicDUwYlBiazVDM0xsSVhS
SmtpUkpEMVdCYzA4SWFCMDZ3YUN5WmVIY1lXdHd2cDZTWEJnZ2tpUkprbllaZlZDQWJTU1pTZXV3
CnRVNXJjd0xTbVdGeTloQzZKRW1TcElmS1VxQUVKNkF0d1ZwaHFjRzZGTmFZRHhBK09zRjRmTHZH
Q1lna1NaS2tmUUtXZ0VqbTYrZVIKbkNxc1pRYklDdFNFMDUzcU1FQWtTWklrN1JKTElVcFFsbm5Q
N25wYXFXdWxMa0Zab0pRNUJha0dpQ1JKa3FRSEN3aVNFbENpVUVrcQpTU0ZaS3B4V3FERS9GNTRC
a1NSSmtyUlBCRFdDcExLVTY5aW9oYVVVYXAzdkR5NFZ0bnE3eEFtSUpFbVNwRjB5a2xJTEplWTJx
eHBRClNFb2tTOEM2empNaXExdXdKRW1TSkQxWUtVUkFyVkJLc0N5VnBRYkxFdFIxeGtaVWlEdGJz
QXdRU1pJa1Nic2tNSEsraGg0QmRRblcKV3VlTldEa25Jc3N5RDZKZkdDQ1NKRW1TZGxrcjVJQWs2
Q05wYmRCeVJzbGdCa3Byc0oxdjF4Z2draVJKa3ZicFNURG92Wk1KdlExYQo2N1FHYlpzdm9HY3lT
K1NhdDJCSmtpUkoycVUxZ0FKeHZSMHJDbTBrYlVCbmZyZHRjTlZ1MXhnZ2tpUkprbmJKN0l3YzlF
d1lRV3VOCk1YSnV2ZHBnNjdBTjVuMjgxOXlDSlVtU0pHbVhHTkFUTW9Pclh1Z0Qrb0NXODJmdmN3
clMrKzBhQTBTU0pFblNQbVBlZ0xWdHlSaWQKclEzT1c2ZWRHejI1T1F0eTVTRjBTWklrU1E5VmdY
TlBDR2dkT3NHZ3NtWGgzR0ZyY0w2ZWtsd1lJSklrU1pKMkdYMVFnRzBrbVVucgpzTFZPYTNNQzBw
bGhjdllRdWlSSmtxU0h5bEtnQkNlZ0xjRmFZYW5CdWhUV21BOFFQanJCZUh5N3hnbUlKRW1TcEgw
Q2xvQkk1dXZuCmtad3FyR1VHeUFyVWhOT2Q2akJBSkVtU0pPMFNTeUZLVUpaNXorNTZXcWxycFM1
QldhQ1VPUVdwQm9na1NaS2tCd3NJa2hKUW9sQkoKS2traFdTcWNWcWd4UHhlZUFaRWtTWkswVHdR
MWdxU3lsT3ZZcUlXbEZHcWQ3dzh1RmJaNnU4UUppQ1JKa3FSZE1wSlNDeVhtTnFzYQpVRWhLSkV2
QXVzNHpJcXRic0NSSmtpUTlXQ2xFUUsxUVNyQXNsYVVHeXhMVWRjWkdWSWc3VzdBTUVFbVNKRW03
SkRCeXZvWWVBWFVKCjFscm5qVmc1SnlMTE1nK2lYeGdna2lSSmtuWlpLK1NBSk9namFXM1Fja2JK
WUFaS2E3Q2RiOWNZSUpJa1NaTDI2VWt3NkwyVENiME4KV3V1MEJtMmJMNkJuTWt2a21yZGdTWklr
U2RxbE5ZQUNjYjBkS3dwdEpHMUFaMzYzYlhEVmJ0Y1lJSklrU1pKMnlleU1IUFJNR0VGcgpqVEZ5
YnIzYVlPdXdEZVo5dk5mY2dpVkpraVJwbHhqUUV6S0RxMTdvQS9xQWx2Tm43M01LMHZ2dEdpY2dr
aVJKa25hcENhMG5XNXZuClA4NDl1VHAzdGkwNXQ2QjFPSi9oNms2QU9BR1JKRW1TZEg4amFUbmYr
SWlBS0VrQVpWa0krbndKdmN6UDNVUG9Cb2drU1pLayt4dXoKSys0R1JXYVNmV09NVHIrK0NhdHQx
emRoQVJGaGdFaVNKRW5hSVpOWFY0TzV1eXJKa2ZUelJ1K3duVGY2QnUwODN3QTVYOEd5TEpSUwpE
QkJKa2lSSjkxTks0ZW15OGQvLzUzTmFTODQ5YVQzcEk5bTJLODVYVjd4NmVjWExsL0RxT1h6L2Yz
MmZOOTU0ZzNWZFBZUXVTWklrCjZYNGlnaTkrK29yLy9HY2Y4Y1puSHZQdTJ5c2ZQVS9PdlhGKzla
SlhhK0hGcXdJeDJGNnQvUDMvK0RNKy82bFA4Y1liYnhnZ2tpUkoKa3U1bldSYSs5cS9ndjMzN0pm
L2hQLzB0YjczN0J1Kzh0ZkRPV3l0WEc1eGV2ZUE1alg1K1JRMTQ5YmZmNGZOZitqeHZ2LzIyQVNK
SgpraVRwZmtvcC9PSy9lOHlmZi9lSGZPZlppV2RMSllHb2xZaU4xcEpYVnhzdjFvWDQzcC96bGFj
dmVmLzlyL0xPTys4WUlKSWtTWkx1CnA1VEN2L3o4bTN6akZ6dDg2eU8rOC9lZjRZZWpRKytNYldW
N1krR054NVczUHY0T1AvM1cvK2JuZi9vRDNuLy9mWjQrZldxQVNKSWsKU2JxZlVncnJ1dkx2Zi9a
ZC9zWG5YdkVmLzh2LzRiLytUZUZ2UG42Ykg0N2dVK2NmOEg3OGdKLy8wdUJudi94ditlSVh2OGlu
UHZVcApENkZMa2lSSjJxZVV3dWwwNHN2LytpMyt6WmZlNVh3K2MzVjFSV3VOWlhtSHAwKy93TnR2
djgyblAvMXAzbnp6VFVvcDlONE5FRW1TCkpFbjNGeEhVV25uMDZCSHJ1bkk2bmFpMXNpd0w2N3Jl
Zkxjc016bDY3NHd4REJCSmtpUkorMTIyWXoxNjlPZ21SaTZmaUxpWmZQUSsKbnl6MElVSkpraVJK
RHhZUk44RlJTcm41LzA4eVFDUkpraVFkeGdDUkpFbVNkQmdEUkpJa1NkSmhEQkJKa2lSSmh6RkFK
RW1TSkIzRwpBSkVrU1pKMEdBTkVraVJKMG1FTUVFbVNKRW1ITVVBa1NaSWtIY1lBa1NSSmtuUVlB
MFNTSkVuU1lRd1FTWklrU1ljeFFDUkpraVFkCnhnQ1JKRW1TZEJnRFJKSWtTZEpoREJCSmtpUkpo
ekZBSkVtU0pCM0dBSkVrU1pKMEdBTkVraVJKMG1FTUVFbVNKRW1ITVVBa1NaSWsKSGNZQWtTUkpr
blFZQTBTU0pFblNZUXdRU1pJa1NZY3hRQ1JKa2lRZHhnQ1JKRW1TZEJnRFJKSWtTZEpoREJCSmtp
UkpoekZBSkVtUwpKQjNHQUpFa1NaSjBHQU5Fa2lSSjBtRU1FRW1TSkVtSE1VQWtTWklrSGNZQWtT
UkprblFZQTBTU0pFblNZUXdRU1pJa1NZY3hRQ1JKCmtpUWR4Z0NSSkVtU2RCZ0RSSklrU2RKaERC
QkpraVJKaHpGQUpFbVNKQjNHQUpFa1NaSjBHQU5Fa2lSSjBtRU1FRW1TSkVtSE1VQWsKU1pJa0hj
WUFrU1JKa25RWUEwU1NKRW5TWVF3UVNaSWtTWWN4UUNSSmtpUWR4Z0NSSkVtU2RCZ0RSSklrU2RK
aERCQkpraVJKaHpGQQpKRW1TSkIzR0FKRWtTWkowR0FORWtpUkowbUVNRUVtU0pFbUhNVUFrU1pJ
a0hjWUFrU1JKa25RWUEwU1NKRW5TWVF3UVNaSWtTWWN4ClFDUkpraVFkeGdDUkpFbVNkQmdEUkpJ
a1NkSmhEQkJKa2lSSmh6RkFKRW1TSkIzR0FKRWtTWkowR0FORWtpUkowbUVNRUVtU0pFbUgKTVVB
a1NaSWtIY1lBa1NSSmtuUVlBMFNTSkVuU1lRd1FTWklrU1ljeFFDUkpraVFkeGdDUkpFbVNkQmdE
UkpJa1NkSmhEQkJKa2lSSgpoekZBSkVtU0pCM0dBSkVrU1pKMEdBTkVraVJKMG1FTUVFbVNKRW1I
TVVBa1NaSWtIY1lBa1NSSmtuUVlBMFNTSkVuU1lRd1FTWklrClNZY3hRQ1JKa2lRZHhnQ1JKRW1T
ZEJnRFJKSWtTZEpoREJCSmtpUkpoekZBSkVtU0pCM0dBSkVrU1pKMEdBTkVraVJKMG1FTUVFbVMK
SkVtSE1VQWtTWklrSGNZQWtTUkprblNZNWNmOUIwaVNKRW42eVpPWlpDWmpqQi81WFA3dDd1OWRm
dGNKaUNSSmtxUmQ3c2JGSjBOagpqQUZ3RXlTWDMzY0NJa21TSk9uZTdrYkZKVGg2NzY5TlFpN3Uv
cHNCSWttU0pPbmVMcE9OUzFqMDNtOCtwUlFpNGlaUzdvYUpBU0pKCmtpVHBYbnJ2MUZwZm0zeTAx
cWkxc20wYkVRRndFeUt0TmJadFk5czJBMFNTSkVuUy9XUW1yYlhYdGxaZElpUWlicVlmbHhEcHZS
c2cKa2lSSmt2YTVCTVlsT0M2VGpzdjNsM01obHdqWnRvM3orUXg0RGE4a1NaS2tlMXFXaFJjdlhn
QXpSdFoxdllrUm1PZERMaE9Tek9SOApQdlBzMlRPKzhJVXZHQ0NTSkVtUzdtZFpGbDYrZkhrVEha
ODhEMUpydlptRVhGMWQ4Zno1Y3g0L2Zzdzc3N3hqZ0VpU0pFbTZuekVHCm4vdmM1L2p1ZDcvTCtY
em0xYXRYUEhueWhHVlpXTmYxWnVweCtiZGFLMS8rOHBjcHBSZ2draVJKa3U0bk0zbjMzWGM1blU3
OHhWLzgKQmMrZVBlUEpreWM4ZXZUbzVuZXVycTU0OGVJRjc3MzNIbC83MnRkNDc3MzMrUGpqancw
UVNaSWtTZmRUU3FHVXdsZSs4aFhlZXVzdAovdkl2LzVJZi9PQUhQSHYyakpjdlgvTG1tMi95N3J2
djh0V3ZmcFdmK1ptZjRjbVRKN1RXQUEraFM1SWtTYnFubTBjRmw0WDMzMytmCnAwK2Y4dkhISDNN
Nm5YajgrREduMCttMS83NnIvSmorWmttU0pFay9vUzVYN2dLczY4cFAvZFJQOGRuUGZwWmE2NC84
K3ljNUFaRWsKU1pKMGI1ZkF1THdEOHZiYmJ4TVJyMTNQZS9tZHpMeFo1d1JFa2lSSjByMTljc3BS
U3VHTk45NEFlTzBod3N2djN2emVzWCttSkVtUwpwSjkwbVVudi9lYXRqNHRIang3eDdXOS8rN1hm
dS9zQkEwU1NKRW5TQTl5ZGJuejQ0WWY4enUvOERoOSsrQ0daU1NubFpsSnkrVDBEClJKSWtTZEs5
M1oxOFhQenU3LzR1QUwvM2U3OTNNeUg1NU84YUlKSWtTWkx1NWZJT3lGMS8rcWQveW9jZmZnakFY
Ly8xWC9PdGIzM0wKTXlDU0pFbVNIdTZUWno5ZXZIakJONy81emRlKysvM2YvMzJlUDMvK0k5ZnhH
aUNTSkVtUzd1MXVXUHpSSC8wUkgzMzAwV3YvL3Z6NQpjLzdnRC83Z1I3WnFSZjVEbTdja1NaSWs2
Ui94SjMveUozejJzNS9sUzEvNkV1dTYzaHd5YjYzeGQzLzNkeng2OUloMVhYbjA2QkdQCkh6K21s
RUpyalk4Ly90Z0ppQ1JKa3FUakdDQ1NKRW1TRG1PQVNKSWtTVHFNQVNKSmtpVHBNTXVQK3crUUpF
bVM5SlBsZTkvN0hoOS8KL0RFZmZmUVJyMTY5WXRzMmV1K01NWGoyN0JtbjA0blQ2Y1NUSjA5NDU1
MTNlUExrQ1UrZlBnVU1FRW1TSkVuMzlONTc3M2tMbGlSSgprcVQvOXhrZ2tpUkprZzVqZ0VpU0pF
azZqQUVpU1pJazZUQWVRcGNrU1pLMFMyWUM4TTF2ZnBNLy9NTS9KRE81dXJxaWxFSXBoVi8rCjVW
L21OMy96TjE5YjR3UkVraVJKMHIxZDRnUGdWMzdsVi9qTVp6N3oycjgvZmZxVXIzLzk2MFRFYTk4
YklKSWtTWkx1NVhMdDdzV2IKYjc3Sk43N3hqZGUrKzlWZi9WV2VQbjM2V3FpQUFTSkpraVRwbnNZ
WWpERmUrKzZYZnVtWCtPQ0REd0I0Ly8zMytZVmYrSVdiSUxrYgpJUWFJSkVtU3BIdjc1TllxZ0Yv
LzlWOEg0TmQrN2Rlb3RkNzh6dDNmTlVBa1NaSWs3WFozdXZIQkJ4L3dHNy94RzN6d3dRZEVCR01N
Ck12UG1Bd2FJSkVtU3BBZTRPOTNJVEg3dTUzNk96THpacG5VM1FNWVlCb2drU1pLaysrbTkvOGhr
QTJEYnRuODBQQzRmQTBTU0pFblMKdlh6eVpxdk1wUGZPRDMvNHc1dmdhSzNSZTcvNU9jYWc5KzVE
aEpJa1NaTHU1eElVWXd6TzV6UG44NW5uejUvejRzVUxTaWxFQktVVQpXbXVVVW00Q3hRQ1JKRW1T
ZEcrdE5mN3FyLzZLNzMvLys3eDgrWkp0MjRnSUhqOSt6T2wwWWwxWFRxZlR6WC9YV3VtOTgvTGxT
LzR2CnM2RThGdEtCZkE0QUFBQUFTVVZPUks1Q1lJST0KCg==
</data>
<flag name="review"
          id="3665"
          type_id="1"
          status="-"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11972</attachid>
            <date>2006-12-22 13:45:30 -0800</date>
            <delta_ts>2006-12-24 05:46:29 -0800</delta_ts>
            <desc>Compiles with ToT</desc>
            <filename>11108-12.diff</filename>
            <type>text/plain</type>
            <size>124429</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4MzkzKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMDYtMTItMjIgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTExMDgKKyAgICAgICAgUmVwbGFjZSB1c2FnZSBvZiBzcGxpdCBieSBwcm9wZXIgcGFy
c2VycworCisgICAgICAgIFRlc3RpbmcgbmV3IGtleXdvcmQgZGVmZXIgaW4gcHJlc2VydmVBc3Bl
Y3RSYXRpbyBhbmQgZW1wdHkKKyAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpby4KKworICAgICAg
ICAqIHN2Zy9jdXN0b20vZW1wdHktcHJlc2VydmUtYXNwZWN0LXJhdGlvLWV4cGVjdGVkLmNoZWNr
c3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL2VtcHR5LXByZXNlcnZlLWFzcGVjdC1y
YXRpby1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vZW1wdHktcHJl
c2VydmUtYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1
c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8uc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBz
dmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQuY2hlY2tzdW06
IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRh
eC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vcHJlc2VydmUtYXNw
ZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0
b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC5zdmc6IEFkZGVkLgorCiAyMDA2LTEyLTIy
ICBOaWtvbGFzIFppbW1lcm1hbm4gIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgUm9iLgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2
ZS1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQuY2hlY2tz
dW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtcHR5LXByZXNlcnZl
LWFzcGVjdC1yYXRpby1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBA
QAorMTYzMTA1ODg0NjdjZmMyMGQ1NTE2MzVhYmM1OWI3ODQKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtcHR5LXByZXNlcnZlLWFzcGVj
dC1yYXRpby1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3Rv
bS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQgQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRl
clNWR0NvbnRhaW5lciB7c3ZnfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAKKyAgICAgIFJlbmRlclBh
dGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBM
MC4wMCwxMDAuMDAiXQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2
ZS1hc3BlY3QtcmF0aW8uc3ZnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20v
ZW1wdHktcHJlc2VydmUtYXNwZWN0LXJhdGlvLnN2ZwkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL3N2Zy9jdXN0b20vZW1wdHktcHJlc2VydmUtYXNwZWN0LXJhdGlvLnN2ZwkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwzIEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2
ZyIgcHJlc2VydmVBc3BlY3RSYXRpbz0iIiA+CisgPHJlY3QgZmlsbD0iZ3JlZW4iIHRyYW5zZm9y
bT0ic2NhbGUoKSAiIHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiAvPgorPC9z
dmc+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1z
eW50YXgtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLmNoZWNrc3VtCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8t
c3ludGF4LWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACitiYTdm
YWEzYzRjYjI4NzAwNzJjODBmYjA4OTA1YzAxNApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
SW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRh
eC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wcmVz
ZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDAgQEAKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlclNW
R0NvbnRhaW5lciB7c3ZnfSBhdCAoMCwzNi42Nykgc2l6ZSA3NzV4MTEzLjMzCisgICAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDM2LjY3KSBzaXplIDc3NXgxMTMuMzMKKyAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwzNi42Nykgc2l6ZSA3NzV4MTEzLjMzCisgICAg
ICAgICAgUmVuZGVyU1ZHVGV4dCB7dGV4dH0gYXQgKDAsMzApIHNpemUgODAweDEwCisgICAgICAg
ICAgICBSZW5kZXJTVkdJbmxpbmVUZXh0IHsjdGV4dH0gYXQgKDAsLTgpIHNpemUgNDY1eDEwCisg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLC04KSB3aWR0aCA0NjU6ICJBbGwgc3ZncyBiZWxv
dyBzaG91bGQgbG9vayB0aGUgc2FtZSwgc2luY2UgYWxsIGhhdmUgcHJlc2VydmVBc3BlY3RSYXRp
byB3aXRoIHN5bnRheCBlcnJvcnMgYW5kIGRlZmF1bHQgc2hvdWxkIGJlIGNob3Nlbi4iCisgICAg
ICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCw4My4zMykgc2l6ZSA1MHg2Ni42NyBb
dHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDUwLjAwKX1dCisg
ICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge3N2Z30gYXQgKDAsMTAwLjAwKSBzaXplIDUw
eDY2LjY3CisgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDEwMC4wMCkgc2l6
ZSA1MHg2Ni42NyBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9
e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTAuNTAsMC41MEwyOS41MCww
LjUwTDI5LjUwLDM5LjUwTDAuNTAsMzkuNTAiXQorICAgICAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge2d9IGF0ICg4LjMzLDExNi42Nykgc2l6ZSAzMy4zM3gzMy4zMyBbdHJhbnNmb3JtPXtt
PSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDUuMDApfV0KKyAgICAgICAgICAgICAg
ICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICg4LjMzLDExNi42Nykgc2l6ZSAzMy4zM3gzMy4zMyBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZGRjAwXX1dIFtkYXRhPSJNMjUuMDAsMTUuMDBM
MjQuOTgsMTUuNjNMMjQuOTIsMTYuMjVMMjQuODIsMTYuODdMMjQuNjksMTcuNDlMMjQuNTEsMTgu
MDlMMjQuMzAsMTguNjhMMjQuMDUsMTkuMjZMMjMuNzYsMTkuODJMMjMuNDQsMjAuMzZMMjMuMDks
MjAuODhMMjIuNzEsMjEuMzdMMjIuMjksMjEuODVMMjEuODUsMjIuMjlMMjEuMzcsMjIuNzFMMjAu
ODgsMjMuMDlMMjAuMzYsMjMuNDRMMTkuODIsMjMuNzZMMTkuMjYsMjQuMDVMMTguNjgsMjQuMzBM
MTguMDksMjQuNTFMMTcuNDksMjQuNjlMMTYuODcsMjQuODJMMTYuMjUsMjQuOTJMMTUuNjMsMjQu
OThMMTUuMDAsMjUuMDBMMTQuMzcsMjQuOThMMTMuNzUsMjQuOTJMMTMuMTMsMjQuODJMMTIuNTEs
MjQuNjlMMTEuOTEsMjQuNTFMMTEuMzIsMjQuMzBMMTAuNzQsMjQuMDVMMTAuMTgsMjMuNzZMOS42
NCwyMy40NEw5LjEyLDIzLjA5TDguNjMsMjIuNzFMOC4xNSwyMi4yOUw3LjcxLDIxLjg1TDcuMjks
MjEuMzdMNi45MSwyMC44OEw2LjU2LDIwLjM2TDYuMjQsMTkuODJMNS45NSwxOS4yNkw1LjcwLDE4
LjY4TDUuNDksMTguMDlMNS4zMSwxNy40OUw1LjE4LDE2Ljg3TDUuMDgsMTYuMjVMNS4wMiwxNS42
M0w1LjAwLDE1LjAwTDUuMDIsMTQuMzdMNS4wOCwxMy43NUw1LjE4LDEzLjEzTDUuMzEsMTIuNTFM
NS40OSwxMS45MUw1LjcwLDExLjMyTDUuOTUsMTAuNzRMNi4yNCwxMC4xOEw2LjU2LDkuNjRMNi45
MSw5LjEyTDcuMjksOC42M0w3LjcxLDguMTVMOC4xNSw3LjcxTDguNjMsNy4yOUw5LjEyLDYuOTFM
OS42NCw2LjU2TDEwLjE4LDYuMjRMMTAuNzQsNS45NUwxMS4zMiw1LjcwTDExLjkxLDUuNDlMMTIu
NTEsNS4zMUwxMy4xMyw1LjE4TDEzLjc1LDUuMDhMMTQuMzcsNS4wMkwxNS4wMCw1LjAwTDE1LjYz
LDUuMDJMMTYuMjUsNS4wOEwxNi44Nyw1LjE4TDE3LjQ5LDUuMzFMMTguMDksNS40OUwxOC42OCw1
LjcwTDE5LjI2LDUuOTVMMTkuODIsNi4yNEwyMC4zNiw2LjU2TDIwLjg4LDYuOTFMMjEuMzcsNy4y
OUwyMS44NSw3LjcxTDIyLjI5LDguMTVMMjIuNzEsOC42M0wyMy4wOSw5LjEyTDIzLjQ0LDkuNjRM
MjMuNzYsMTAuMThMMjQuMDUsMTAuNzRMMjQuMzAsMTEuMzJMMjQuNTEsMTEuOTFMMjQuNjksMTIu
NTFMMjQuODIsMTMuMTNMMjQuOTIsMTMuNzVMMjQuOTgsMTQuMzciXQorICAgICAgICAgICAgICAg
IFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDE3LjUwLDEyNS44Mykgc2l6ZSA1eDUgW2ZpbGw9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTEzLjUwLDEyLjAwTDEzLjUwLDEy
LjA5TDEzLjQ5LDEyLjE5TDEzLjQ3LDEyLjI4TDEzLjQ1LDEyLjM3TDEzLjQzLDEyLjQ2TDEzLjM5
LDEyLjU1TDEzLjM2LDEyLjY0TDEzLjMxLDEyLjcyTDEzLjI3LDEyLjgwTDEzLjIxLDEyLjg4TDEz
LjE2LDEyLjk2TDEzLjA5LDEzLjAzTDEzLjAzLDEzLjA5TDEyLjk2LDEzLjE2TDEyLjg4LDEzLjIx
TDEyLjgwLDEzLjI3TDEyLjcyLDEzLjMxTDEyLjY0LDEzLjM2TDEyLjU1LDEzLjM5TDEyLjQ2LDEz
LjQzTDEyLjM3LDEzLjQ1TDEyLjI4LDEzLjQ3TDEyLjE5LDEzLjQ5TDEyLjA5LDEzLjUwTDEyLjAw
LDEzLjUwTDExLjkxLDEzLjUwTDExLjgxLDEzLjQ5TDExLjcyLDEzLjQ3TDExLjYzLDEzLjQ1TDEx
LjU0LDEzLjQzTDExLjQ1LDEzLjM5TDExLjM2LDEzLjM2TDExLjI4LDEzLjMxTDExLjIwLDEzLjI3
TDExLjEyLDEzLjIxTDExLjA0LDEzLjE2TDEwLjk3LDEzLjA5TDEwLjkxLDEzLjAzTDEwLjg0LDEy
Ljk2TDEwLjc5LDEyLjg4TDEwLjczLDEyLjgwTDEwLjY5LDEyLjcyTDEwLjY0LDEyLjY0TDEwLjYx
LDEyLjU1TDEwLjU3LDEyLjQ2TDEwLjU1LDEyLjM3TDEwLjUzLDEyLjI4TDEwLjUxLDEyLjE5TDEw
LjUwLDEyLjA5TDEwLjUwLDEyLjAwTDEwLjUwLDExLjkxTDEwLjUxLDExLjgxTDEwLjUzLDExLjcy
TDEwLjU1LDExLjYzTDEwLjU3LDExLjU0TDEwLjYxLDExLjQ1TDEwLjY0LDExLjM2TDEwLjY5LDEx
LjI4TDEwLjczLDExLjIwTDEwLjc5LDExLjEyTDEwLjg0LDExLjA0TDEwLjkxLDEwLjk3TDEwLjk3
LDEwLjkxTDExLjA0LDEwLjg0TDExLjEyLDEwLjc5TDExLjIwLDEwLjczTDExLjI4LDEwLjY5TDEx
LjM2LDEwLjY0TDExLjQ1LDEwLjYxTDExLjU0LDEwLjU3TDExLjYzLDEwLjU1TDExLjcyLDEwLjUz
TDExLjgxLDEwLjUxTDExLjkxLDEwLjUwTDEyLjAwLDEwLjUwTDEyLjA5LDEwLjUwTDEyLjE5LDEw
LjUxTDEyLjI4LDEwLjUzTDEyLjM3LDEwLjU1TDEyLjQ2LDEwLjU3TDEyLjU1LDEwLjYxTDEyLjY0
LDEwLjY0TDEyLjcyLDEwLjY5TDEyLjgwLDEwLjczTDEyLjg4LDEwLjc5TDEyLjk2LDEwLjg0TDEz
LjAzLDEwLjkxTDEzLjA5LDEwLjk3TDEzLjE2LDExLjA0TDEzLjIxLDExLjEyTDEzLjI3LDExLjIw
TDEzLjMxLDExLjI4TDEzLjM2LDExLjM2TDEzLjM5LDExLjQ1TDEzLjQzLDExLjU0TDEzLjQ1LDEx
LjYzTDEzLjQ3LDExLjcyTDEzLjQ5LDExLjgxTDEzLjUwLDExLjkxIl0KKyAgICAgICAgICAgICAg
ICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICgyNS44MywxMjUuODMpIHNpemUgNXg1IFtmaWxsPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xOC41MCwxMi4wMEwxOC41MCwx
Mi4wOUwxOC40OSwxMi4xOUwxOC40NywxMi4yOEwxOC40NSwxMi4zN0wxOC40MywxMi40NkwxOC4z
OSwxMi41NUwxOC4zNiwxMi42NEwxOC4zMSwxMi43MkwxOC4yNywxMi44MEwxOC4yMSwxMi44OEwx
OC4xNiwxMi45NkwxOC4wOSwxMy4wM0wxOC4wMywxMy4wOUwxNy45NiwxMy4xNkwxNy44OCwxMy4y
MUwxNy44MCwxMy4yN0wxNy43MiwxMy4zMUwxNy42NCwxMy4zNkwxNy41NSwxMy4zOUwxNy40Niwx
My40M0wxNy4zNywxMy40NUwxNy4yOCwxMy40N0wxNy4xOSwxMy40OUwxNy4wOSwxMy41MEwxNy4w
MCwxMy41MEwxNi45MSwxMy41MEwxNi44MSwxMy40OUwxNi43MiwxMy40N0wxNi42MywxMy40NUwx
Ni41NCwxMy40M0wxNi40NSwxMy4zOUwxNi4zNiwxMy4zNkwxNi4yOCwxMy4zMUwxNi4yMCwxMy4y
N0wxNi4xMiwxMy4yMUwxNi4wNCwxMy4xNkwxNS45NywxMy4wOUwxNS45MSwxMy4wM0wxNS44NCwx
Mi45NkwxNS43OSwxMi44OEwxNS43MywxMi44MEwxNS42OSwxMi43MkwxNS42NCwxMi42NEwxNS42
MSwxMi41NUwxNS41NywxMi40NkwxNS41NSwxMi4zN0wxNS41MywxMi4yOEwxNS41MSwxMi4xOUwx
NS41MCwxMi4wOUwxNS41MCwxMi4wMEwxNS41MCwxMS45MUwxNS41MSwxMS44MUwxNS41MywxMS43
MkwxNS41NSwxMS42M0wxNS41NywxMS41NEwxNS42MSwxMS40NUwxNS42NCwxMS4zNkwxNS42OSwx
MS4yOEwxNS43MywxMS4yMEwxNS43OSwxMS4xMkwxNS44NCwxMS4wNEwxNS45MSwxMC45N0wxNS45
NywxMC45MUwxNi4wNCwxMC44NEwxNi4xMiwxMC43OUwxNi4yMCwxMC43M0wxNi4yOCwxMC42OUwx
Ni4zNiwxMC42NEwxNi40NSwxMC42MUwxNi41NCwxMC41N0wxNi42MywxMC41NUwxNi43MiwxMC41
M0wxNi44MSwxMC41MUwxNi45MSwxMC41MEwxNy4wMCwxMC41MEwxNy4wOSwxMC41MEwxNy4xOSwx
MC41MUwxNy4yOCwxMC41M0wxNy4zNywxMC41NUwxNy40NiwxMC41N0wxNy41NSwxMC42MUwxNy42
NCwxMC42NEwxNy43MiwxMC42OUwxNy44MCwxMC43M0wxNy44OCwxMC43OUwxNy45NiwxMC44NEwx
OC4wMywxMC45MUwxOC4wOSwxMC45N0wxOC4xNiwxMS4wNEwxOC4yMSwxMS4xMkwxOC4yNywxMS4y
MEwxOC4zMSwxMS4yOEwxOC4zNiwxMS4zNkwxOC4zOSwxMS40NUwxOC40MywxMS41NEwxOC40NSwx
MS42M0wxOC40NywxMS43MkwxOC40OSwxMS44MUwxOC41MCwxMS45MSJdCisgICAgICAgICAgICAg
ICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDE1LjYzLDEzOC43MCkgc2l6ZSAxOC43NXgxMC4xMCBb
c3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9Mi4wMF19
XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMTAuMDAsMTku
MDBMMTUuMDAsMjMuMDBMMjAuMDAsMTkuMDAiXQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5l
ciB7Z30gYXQgKDgzLjMzLDgzLjMzKSBzaXplIDUweDY2LjY3IFt0cmFuc2Zvcm09e209KCgxLjAw
LDAuMDApKDAuMDAsMS4wMCkpIHQ9KDUwLjAwLDUwLjAwKX1dCisgICAgICAgICAgICBSZW5kZXJT
VkdDb250YWluZXIge3N2Z30gYXQgKDgzLjMzLDEwMC4wMCkgc2l6ZSA1MHg2Ni42NworICAgICAg
ICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoODMuMzMsMTAwLjAwKSBzaXplIDUweDY2LjY3
IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMC41MCwwLjUwTDI5LjUwLDAuNTBMMjkuNTAs
MzkuNTBMMC41MCwzOS41MCJdCisgICAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30g
YXQgKDkxLjY3LDExNi42Nykgc2l6ZSAzMy4zM3gzMy4zMyBbdHJhbnNmb3JtPXttPSgoMS4wMCww
LjAwKSgwLjAwLDEuMDApKSB0PSgwLjAwLDUuMDApfV0KKyAgICAgICAgICAgICAgICBSZW5kZXJQ
YXRoIHtjaXJjbGV9IGF0ICg5MS42NywxMTYuNjcpIHNpemUgMzMuMzN4MzMuMzMgW2ZpbGw9e1t0
eXBlPVNPTElEXSBbY29sb3I9I0ZGRkYwMF19XSBbZGF0YT0iTTI1LjAwLDE1LjAwTDI0Ljk4LDE1
LjYzTDI0LjkyLDE2LjI1TDI0LjgyLDE2Ljg3TDI0LjY5LDE3LjQ5TDI0LjUxLDE4LjA5TDI0LjMw
LDE4LjY4TDI0LjA1LDE5LjI2TDIzLjc2LDE5LjgyTDIzLjQ0LDIwLjM2TDIzLjA5LDIwLjg4TDIy
LjcxLDIxLjM3TDIyLjI5LDIxLjg1TDIxLjg1LDIyLjI5TDIxLjM3LDIyLjcxTDIwLjg4LDIzLjA5
TDIwLjM2LDIzLjQ0TDE5LjgyLDIzLjc2TDE5LjI2LDI0LjA1TDE4LjY4LDI0LjMwTDE4LjA5LDI0
LjUxTDE3LjQ5LDI0LjY5TDE2Ljg3LDI0LjgyTDE2LjI1LDI0LjkyTDE1LjYzLDI0Ljk4TDE1LjAw
LDI1LjAwTDE0LjM3LDI0Ljk4TDEzLjc1LDI0LjkyTDEzLjEzLDI0LjgyTDEyLjUxLDI0LjY5TDEx
LjkxLDI0LjUxTDExLjMyLDI0LjMwTDEwLjc0LDI0LjA1TDEwLjE4LDIzLjc2TDkuNjQsMjMuNDRM
OS4xMiwyMy4wOUw4LjYzLDIyLjcxTDguMTUsMjIuMjlMNy43MSwyMS44NUw3LjI5LDIxLjM3TDYu
OTEsMjAuODhMNi41NiwyMC4zNkw2LjI0LDE5LjgyTDUuOTUsMTkuMjZMNS43MCwxOC42OEw1LjQ5
LDE4LjA5TDUuMzEsMTcuNDlMNS4xOCwxNi44N0w1LjA4LDE2LjI1TDUuMDIsMTUuNjNMNS4wMCwx
NS4wMEw1LjAyLDE0LjM3TDUuMDgsMTMuNzVMNS4xOCwxMy4xM0w1LjMxLDEyLjUxTDUuNDksMTEu
OTFMNS43MCwxMS4zMkw1Ljk1LDEwLjc0TDYuMjQsMTAuMThMNi41Niw5LjY0TDYuOTEsOS4xMkw3
LjI5LDguNjNMNy43MSw4LjE1TDguMTUsNy43MUw4LjYzLDcuMjlMOS4xMiw2LjkxTDkuNjQsNi41
NkwxMC4xOCw2LjI0TDEwLjc0LDUuOTVMMTEuMzIsNS43MEwxMS45MSw1LjQ5TDEyLjUxLDUuMzFM
MTMuMTMsNS4xOEwxMy43NSw1LjA4TDE0LjM3LDUuMDJMMTUuMDAsNS4wMEwxNS42Myw1LjAyTDE2
LjI1LDUuMDhMMTYuODcsNS4xOEwxNy40OSw1LjMxTDE4LjA5LDUuNDlMMTguNjgsNS43MEwxOS4y
Niw1Ljk1TDE5LjgyLDYuMjRMMjAuMzYsNi41NkwyMC44OCw2LjkxTDIxLjM3LDcuMjlMMjEuODUs
Ny43MUwyMi4yOSw4LjE1TDIyLjcxLDguNjNMMjMuMDksOS4xMkwyMy40NCw5LjY0TDIzLjc2LDEw
LjE4TDI0LjA1LDEwLjc0TDI0LjMwLDExLjMyTDI0LjUxLDExLjkxTDI0LjY5LDEyLjUxTDI0Ljgy
LDEzLjEzTDI0LjkyLDEzLjc1TDI0Ljk4LDE0LjM3Il0KKyAgICAgICAgICAgICAgICBSZW5kZXJQ
YXRoIHtjaXJjbGV9IGF0ICgxMDAuODMsMTI1LjgzKSBzaXplIDV4NSBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMTMuNTAsMTIuMDBMMTMuNTAsMTIuMDlMMTMu
NDksMTIuMTlMMTMuNDcsMTIuMjhMMTMuNDUsMTIuMzdMMTMuNDMsMTIuNDZMMTMuMzksMTIuNTVM
MTMuMzYsMTIuNjRMMTMuMzEsMTIuNzJMMTMuMjcsMTIuODBMMTMuMjEsMTIuODhMMTMuMTYsMTIu
OTZMMTMuMDksMTMuMDNMMTMuMDMsMTMuMDlMMTIuOTYsMTMuMTZMMTIuODgsMTMuMjFMMTIuODAs
MTMuMjdMMTIuNzIsMTMuMzFMMTIuNjQsMTMuMzZMMTIuNTUsMTMuMzlMMTIuNDYsMTMuNDNMMTIu
MzcsMTMuNDVMMTIuMjgsMTMuNDdMMTIuMTksMTMuNDlMMTIuMDksMTMuNTBMMTIuMDAsMTMuNTBM
MTEuOTEsMTMuNTBMMTEuODEsMTMuNDlMMTEuNzIsMTMuNDdMMTEuNjMsMTMuNDVMMTEuNTQsMTMu
NDNMMTEuNDUsMTMuMzlMMTEuMzYsMTMuMzZMMTEuMjgsMTMuMzFMMTEuMjAsMTMuMjdMMTEuMTIs
MTMuMjFMMTEuMDQsMTMuMTZMMTAuOTcsMTMuMDlMMTAuOTEsMTMuMDNMMTAuODQsMTIuOTZMMTAu
NzksMTIuODhMMTAuNzMsMTIuODBMMTAuNjksMTIuNzJMMTAuNjQsMTIuNjRMMTAuNjEsMTIuNTVM
MTAuNTcsMTIuNDZMMTAuNTUsMTIuMzdMMTAuNTMsMTIuMjhMMTAuNTEsMTIuMTlMMTAuNTAsMTIu
MDlMMTAuNTAsMTIuMDBMMTAuNTAsMTEuOTFMMTAuNTEsMTEuODFMMTAuNTMsMTEuNzJMMTAuNTUs
MTEuNjNMMTAuNTcsMTEuNTRMMTAuNjEsMTEuNDVMMTAuNjQsMTEuMzZMMTAuNjksMTEuMjhMMTAu
NzMsMTEuMjBMMTAuNzksMTEuMTJMMTAuODQsMTEuMDRMMTAuOTEsMTAuOTdMMTAuOTcsMTAuOTFM
MTEuMDQsMTAuODRMMTEuMTIsMTAuNzlMMTEuMjAsMTAuNzNMMTEuMjgsMTAuNjlMMTEuMzYsMTAu
NjRMMTEuNDUsMTAuNjFMMTEuNTQsMTAuNTdMMTEuNjMsMTAuNTVMMTEuNzIsMTAuNTNMMTEuODEs
MTAuNTFMMTEuOTEsMTAuNTBMMTIuMDAsMTAuNTBMMTIuMDksMTAuNTBMMTIuMTksMTAuNTFMMTIu
MjgsMTAuNTNMMTIuMzcsMTAuNTVMMTIuNDYsMTAuNTdMMTIuNTUsMTAuNjFMMTIuNjQsMTAuNjRM
MTIuNzIsMTAuNjlMMTIuODAsMTAuNzNMMTIuODgsMTAuNzlMMTIuOTYsMTAuODRMMTMuMDMsMTAu
OTFMMTMuMDksMTAuOTdMMTMuMTYsMTEuMDRMMTMuMjEsMTEuMTJMMTMuMjcsMTEuMjBMMTMuMzEs
MTEuMjhMMTMuMzYsMTEuMzZMMTMuMzksMTEuNDVMMTMuNDMsMTEuNTRMMTMuNDUsMTEuNjNMMTMu
NDcsMTEuNzJMMTMuNDksMTEuODFMMTMuNTAsMTEuOTEiXQorICAgICAgICAgICAgICAgIFJlbmRl
clBhdGgge2NpcmNsZX0gYXQgKDEwOS4xNywxMjUuODMpIHNpemUgNXg1IFtmaWxsPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xOC41MCwxMi4wMEwxOC41MCwxMi4wOUwx
OC40OSwxMi4xOUwxOC40NywxMi4yOEwxOC40NSwxMi4zN0wxOC40MywxMi40NkwxOC4zOSwxMi41
NUwxOC4zNiwxMi42NEwxOC4zMSwxMi43MkwxOC4yNywxMi44MEwxOC4yMSwxMi44OEwxOC4xNiwx
Mi45NkwxOC4wOSwxMy4wM0wxOC4wMywxMy4wOUwxNy45NiwxMy4xNkwxNy44OCwxMy4yMUwxNy44
MCwxMy4yN0wxNy43MiwxMy4zMUwxNy42NCwxMy4zNkwxNy41NSwxMy4zOUwxNy40NiwxMy40M0wx
Ny4zNywxMy40NUwxNy4yOCwxMy40N0wxNy4xOSwxMy40OUwxNy4wOSwxMy41MEwxNy4wMCwxMy41
MEwxNi45MSwxMy41MEwxNi44MSwxMy40OUwxNi43MiwxMy40N0wxNi42MywxMy40NUwxNi41NCwx
My40M0wxNi40NSwxMy4zOUwxNi4zNiwxMy4zNkwxNi4yOCwxMy4zMUwxNi4yMCwxMy4yN0wxNi4x
MiwxMy4yMUwxNi4wNCwxMy4xNkwxNS45NywxMy4wOUwxNS45MSwxMy4wM0wxNS44NCwxMi45Nkwx
NS43OSwxMi44OEwxNS43MywxMi44MEwxNS42OSwxMi43MkwxNS42NCwxMi42NEwxNS42MSwxMi41
NUwxNS41NywxMi40NkwxNS41NSwxMi4zN0wxNS41MywxMi4yOEwxNS41MSwxMi4xOUwxNS41MCwx
Mi4wOUwxNS41MCwxMi4wMEwxNS41MCwxMS45MUwxNS41MSwxMS44MUwxNS41MywxMS43MkwxNS41
NSwxMS42M0wxNS41NywxMS41NEwxNS42MSwxMS40NUwxNS42NCwxMS4zNkwxNS42OSwxMS4yOEwx
NS43MywxMS4yMEwxNS43OSwxMS4xMkwxNS44NCwxMS4wNEwxNS45MSwxMC45N0wxNS45NywxMC45
MUwxNi4wNCwxMC44NEwxNi4xMiwxMC43OUwxNi4yMCwxMC43M0wxNi4yOCwxMC42OUwxNi4zNiwx
MC42NEwxNi40NSwxMC42MUwxNi41NCwxMC41N0wxNi42MywxMC41NUwxNi43MiwxMC41M0wxNi44
MSwxMC41MUwxNi45MSwxMC41MEwxNy4wMCwxMC41MEwxNy4wOSwxMC41MEwxNy4xOSwxMC41MUwx
Ny4yOCwxMC41M0wxNy4zNywxMC41NUwxNy40NiwxMC41N0wxNy41NSwxMC42MUwxNy42NCwxMC42
NEwxNy43MiwxMC42OUwxNy44MCwxMC43M0wxNy44OCwxMC43OUwxNy45NiwxMC44NEwxOC4wMywx
MC45MUwxOC4wOSwxMC45N0wxOC4xNiwxMS4wNEwxOC4yMSwxMS4xMkwxOC4yNywxMS4yMEwxOC4z
MSwxMS4yOEwxOC4zNiwxMS4zNkwxOC4zOSwxMS40NUwxOC40MywxMS41NEwxOC40NSwxMS42M0wx
OC40NywxMS43MkwxOC40OSwxMS44MUwxOC41MCwxMS45MSJdCisgICAgICAgICAgICAgICAgUmVu
ZGVyUGF0aCB7cGF0aH0gYXQgKDk4Ljk2LDEzOC43MCkgc2l6ZSAxOC43NXgxMC4xMCBbc3Ryb2tl
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtzdHJva2Ugd2lkdGg9Mi4wMF19XSBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMTAuMDAsMTkuMDBMMTUu
MDAsMjMuMDBMMjAuMDAsMTkuMDAiXQorICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30g
YXQgKDE2Ni42Nyw4My4zMykgc2l6ZSA1MHg2Ni42NyBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAw
KSgwLjAwLDEuMDApKSB0PSgxMDAuMDAsNTAuMDApfV0KKyAgICAgICAgICAgIFJlbmRlclNWR0Nv
bnRhaW5lciB7c3ZnfSBhdCAoMTY2LjY3LDEwMC4wMCkgc2l6ZSA1MHg2Ni42NworICAgICAgICAg
ICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMTY2LjY3LDEwMC4wMCkgc2l6ZSA1MHg2Ni42NyBb
c3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElE
XSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTAuNTAsMC41MEwyOS41MCwwLjUwTDI5LjUwLDM5
LjUwTDAuNTAsMzkuNTAiXQorICAgICAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0
ICgxNzUuMDAsMTE2LjY3KSBzaXplIDMzLjMzeDMzLjMzIFt0cmFuc2Zvcm09e209KCgxLjAwLDAu
MDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsNS4wMCl9XQorICAgICAgICAgICAgICAgIFJlbmRlclBh
dGgge2NpcmNsZX0gYXQgKDE3NS4wMCwxMTYuNjcpIHNpemUgMzMuMzN4MzMuMzMgW2ZpbGw9e1t0
eXBlPVNPTElEXSBbY29sb3I9I0ZGRkYwMF19XSBbZGF0YT0iTTI1LjAwLDE1LjAwTDI0Ljk4LDE1
LjYzTDI0LjkyLDE2LjI1TDI0LjgyLDE2Ljg3TDI0LjY5LDE3LjQ5TDI0LjUxLDE4LjA5TDI0LjMw
LDE4LjY4TDI0LjA1LDE5LjI2TDIzLjc2LDE5LjgyTDIzLjQ0LDIwLjM2TDIzLjA5LDIwLjg4TDIy
LjcxLDIxLjM3TDIyLjI5LDIxLjg1TDIxLjg1LDIyLjI5TDIxLjM3LDIyLjcxTDIwLjg4LDIzLjA5
TDIwLjM2LDIzLjQ0TDE5LjgyLDIzLjc2TDE5LjI2LDI0LjA1TDE4LjY4LDI0LjMwTDE4LjA5LDI0
LjUxTDE3LjQ5LDI0LjY5TDE2Ljg3LDI0LjgyTDE2LjI1LDI0LjkyTDE1LjYzLDI0Ljk4TDE1LjAw
LDI1LjAwTDE0LjM3LDI0Ljk4TDEzLjc1LDI0LjkyTDEzLjEzLDI0LjgyTDEyLjUxLDI0LjY5TDEx
LjkxLDI0LjUxTDExLjMyLDI0LjMwTDEwLjc0LDI0LjA1TDEwLjE4LDIzLjc2TDkuNjQsMjMuNDRM
OS4xMiwyMy4wOUw4LjYzLDIyLjcxTDguMTUsMjIuMjlMNy43MSwyMS44NUw3LjI5LDIxLjM3TDYu
OTEsMjAuODhMNi41NiwyMC4zNkw2LjI0LDE5LjgyTDUuOTUsMTkuMjZMNS43MCwxOC42OEw1LjQ5
LDE4LjA5TDUuMzEsMTcuNDlMNS4xOCwxNi44N0w1LjA4LDE2LjI1TDUuMDIsMTUuNjNMNS4wMCwx
NS4wMEw1LjAyLDE0LjM3TDUuMDgsMTMuNzVMNS4xOCwxMy4xM0w1LjMxLDEyLjUxTDUuNDksMTEu
OTFMNS43MCwxMS4zMkw1Ljk1LDEwLjc0TDYuMjQsMTAuMThMNi41Niw5LjY0TDYuOTEsOS4xMkw3
LjI5LDguNjNMNy43MSw4LjE1TDguMTUsNy43MUw4LjYzLDcuMjlMOS4xMiw2LjkxTDkuNjQsNi41
NkwxMC4xOCw2LjI0TDEwLjc0LDUuOTVMMTEuMzIsNS43MEwxMS45MSw1LjQ5TDEyLjUxLDUuMzFM
MTMuMTMsNS4xOEwxMy43NSw1LjA4TDE0LjM3LDUuMDJMMTUuMDAsNS4wMEwxNS42Myw1LjAyTDE2
LjI1LDUuMDhMMTYuODcsNS4xOEwxNy40OSw1LjMxTDE4LjA5LDUuNDlMMTguNjgsNS43MEwxOS4y
Niw1Ljk1TDE5LjgyLDYuMjRMMjAuMzYsNi41NkwyMC44OCw2LjkxTDIxLjM3LDcuMjlMMjEuODUs
Ny43MUwyMi4yOSw4LjE1TDIyLjcxLDguNjNMMjMuMDksOS4xMkwyMy40NCw5LjY0TDIzLjc2LDEw
LjE4TDI0LjA1LDEwLjc0TDI0LjMwLDExLjMyTDI0LjUxLDExLjkxTDI0LjY5LDEyLjUxTDI0Ljgy
LDEzLjEzTDI0LjkyLDEzLjc1TDI0Ljk4LDE0LjM3Il0KKyAgICAgICAgICAgICAgICBSZW5kZXJQ
YXRoIHtjaXJjbGV9IGF0ICgxODQuMTcsMTI1LjgzKSBzaXplIDV4NSBbZmlsbD17W3R5cGU9U09M
SURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMTMuNTAsMTIuMDBMMTMuNTAsMTIuMDlMMTMu
NDksMTIuMTlMMTMuNDcsMTIuMjhMMTMuNDUsMTIuMzdMMTMuNDMsMTIuNDZMMTMuMzksMTIuNTVM
MTMuMzYsMTIuNjRMMTMuMzEsMTIuNzJMMTMuMjcsMTIuODBMMTMuMjEsMTIuODhMMTMuMTYsMTIu
OTZMMTMuMDksMTMuMDNMMTMuMDMsMTMuMDlMMTIuOTYsMTMuMTZMMTIuODgsMTMuMjFMMTIuODAs
MTMuMjdMMTIuNzIsMTMuMzFMMTIuNjQsMTMuMzZMMTIuNTUsMTMuMzlMMTIuNDYsMTMuNDNMMTIu
MzcsMTMuNDVMMTIuMjgsMTMuNDdMMTIuMTksMTMuNDlMMTIuMDksMTMuNTBMMTIuMDAsMTMuNTBM
MTEuOTEsMTMuNTBMMTEuODEsMTMuNDlMMTEuNzIsMTMuNDdMMTEuNjMsMTMuNDVMMTEuNTQsMTMu
NDNMMTEuNDUsMTMuMzlMMTEuMzYsMTMuMzZMMTEuMjgsMTMuMzFMMTEuMjAsMTMuMjdMMTEuMTIs
MTMuMjFMMTEuMDQsMTMuMTZMMTAuOTcsMTMuMDlMMTAuOTEsMTMuMDNMMTAuODQsMTIuOTZMMTAu
NzksMTIuODhMMTAuNzMsMTIuODBMMTAuNjksMTIuNzJMMTAuNjQsMTIuNjRMMTAuNjEsMTIuNTVM
MTAuNTcsMTIuNDZMMTAuNTUsMTIuMzdMMTAuNTMsMTIuMjhMMTAuNTEsMTIuMTlMMTAuNTAsMTIu
MDlMMTAuNTAsMTIuMDBMMTAuNTAsMTEuOTFMMTAuNTEsMTEuODFMMTAuNTMsMTEuNzJMMTAuNTUs
MTEuNjNMMTAuNTcsMTEuNTRMMTAuNjEsMTEuNDVMMTAuNjQsMTEuMzZMMTAuNjksMTEuMjhMMTAu
NzMsMTEuMjBMMTAuNzksMTEuMTJMMTAuODQsMTEuMDRMMTAuOTEsMTAuOTdMMTAuOTcsMTAuOTFM
MTEuMDQsMTAuODRMMTEuMTIsMTAuNzlMMTEuMjAsMTAuNzNMMTEuMjgsMTAuNjlMMTEuMzYsMTAu
NjRMMTEuNDUsMTAuNjFMMTEuNTQsMTAuNTdMMTEuNjMsMTAuNTVMMTEuNzIsMTAuNTNMMTEuODEs
MTAuNTFMMTEuOTEsMTAuNTBMMTIuMDAsMTAuNTBMMTIuMDksMTAuNTBMMTIuMTksMTAuNTFMMTIu
MjgsMTAuNTNMMTIuMzcsMTAuNTVMMTIuNDYsMTAuNTdMMTIuNTUsMTAuNjFMMTIuNjQsMTAuNjRM
MTIuNzIsMTAuNjlMMTIuODAsMTAuNzNMMTIuODgsMTAuNzlMMTIuOTYsMTAuODRMMTMuMDMsMTAu
OTFMMTMuMDksMTAuOTdMMTMuMTYsMTEuMDRMMTMuMjEsMTEuMTJMMTMuMjcsMTEuMjBMMTMuMzEs
MTEuMjhMMTMuMzYsMTEuMzZMMTMuMzksMTEuNDVMMTMuNDMsMTEuNTRMMTMuNDUsMTEuNjNMMTMu
NDcsMTEuNzJMMTMuNDksMTEuODFMMTMuNTAsMTEuOTEiXQorICAgICAgICAgICAgICAgIFJlbmRl
clBhdGgge2NpcmNsZX0gYXQgKDE5Mi41MCwxMjUuODMpIHNpemUgNXg1IFtmaWxsPXtbdHlwZT1T
T0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xOC41MCwxMi4wMEwxOC41MCwxMi4wOUwx
OC40OSwxMi4xOUwxOC40NywxMi4yOEwxOC40NSwxMi4zN0wxOC40MywxMi40NkwxOC4zOSwxMi41
NUwxOC4zNiwxMi42NEwxOC4zMSwxMi43MkwxOC4yNywxMi44MEwxOC4yMSwxMi44OEwxOC4xNiwx
Mi45NkwxOC4wOSwxMy4wM0wxOC4wMywxMy4wOUwxNy45NiwxMy4xNkwxNy44OCwxMy4yMUwxNy44
MCwxMy4yN0wxNy43MiwxMy4zMUwxNy42NCwxMy4zNkwxNy41NSwxMy4zOUwxNy40NiwxMy40M0wx
Ny4zNywxMy40NUwxNy4yOCwxMy40N0wxNy4xOSwxMy40OUwxNy4wOSwxMy41MEwxNy4wMCwxMy41
MEwxNi45MSwxMy41MEwxNi44MSwxMy40OUwxNi43MiwxMy40N0wxNi42MywxMy40NUwxNi41NCwx
My40M0wxNi40NSwxMy4zOUwxNi4zNiwxMy4zNkwxNi4yOCwxMy4zMUwxNi4yMCwxMy4yN0wxNi4x
MiwxMy4yMUwxNi4wNCwxMy4xNkwxNS45NywxMy4wOUwxNS45MSwxMy4wM0wxNS44NCwxMi45Nkwx
NS43OSwxMi44OEwxNS43MywxMi44MEwxNS42OSwxMi43MkwxNS42NCwxMi42NEwxNS42MSwxMi41
NUwxNS41NywxMi40NkwxNS41NSwxMi4zN0wxNS41MywxMi4yOEwxNS41MSwxMi4xOUwxNS41MCwx
Mi4wOUwxNS41MCwxMi4wMEwxNS41MCwxMS45MUwxNS41MSwxMS44MUwxNS41MywxMS43MkwxNS41
NSwxMS42M0wxNS41NywxMS41NEwxNS42MSwxMS40NUwxNS42NCwxMS4zNkwxNS42OSwxMS4yOEwx
NS43MywxMS4yMEwxNS43OSwxMS4xMkwxNS44NCwxMS4wNEwxNS45MSwxMC45N0wxNS45NywxMC45
MUwxNi4wNCwxMC44NEwxNi4xMiwxMC43OUwxNi4yMCwxMC43M0wxNi4yOCwxMC42OUwxNi4zNiwx
MC42NEwxNi40NSwxMC42MUwxNi41NCwxMC41N0wxNi42MywxMC41NUwxNi43MiwxMC41M0wxNi44
MSwxMC41MUwxNi45MSwxMC41MEwxNy4wMCwxMC41MEwxNy4wOSwxMC41MEwxNy4xOSwxMC41MUwx
Ny4yOCwxMC41M0wxNy4zNywxMC41NUwxNy40NiwxMC41N0wxNy41NSwxMC42MUwxNy42NCwxMC42
NEwxNy43MiwxMC42OUwxNy44MCwxMC43M0wxNy44OCwxMC43OUwxNy45NiwxMC44NEwxOC4wMywx
MC45MUwxOC4wOSwxMC45N0wxOC4xNiwxMS4wNEwxOC4yMSwxMS4xMkwxOC4yNywxMS4yMEwxOC4z
MSwxMS4yOEwxOC4zNiwxMS4zNkwxOC4zOSwxMS40NUwxOC40MywxMS41NEwxOC40NSwxMS42M0wx
OC40NywxMS43MkwxOC40OSwxMS44MUwxOC41MCwxMS45MSJdCisgICAgICAgICAgICAgICAgUmVu
ZGVyUGF0aCB7cGF0aH0gYXQgKDE4Mi4yOSwxMzguNzApIHNpemUgMTguNzV4MTAuMTAgW3N0cm9r
ZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdpZHRoPTIuMDBdfV0gW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTEwLjAwLDE5LjAwTDE1
LjAwLDIzLjAwTDIwLjAwLDE5LjAwIl0KKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9
IGF0ICgyNTAsODMuMzMpIHNpemUgNTB4NjYuNjcgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCko
MC4wMCwxLjAwKSkgdD0oMTUwLjAwLDUwLjAwKX1dCisgICAgICAgICAgICBSZW5kZXJTVkdDb250
YWluZXIge3N2Z30gYXQgKDI1MCwxMDAuMDApIHNpemUgNTB4NjYuNjcKKyAgICAgICAgICAgICAg
UmVuZGVyUGF0aCB7cmVjdH0gYXQgKDI1MCwxMDAuMDApIHNpemUgNTB4NjYuNjcgW3N0cm9rZT17
W3R5cGU9U09MSURdIFtjb2xvcj0jRkYwMDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9y
PSMwMDAwMDBdfV0gW2RhdGE9Ik0wLjUwLDAuNTBMMjkuNTAsMC41MEwyOS41MCwzOS41MEwwLjUw
LDM5LjUwIl0KKyAgICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMjU4LjMz
LDExNi42Nykgc2l6ZSAzMy4zM3gzMy4zMyBbdHJhbnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAw
LDEuMDApKSB0PSgwLjAwLDUuMDApfV0KKyAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtjaXJj
bGV9IGF0ICgyNTguMzMsMTE2LjY3KSBzaXplIDMzLjMzeDMzLjMzIFtmaWxsPXtbdHlwZT1TT0xJ
RF0gW2NvbG9yPSNGRkZGMDBdfV0gW2RhdGE9Ik0yNS4wMCwxNS4wMEwyNC45OCwxNS42M0wyNC45
MiwxNi4yNUwyNC44MiwxNi44N0wyNC42OSwxNy40OUwyNC41MSwxOC4wOUwyNC4zMCwxOC42OEwy
NC4wNSwxOS4yNkwyMy43NiwxOS44MkwyMy40NCwyMC4zNkwyMy4wOSwyMC44OEwyMi43MSwyMS4z
N0wyMi4yOSwyMS44NUwyMS44NSwyMi4yOUwyMS4zNywyMi43MUwyMC44OCwyMy4wOUwyMC4zNiwy
My40NEwxOS44MiwyMy43NkwxOS4yNiwyNC4wNUwxOC42OCwyNC4zMEwxOC4wOSwyNC41MUwxNy40
OSwyNC42OUwxNi44NywyNC44MkwxNi4yNSwyNC45MkwxNS42MywyNC45OEwxNS4wMCwyNS4wMEwx
NC4zNywyNC45OEwxMy43NSwyNC45MkwxMy4xMywyNC44MkwxMi41MSwyNC42OUwxMS45MSwyNC41
MUwxMS4zMiwyNC4zMEwxMC43NCwyNC4wNUwxMC4xOCwyMy43Nkw5LjY0LDIzLjQ0TDkuMTIsMjMu
MDlMOC42MywyMi43MUw4LjE1LDIyLjI5TDcuNzEsMjEuODVMNy4yOSwyMS4zN0w2LjkxLDIwLjg4
TDYuNTYsMjAuMzZMNi4yNCwxOS44Mkw1Ljk1LDE5LjI2TDUuNzAsMTguNjhMNS40OSwxOC4wOUw1
LjMxLDE3LjQ5TDUuMTgsMTYuODdMNS4wOCwxNi4yNUw1LjAyLDE1LjYzTDUuMDAsMTUuMDBMNS4w
MiwxNC4zN0w1LjA4LDEzLjc1TDUuMTgsMTMuMTNMNS4zMSwxMi41MUw1LjQ5LDExLjkxTDUuNzAs
MTEuMzJMNS45NSwxMC43NEw2LjI0LDEwLjE4TDYuNTYsOS42NEw2LjkxLDkuMTJMNy4yOSw4LjYz
TDcuNzEsOC4xNUw4LjE1LDcuNzFMOC42Myw3LjI5TDkuMTIsNi45MUw5LjY0LDYuNTZMMTAuMTgs
Ni4yNEwxMC43NCw1Ljk1TDExLjMyLDUuNzBMMTEuOTEsNS40OUwxMi41MSw1LjMxTDEzLjEzLDUu
MThMMTMuNzUsNS4wOEwxNC4zNyw1LjAyTDE1LjAwLDUuMDBMMTUuNjMsNS4wMkwxNi4yNSw1LjA4
TDE2Ljg3LDUuMThMMTcuNDksNS4zMUwxOC4wOSw1LjQ5TDE4LjY4LDUuNzBMMTkuMjYsNS45NUwx
OS44Miw2LjI0TDIwLjM2LDYuNTZMMjAuODgsNi45MUwyMS4zNyw3LjI5TDIxLjg1LDcuNzFMMjIu
MjksOC4xNUwyMi43MSw4LjYzTDIzLjA5LDkuMTJMMjMuNDQsOS42NEwyMy43NiwxMC4xOEwyNC4w
NSwxMC43NEwyNC4zMCwxMS4zMkwyNC41MSwxMS45MUwyNC42OSwxMi41MUwyNC44MiwxMy4xM0wy
NC45MiwxMy43NUwyNC45OCwxNC4zNyJdCisgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7Y2ly
Y2xlfSBhdCAoMjY3LjUwLDEyNS44Mykgc2l6ZSA1eDUgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29s
b3I9IzAwMDAwMF19XSBbZGF0YT0iTTEzLjUwLDEyLjAwTDEzLjUwLDEyLjA5TDEzLjQ5LDEyLjE5
TDEzLjQ3LDEyLjI4TDEzLjQ1LDEyLjM3TDEzLjQzLDEyLjQ2TDEzLjM5LDEyLjU1TDEzLjM2LDEy
LjY0TDEzLjMxLDEyLjcyTDEzLjI3LDEyLjgwTDEzLjIxLDEyLjg4TDEzLjE2LDEyLjk2TDEzLjA5
LDEzLjAzTDEzLjAzLDEzLjA5TDEyLjk2LDEzLjE2TDEyLjg4LDEzLjIxTDEyLjgwLDEzLjI3TDEy
LjcyLDEzLjMxTDEyLjY0LDEzLjM2TDEyLjU1LDEzLjM5TDEyLjQ2LDEzLjQzTDEyLjM3LDEzLjQ1
TDEyLjI4LDEzLjQ3TDEyLjE5LDEzLjQ5TDEyLjA5LDEzLjUwTDEyLjAwLDEzLjUwTDExLjkxLDEz
LjUwTDExLjgxLDEzLjQ5TDExLjcyLDEzLjQ3TDExLjYzLDEzLjQ1TDExLjU0LDEzLjQzTDExLjQ1
LDEzLjM5TDExLjM2LDEzLjM2TDExLjI4LDEzLjMxTDExLjIwLDEzLjI3TDExLjEyLDEzLjIxTDEx
LjA0LDEzLjE2TDEwLjk3LDEzLjA5TDEwLjkxLDEzLjAzTDEwLjg0LDEyLjk2TDEwLjc5LDEyLjg4
TDEwLjczLDEyLjgwTDEwLjY5LDEyLjcyTDEwLjY0LDEyLjY0TDEwLjYxLDEyLjU1TDEwLjU3LDEy
LjQ2TDEwLjU1LDEyLjM3TDEwLjUzLDEyLjI4TDEwLjUxLDEyLjE5TDEwLjUwLDEyLjA5TDEwLjUw
LDEyLjAwTDEwLjUwLDExLjkxTDEwLjUxLDExLjgxTDEwLjUzLDExLjcyTDEwLjU1LDExLjYzTDEw
LjU3LDExLjU0TDEwLjYxLDExLjQ1TDEwLjY0LDExLjM2TDEwLjY5LDExLjI4TDEwLjczLDExLjIw
TDEwLjc5LDExLjEyTDEwLjg0LDExLjA0TDEwLjkxLDEwLjk3TDEwLjk3LDEwLjkxTDExLjA0LDEw
Ljg0TDExLjEyLDEwLjc5TDExLjIwLDEwLjczTDExLjI4LDEwLjY5TDExLjM2LDEwLjY0TDExLjQ1
LDEwLjYxTDExLjU0LDEwLjU3TDExLjYzLDEwLjU1TDExLjcyLDEwLjUzTDExLjgxLDEwLjUxTDEx
LjkxLDEwLjUwTDEyLjAwLDEwLjUwTDEyLjA5LDEwLjUwTDEyLjE5LDEwLjUxTDEyLjI4LDEwLjUz
TDEyLjM3LDEwLjU1TDEyLjQ2LDEwLjU3TDEyLjU1LDEwLjYxTDEyLjY0LDEwLjY0TDEyLjcyLDEw
LjY5TDEyLjgwLDEwLjczTDEyLjg4LDEwLjc5TDEyLjk2LDEwLjg0TDEzLjAzLDEwLjkxTDEzLjA5
LDEwLjk3TDEzLjE2LDExLjA0TDEzLjIxLDExLjEyTDEzLjI3LDExLjIwTDEzLjMxLDExLjI4TDEz
LjM2LDExLjM2TDEzLjM5LDExLjQ1TDEzLjQzLDExLjU0TDEzLjQ1LDExLjYzTDEzLjQ3LDExLjcy
TDEzLjQ5LDExLjgxTDEzLjUwLDExLjkxIl0KKyAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtj
aXJjbGV9IGF0ICgyNzUuODMsMTI1LjgzKSBzaXplIDV4NSBbZmlsbD17W3R5cGU9U09MSURdIFtj
b2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMTguNTAsMTIuMDBMMTguNTAsMTIuMDlMMTguNDksMTIu
MTlMMTguNDcsMTIuMjhMMTguNDUsMTIuMzdMMTguNDMsMTIuNDZMMTguMzksMTIuNTVMMTguMzYs
MTIuNjRMMTguMzEsMTIuNzJMMTguMjcsMTIuODBMMTguMjEsMTIuODhMMTguMTYsMTIuOTZMMTgu
MDksMTMuMDNMMTguMDMsMTMuMDlMMTcuOTYsMTMuMTZMMTcuODgsMTMuMjFMMTcuODAsMTMuMjdM
MTcuNzIsMTMuMzFMMTcuNjQsMTMuMzZMMTcuNTUsMTMuMzlMMTcuNDYsMTMuNDNMMTcuMzcsMTMu
NDVMMTcuMjgsMTMuNDdMMTcuMTksMTMuNDlMMTcuMDksMTMuNTBMMTcuMDAsMTMuNTBMMTYuOTEs
MTMuNTBMMTYuODEsMTMuNDlMMTYuNzIsMTMuNDdMMTYuNjMsMTMuNDVMMTYuNTQsMTMuNDNMMTYu
NDUsMTMuMzlMMTYuMzYsMTMuMzZMMTYuMjgsMTMuMzFMMTYuMjAsMTMuMjdMMTYuMTIsMTMuMjFM
MTYuMDQsMTMuMTZMMTUuOTcsMTMuMDlMMTUuOTEsMTMuMDNMMTUuODQsMTIuOTZMMTUuNzksMTIu
ODhMMTUuNzMsMTIuODBMMTUuNjksMTIuNzJMMTUuNjQsMTIuNjRMMTUuNjEsMTIuNTVMMTUuNTcs
MTIuNDZMMTUuNTUsMTIuMzdMMTUuNTMsMTIuMjhMMTUuNTEsMTIuMTlMMTUuNTAsMTIuMDlMMTUu
NTAsMTIuMDBMMTUuNTAsMTEuOTFMMTUuNTEsMTEuODFMMTUuNTMsMTEuNzJMMTUuNTUsMTEuNjNM
MTUuNTcsMTEuNTRMMTUuNjEsMTEuNDVMMTUuNjQsMTEuMzZMMTUuNjksMTEuMjhMMTUuNzMsMTEu
MjBMMTUuNzksMTEuMTJMMTUuODQsMTEuMDRMMTUuOTEsMTAuOTdMMTUuOTcsMTAuOTFMMTYuMDQs
MTAuODRMMTYuMTIsMTAuNzlMMTYuMjAsMTAuNzNMMTYuMjgsMTAuNjlMMTYuMzYsMTAuNjRMMTYu
NDUsMTAuNjFMMTYuNTQsMTAuNTdMMTYuNjMsMTAuNTVMMTYuNzIsMTAuNTNMMTYuODEsMTAuNTFM
MTYuOTEsMTAuNTBMMTcuMDAsMTAuNTBMMTcuMDksMTAuNTBMMTcuMTksMTAuNTFMMTcuMjgsMTAu
NTNMMTcuMzcsMTAuNTVMMTcuNDYsMTAuNTdMMTcuNTUsMTAuNjFMMTcuNjQsMTAuNjRMMTcuNzIs
MTAuNjlMMTcuODAsMTAuNzNMMTcuODgsMTAuNzlMMTcuOTYsMTAuODRMMTguMDMsMTAuOTFMMTgu
MDksMTAuOTdMMTguMTYsMTEuMDRMMTguMjEsMTEuMTJMMTguMjcsMTEuMjBMMTguMzEsMTEuMjhM
MTguMzYsMTEuMzZMMTguMzksMTEuNDVMMTguNDMsMTEuNTRMMTguNDUsMTEuNjNMMTguNDcsMTEu
NzJMMTguNDksMTEuODFMMTguNTAsMTEuOTEiXQorICAgICAgICAgICAgICAgIFJlbmRlclBhdGgg
e3BhdGh9IGF0ICgyNjUuNjMsMTM4LjcwKSBzaXplIDE4Ljc1eDEwLjEwIFtzdHJva2U9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0cm9rZSB3aWR0aD0yLjAwXX1dIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xMC4wMCwxOS4wMEwxNS4wMCwyMy4w
MEwyMC4wMCwxOS4wMCJdCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFz
cGVjdC1yYXRpby1zeW50YXguc3ZnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0
b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC5zdmcJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXguc3ZnCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDMzIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJV
VEYtOCI/PgorPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEgQmFzaWMv
L0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEtYmFzaWMu
ZHRkIiBbCisJPCFFTlRJVFkgU21pbGUgIgorPHJlY3QgeD0nLjUnIHk9Jy41JyB3aWR0aD0nMjkn
IGhlaWdodD0nMzknIGZpbGw9J2JsYWNrJyBzdHJva2U9J3JlZCcvPgorPGcgdHJhbnNmb3JtPSd0
cmFuc2xhdGUoMCwgNSknPgorPGNpcmNsZSBjeD0nMTUnIGN5PScxNScgcj0nMTAnIGZpbGw9J3ll
bGxvdycvPgorPGNpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nMS41JyBmaWxsPSdibGFjaycvPgor
PGNpcmNsZSBjeD0nMTcnIGN5PScxMicgcj0nMS41JyBmaWxsPSdibGFjaycvPgorPHBhdGggZD0n
TSAxMCAxOSBMIDE1IDIzIDIwIDE5JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzInLz4K
KzwvZz4KKyI+CisJPCFFTlRJVFkgVmlld3BvcnQyICI8cmVjdCB4PScuNScgeT0nLjUnIHdpZHRo
PScyOScgaGVpZ2h0PSc1OScKK2ZpbGw9J25vbmUnIHN0cm9rZT0nYmx1ZScvPiI+CitdPgorPHN2
ZyB2ZXJzaW9uPSIxLjEiIGJhc2VQcm9maWxlPSJiYXNpYyIgeG1sbnM9Imh0dHA6Ly93d3cudzMu
b3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIg
aWQ9InN2Zy1yb290IiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgNDgw
IDM2MCI+CisJPGcgaWQ9InRlc3QtYm9keS1jb250ZW50IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgw
LCAwKSI+CisJCTxnIGZvbnQtc2l6ZT0iOSI+CisJCQk8dGV4dCB4PSIwIiB5PSIzMCI+QWxsIHN2
Z3MgYmVsb3cgc2hvdWxkIGxvb2sgdGhlIHNhbWUsIHNpbmNlIGFsbCBoYXZlIHByZXNlcnZlQXNw
ZWN0UmF0aW8gd2l0aCBzeW50YXggZXJyb3JzIGFuZCBkZWZhdWx0IHNob3VsZCBiZSBjaG9zZW4u
PC90ZXh0PgorCQk8ZyBpZD0ibWVldC1ncm91cC0yIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLCA1
MCkiPgorICAgICAgICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHBy
ZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiIHZpZXdCb3g9IjAgMCAzMCA0MCIgd2lkdGg9IjMwIiBo
ZWlnaHQ9IjYwIj4mU21pbGU7PC9zdmc+CisJCQk8L2c+CisJCQk8ZyB0cmFuc2Zvcm09InRyYW5z
bGF0ZSg1MCwgNTApIj4KKyAgICAgICAgIDxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5
L3hsaW5rIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciIgdmlld0JveD0iMCAwIDMwIDQwIiB3
aWR0aD0iMzAiIGhlaWdodD0iNjAiPiZTbWlsZTs8L3N2Zz4KKwkJCTwvZz4KKwkJCTxnIHRyYW5z
Zm9ybT0idHJhbnNsYXRlKDEwMCwgNTApIj4KKyAgICAgICAgIDxzdmcgdmVyc2lvbj0iMS4xIiB4
bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hsaW5rIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJkZWZlciBtZWV0IiB2aWV3
Qm94PSIwIDAgMzAgNDAiIHdpZHRoPSIzMCIgaGVpZ2h0PSI2MCI+JlNtaWxlOzwvc3ZnPgorCQkJ
PC9nPgorCQkJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUwLCA1MCkiPgorICAgICAgICAgPHN2
ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6
eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89
ImRlZmVyIHhNaWRZTWlkIG1lZXQgYSIgdmlld0JveD0iMCAwIDMwIDQwIiB3aWR0aD0iMzAiIGhl
aWdodD0iNjAiPiZTbWlsZTs8L3N2Zz4KKwkJCTwvZz4KKyAgICAgICAgICAgIDwvZz4KKwk8L2c+
Cis8L3N2Zz4KSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxODM5MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsNzUgQEAKKzIwMDYtMTItMjIgIFJvYiBCdWlzICA8YnVpc0BrZGUu
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0
dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMTA4CisgICAgICAgIFJlcGxh
Y2UgdXNhZ2Ugb2Ygc3BsaXQgYnkgcHJvcGVyIHBhcnNlcnMKKworICAgICAgICBHZXQgcmlkIG9m
IGFsbCB1c2VzIG9mIHNwbGl0KCkgaW4ga3N2ZyBhbmQgcmVvcmdhbml6ZQorICAgICAgICBzdmcg
cGFyc2luZyBmdW5jdGlvbnMgaW4gdGhlIHByb2Nlc3MuCisKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIC0gcmVuYW1lIHN2Z3BhdGhwYXJzZXIu
KiB0byBTVkdQYXJzZXJVdGlscy4qCisKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHQ29sb3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHQ29sb3I6OnNldFJHQkNvbG9yKToKKyAgICAgICAgLSB1
c2UgZnVuY3Rpb25zIGZyb20gU1ZHUGFyc2VyVXRpbHMgaW5zdGVhZCBvZiBzcGxpdAorCisgICAg
ICAgICoga3N2ZzIvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdGaXRUb1ZpZXdCb3g6OnBhcnNlVmlld0JveCk6CisgICAgICAgIC0gcmV3cml0ZSBwYXJzZXIg
dXNpbmcgZnVuY3Rpb25zIGZyb20gU1ZHUGFyc2VyVXRpbHMgaW5zdGVhZCBvZiBzcGxpdAorCisg
ICAgICAgICoga3N2ZzIvc3ZnL1NWR0xlbmd0aC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdM
ZW5ndGg6OnNldFZhbHVlQXNTdHJpbmcpOgorICAgICAgICAtIHVzZSBmdW5jdGlvbnMgZnJvbSBT
VkdQYXJzZXJVdGlscyBpbnN0ZWFkIG9mIHNwbGl0CisKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZH
TnVtYmVyTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdOdW1iZXJMaXN0OjpwYXJzZSk6
CisgICAgICAgIC0gdXNlIGZ1bmN0aW9ucyBmcm9tIFNWR1BhcnNlclV0aWxzIGluc3RlYWQgb2Yg
c3BsaXQKKworICAgICAgICAqIGtzdmcyL3N2Zy9TVkdQYXJzZXJVdGlscy5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6cGFyc2VDb29yZCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2x5
UGFyc2VyOjpwYXJzZVBvaW50cyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoUGFyc2VyOjpw
YXJzZVNWRyk6CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR1BhcnNlclV0aWxzLmg6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6aXNXaGl0ZXNwYWNlKToKKyAgICAgICAgKFdlYkNvcmU6OnNraXBP
cHRpb25hbFNwYWNlcyk6CisgICAgICAgIChXZWJDb3JlOjpza2lwT3B0aW9uYWxTcGFjZXNPckRl
bGltaXRlcik6CisgICAgICAgIC0gbW92ZSBwcml2YXRlIHBhcnNpbmcgaGVscGVyIGZ1bmN0aW9u
cyBpbnRvIHRoZSBoZWFkZXIKKyAgICAgICAgLSB1c2UgVUNoYXIqIGluc3RlYWQgb2YgY2hhcioK
KworICAgICAgICAqIGtzdmcyL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTVkdQYXRoRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIGtz
dmcyL3N2Zy9TVkdQYXRoRWxlbWVudC5oOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdQb2x5RWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2x5RWxlbWVudDo6cGFyc2VNYXBwZWRB
dHRyaWJ1dGUpOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdQb2x5RWxlbWVudC5oOgorICAgICAg
ICAtIGFkanVzdCB0byBzdmdwYXRocGFyc2VyIHJlbmFtZQorCisgICAgICAgICoga3N2ZzIvc3Zn
L1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJlc2Vy
dmVBc3BlY3RSYXRpbzo6cGFyc2VQcmVzZXJ2ZUFzcGVjdFJhdGlvKToKKyAgICAgICAgLSByZXdy
aXRlIHBhcnNlciB1c2luZyBmdW5jdGlvbnMgZnJvbSBTVkdQYXJzZXJVdGlscyBpbnN0ZWFkIG9m
IHNwbGl0CisgICAgICAgIC0gdGFrZSBpbnRvIGFjY291bnQgdGhlIGtleXdvcmQgJ2RlZmVyJywg
dGhvdWdoIHdlIGRvIG5vdCB1c2UgaXQgeWV0CisKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHU3Ry
aW5nTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdTdHJpbmdMaXN0OjpyZXNldCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdTdHJpbmdMaXN0OjpwYXJzZSk6CisgICAgICAgICoga3N2ZzIv
c3ZnL1NWR1N0cmluZ0xpc3QuaDoKKyAgICAgICAgLSBhZGQgbWV0aG9kIHBhcnNlCisgICAgICAg
IC0gdXNlIGZ1bmN0aW9ucyBmcm9tIFNWR1BhcnNlclV0aWxzIGluc3RlYWQgb2Ygc3BsaXQKKwor
ICAgICAgICAqIGtzdmcyL3N2Zy9TVkdUZXN0cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdU
ZXN0czo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAtIHJlbW92YWwgb2YgZGVwcmVj
YXRlZFN0cmluZyB1c2FnZQorCisgICAgICAgICoga3N2ZzIvc3ZnL1NWR1RyYW5zZm9ybWFibGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VUcmFuc2Zvcm1QYXJhbUxpc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHVHJhbnNmb3JtYWJsZTo6cGFyc2VUcmFuc2Zvcm1BdHRyaWJ1dGUpOgor
ICAgICAgICAtIHJld3JpdGUgcGFyc2VyIHVzaW5nIGZ1bmN0aW9ucyBmcm9tIFNWR1BhcnNlclV0
aWxzIGluc3RlYWQgb2Ygc3BsaXQKKworICAgICAgICAqIGtzdmcyL3N2Zy9zdmdwYXRocGFyc2Vy
LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBrc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5oOiBSZW1v
dmVkLgorCiAyMDA2LTEyLTIyICBOaWtvbGFzIFppbW1lcm1hbm4gIDx6aW1tZXJtYW5uQGtkZS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUm9iLgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE4MzkzKQorKysgV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE5NjIsOCAr
MTk2Miw2IEBACiAJCUE4OEFENEE5MDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYWludC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThDMEY4OEIwODk3MDFG
MzAwQkE1MTE0IC8qIFNWR1BhaW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJQTg4QUQ0QUEwOTUyNDhGMDAwMUREMTk2IC8qIFNWR1BhdGhFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4
QzBGODhDMDg5NzAxRjMwMEJBNTExNCAvKiBTVkdQYXRoRWxlbWVudC5jcHAgKi87IH07CiAJCUE4
OEFENEFCMDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThDMEY4OEQwODk3MDFGMzAwQkE1MTE0
IC8qIFNWR1BhdGhFbGVtZW50LmggKi87IH07Ci0JCUE4OEFENEFDMDk1MjQ4RjAwMDFERDE5NiAv
KiBzdmdwYXRocGFyc2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE4QzBGODhFMDg5NzAxRjMwMEJBNTExNCAvKiBzdmdwYXRocGFyc2VyLmNwcCAq
LzsgfTsKLQkJQTg4QUQ0QUQwOTUyNDhGMDAwMUREMTk2IC8qIHN2Z3BhdGhwYXJzZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QzBGODhGMDg5NzAx
RjMwMEJBNTExNCAvKiBzdmdwYXRocGFyc2VyLmggKi87IH07CiAJCUE4OEFENEFFMDk1MjQ4RjAw
MDFERDE5NiAvKiBTVkdQYXRoU2VnQXJjLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE4QzBGODkwMDg5NzAxRjMwMEJBNTExNCAvKiBTVkdQYXRoU2Vn
QXJjLmNwcCAqLzsgfTsKIAkJQTg4QUQ0QUYwOTUyNDhGMDAwMUREMTk2IC8qIFNWR1BhdGhTZWdB
cmMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QzBG
ODkxMDg5NzAxRjMwMEJBNTExNCAvKiBTVkdQYXRoU2VnQXJjLmggKi87IH07CiAJCUE4OEFENEIw
MDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXRoU2VnQ2xvc2VQYXRoLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QzBGODkyMDg5NzAxRjMwMEJBNTEx
NCAvKiBTVkdQYXRoU2VnQ2xvc2VQYXRoLmNwcCAqLzsgfTsKQEAgLTIxOTgsNiArMjE5Niw4IEBA
CiAJCUFBMjFFQ0NEMEFCRjBGQzYwMDJCODM0QyAvKiBDU1NDdXJzb3JJbWFnZVZhbHVlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTA5NzhFRTBBQkFB
NkUxMDA4NzQ0ODAgLyogQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUFBNEMzQTc2MEIyQjE2NzkwMDIzMzRBMiAv
KiBTdHlsZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQUE0QzNBNzQwQjJCMTY3OTAwMjMzNEEyIC8qIFN0eWxlRWxlbWVudC5jcHAgKi87
IH07CiAJCUFBNEMzQTc3MEIyQjE2NzkwMDIzMzRBMiAvKiBTdHlsZUVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFBNEMzQTc1MEIyQjE2Nzkw
MDIzMzRBMiAvKiBTdHlsZUVsZW1lbnQuaCAqLzsgfTsKKwkJQUE1NTI5NDQwQjNDNzA3QjAwNDhB
QjhCIC8qIFNWR1BhcnNlclV0aWxzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEFBNTUyOTQyMEIzQzcwN0IwMDQ4QUI4QiAvKiBTVkdQYXJzZXJVdGls
cy5jcHAgKi87IH07CisJCUFBNTUyOTQ1MEIzQzcwN0IwMDQ4QUI4QiAvKiBTVkdQYXJzZXJVdGls
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUE1NTI5
NDMwQjNDNzA3QjAwNDhBQjhCIC8qIFNWR1BhcnNlclV0aWxzLmggKi87IH07CiAJCUFBQzhEQUIx
MEFBMTAwMjAwMERDMDkwNyAvKiBTVkdNZXRhZGF0YUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFDOERBQUYwQUExMDAyMDAwREMwOTA3
IC8qIFNWR01ldGFkYXRhRWxlbWVudC5jcHAgKi87IH07CiAJCUFBQzhEQUIyMEFBMTAwMjAwMERD
MDkwNyAvKiBTVkdNZXRhZGF0YUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEFBQzhEQUIwMEFBMTAwMjAwMERDMDkwNyAvKiBTVkdNZXRhZGF0
YUVsZW1lbnQuaCAqLzsgfTsKIAkJQUIyM0EzMTIwOUJCQTc3NjAwNjdDQzUzIC8qIEhUTUxUZXh0
RmllbGRJbm5lckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQUIyM0EzMTAwOUJCQTc3NjAwNjdDQzUzIC8qIEhUTUxUZXh0RmllbGRJbm5l
ckVsZW1lbnQuY3BwICovOyB9OwpAQCAtNDkyMSw4ICs0OTIxLDYgQEAKIAkJQThDMEY4OEIwODk3
MDFGMzAwQkE1MTE0IC8qIFNWR1BhaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGFpbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
dGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCUE4QzBGODhDMDg5NzAxRjMwMEJBNTEx
NCAvKiBTVkdQYXRoRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhdGhFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCUE4QzBGODhEMDg5NzAx
RjMwMEJBNTExNCAvKiBTVkdQYXRoRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhdGhFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwotCQlBOEMwRjg4RTA4OTcw
MUYzMDBCQTUxMTQgLyogc3ZncGF0aHBhcnNlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IHN2Z3BhdGhwYXJzZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKLQkJQThDMEY4
OEYwODk3MDFGMzAwQkE1MTE0IC8qIHN2Z3BhdGhwYXJzZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBzdmdwYXRocGFyc2VyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlBOEMwRjg5
MDA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0aFNlZ0FyYy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhdGhTZWdBcmMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJ
QThDMEY4OTEwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhTZWdBcmMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXRoU2VnQXJjLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQlB
OEMwRjg5MjA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0aFNlZ0Nsb3NlUGF0aC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNWR1BhdGhT
ZWdDbG9zZVBhdGguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVz
ZXNUYWJzID0gMDsgfTsKQEAgLTUxNjgsNiArNTE2Niw4IEBACiAJCUFBMDk3OEVFMEFCQUE2RTEw
MDg3NDQ4MCAvKiBDU1NDdXJzb3JJbWFnZVZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDU1NDdXJzb3JJbWFnZVZhbHVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUFBNEMzQTc0MEIyQjE2NzkwMDIzMzRBMiAvKiBTdHlsZUVsZW1lbnQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlRWxlbWVudC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBNEMzQTc1MEIyQjE2NzkwMDIzMzRBMiAvKiBTdHls
ZUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlRWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQTU1Mjk0MjBCM0M3MDdCMDA0OEFC
OEIgLyogU1ZHUGFyc2VyVXRpbHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFNWR1BhcnNlclV0aWxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QUE1NTI5NDMwQjNDNzA3QjAwNDhBQjhCIC8qIFNWR1BhcnNlclV0aWxzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYXJzZXJVdGlscy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBQUM4REFBRjBBQTEwMDIwMDBEQzA5MDcgLyogU1ZHTWV0YWRhdGFFbGVt
ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdNZXRhZGF0
YUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBQUM4REFCMDBBQTEw
MDIwMDBEQzA5MDcgLyogU1ZHTWV0YWRhdGFFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTVkdNZXRhZGF0YUVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQUIyM0EzMTAwOUJCQTc3NjAwNjdDQzUzIC8qIEhUTUxUZXh0RmllbGRJbm5lckVs
ZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhUTUxUZXh0
RmllbGRJbm5lckVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODAz
Niw2ICs4MDM2LDggQEAKIAkJQThDMEY3RkMwODk3MDFGMzAwQkE1MTE0IC8qIHN2ZyAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQUE1NTI5NDIwQjNDNzA3
QjAwNDhBQjhCIC8qIFNWR1BhcnNlclV0aWxzLmNwcCAqLywKKwkJCQlBQTU1Mjk0MzBCM0M3MDdC
MDA0OEFCOEIgLyogU1ZHUGFyc2VyVXRpbHMuaCAqLywKIAkJCQlCMjA5NjRCRDBBQjc2RUY2MDBF
NEM3NDAgLyogU1ZHQW5nbGUuY3BwICovLAogCQkJCUIyMDk2NEJFMEFCNzZFRjYwMEU0Qzc0MCAv
KiBTVkdBbmdsZS5oICovLAogCQkJCUIyQ0I0MTFGMEFCNzU5MDQwMDREOUM0NSAvKiBTVkdFeHRl
cm5hbFJlc291cmNlc1JlcXVpcmVkLmlkbCAqLywKQEAgLTgyOTIsOCArODI5NCw2IEBACiAJCQkJ
QjJFOTU0OEUwQUI1RkJBMzAwNzZERTM3IC8qIFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaWRsICov
LAogCQkJCUE4QzBGODhDMDg5NzAxRjMwMEJBNTExNCAvKiBTVkdQYXRoRWxlbWVudC5jcHAgKi8s
CiAJCQkJQThDMEY4OEQwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhFbGVtZW50LmggKi8sCi0J
CQkJQThDMEY4OEUwODk3MDFGMzAwQkE1MTE0IC8qIHN2Z3BhdGhwYXJzZXIuY3BwICovLAotCQkJ
CUE4QzBGODhGMDg5NzAxRjMwMEJBNTExNCAvKiBzdmdwYXRocGFyc2VyLmggKi8sCiAJCQkJQThD
MEY4OUQwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhTZWcuaCAqLywKIAkJCQlBOEMwRjg5MDA4
OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0aFNlZ0FyYy5jcHAgKi8sCiAJCQkJQThDMEY4OTEwODk3
MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhTZWdBcmMuaCAqLywKQEAgLTk1MzIsNyArOTUzMiw2IEBA
CiAJCQkJQTg4QUQ0QTcwOTUyNDhGMDAwMUREMTk2IC8qIFNWR051bWJlckxpc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4OEFENEE5MDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYWludC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTg4QUQ0QUIwOTUyNDhGMDAwMUREMTk2IC8qIFNWR1BhdGhFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKLQkJCQlBODhBRDRBRDA5NTI0OEYwMDAxREQxOTYgLyogc3ZncGF0
aHBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg4QUQ0QUYwOTUyNDhGMDAwMUREMTk2IC8q
IFNWR1BhdGhTZWdBcmMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4OEFENEIxMDk1MjQ4RjAwMDFE
RDE5NiAvKiBTVkdQYXRoU2VnQ2xvc2VQYXRoLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODhBRDRC
MzA5NTI0OEYwMDAxREQxOTYgLyogU1ZHUGF0aFNlZ0N1cnZldG9DdWJpYy5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0xMDg1NCw2ICsxMDg1Myw3IEBACiAJCQkJRTEyRURCN0IwQjMwOEE3ODAwMjcwNEI2
IC8qIEV2ZW50VGFyZ2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBQkMxMjg3NzBCMzNBQTZEMDBD
NjkzRDUgLyogUG9wdXBNZW51Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkExMEI5MjBC
MzgxOEJEMDAwOTlBQTQgLyogSW1hZ2VCdWZmZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCUFBNTUy
OTQ1MEIzQzcwN0IwMDQ4QUI4QiAvKiBTVkdQYXJzZXJVdGlscy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBA
IC0xMTExNiw3ICsxMTExNiw2IEBACiAJCQkJQTg4QUQ0QTYwOTUyNDhGMDAwMUREMTk2IC8qIFNW
R051bWJlckxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg4QUQ0QTgwOTUyNDhGMDAwMURE
MTk2IC8qIFNWR1BhaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4OEFENEFBMDk1MjQ4RjAw
MDFERDE5NiAvKiBTVkdQYXRoRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlBODhBRDRB
QzA5NTI0OEYwMDAxREQxOTYgLyogc3ZncGF0aHBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlBODhBRDRBRTA5NTI0OEYwMDAxREQxOTYgLyogU1ZHUGF0aFNlZ0FyYy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBODhBRDRCMDA5NTI0OEYwMDAxREQxOTYgLyogU1ZHUGF0aFNlZ0Nsb3NlUGF0
aC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODhBRDRCMjA5NTI0OEYwMDAxREQxOTYgLyogU1ZH
UGF0aFNlZ0N1cnZldG9DdWJpYy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTEyMTc3LDYgKzEyMTc2
LDcgQEAKIAkJCQlCMjNCQ0NFNTBCMzgyOUM5MDA1QjI0MTUgLyogSW1hZ2VCdWZmZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQjJDOTZEOEQwQjNBRjJCNzAwNUU4MEVDIC8qIEpTU1ZHUGF0aFNl
Z0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjk3QkM3MDBCM0MxNENGMDA0NUE1OTAg
LyogSlNTVkdQYXRoU2VnTGlzdEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBQTU1Mjk0
NDBCM0M3MDdCMDA0OEFCOEIgLyogU1ZHUGFyc2VyVXRpbHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07Cklu
ZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdDb2xvci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9rc3ZnMi9zdmcvU1ZHQ29sb3IuY3BwCShyZXZpc2lvbiAxODM5MykKKysrIFdlYkNvcmUva3N2
ZzIvc3ZnL1NWR0NvbG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMsNiArMjMsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2lmZGVmIFNWR19TVVBQT1JUCiAjaW5jbHVkZSAiU1ZHQ29sb3Iu
aCIKKyNpbmNsdWRlICJTVkdQYXJzZXJVdGlscy5oIgogCiAjaW5jbHVkZSAiU1ZHRXhjZXB0aW9u
LmgiCiAKQEAgLTIyNiwyNyArMjI3LDUwIEBAIHZvaWQgU1ZHQ29sb3I6OnNldFJHQkNvbG9yKGNv
bnN0IFN0cmluZyYKIAogICAgIFN0cmluZyBwYXJzZSA9IG1fcmdiQ29sb3Iuc3RyaXBXaGl0ZVNw
YWNlKCk7CiAgICAgaWYgKHBhcnNlLnN0YXJ0c1dpdGgoInJnYigiKSkgewotICAgICAgICBWZWN0
b3I8U3RyaW5nPiBjb2xvcnMgPSBwYXJzZS5zcGxpdCgnLCcpOwotICAgICAgICBTdHJpbmcgciA9
IGNvbG9yc1swXS5yaWdodCgoY29sb3JzWzBdLmxlbmd0aCgpIC0gNCkpOwotICAgICAgICBTdHJp
bmcgZyA9IGNvbG9yc1sxXTsKLSAgICAgICAgU3RyaW5nIGIgPSBjb2xvcnNbMl0ubGVmdCgoY29s
b3JzWzJdLmxlbmd0aCgpIC0gMSkpOwotICAgIAotICAgICAgICBpZiAoci5jb250YWlucygiJSIp
KSB7Ci0gICAgICAgICAgICByID0gci5sZWZ0KHIubGVuZ3RoKCkgLSAxKTsKLSAgICAgICAgICAg
IHIgPSBTdHJpbmc6Om51bWJlcihpbnQoKCgyNTUuMCAqIHIudG9Eb3VibGUoKSkgLyAxMDAuMCkp
KTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChnLmNvbnRhaW5zKCIlIikpIHsKLSAgICAgICAg
ICAgIGcgPSBnLmxlZnQoZy5sZW5ndGgoKSAtIDEpOwotICAgICAgICAgICAgZyA9IFN0cmluZzo6
bnVtYmVyKGludCgoKDI1NS4wICogZy50b0RvdWJsZSgpKSAvIDEwMC4wKSkpOwotICAgICAgICB9
Ci0gICAgCi0gICAgICAgIGlmIChiLmNvbnRhaW5zKCIlIikpIHsKLSAgICAgICAgICAgIGIgPSBi
LmxlZnQoYi5sZW5ndGgoKSAtIDEpOwotICAgICAgICAgICAgYiA9IFN0cmluZzo6bnVtYmVyKGlu
dCgoKDI1NS4wICogYi50b0RvdWJsZSgpKSAvIDEwMC4wKSkpOwotICAgICAgICB9Ci0KLSAgICAg
ICAgbV9jb2xvciA9IENvbG9yKHIudG9JbnQoKSwgZy50b0ludCgpLCBiLnRvSW50KCkpOworICAg
ICAgICBpbnQgbm9ybWFsID0gMCwgcGVyY2VudGFnZXMgPSAwOworICAgICAgICBkb3VibGUgciA9
IC0xLCBnID0gLTEsIGIgPSAtMTsKKyAgICAgICAgY29uc3QgVUNoYXIqIHB0ciA9IHBhcnNlLmNo
YXJhY3RlcnMoKSArIDQ7CisgICAgICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBwYXJzZS5jaGFyYWN0
ZXJzKCkgKyBwYXJzZS5sZW5ndGgoKTsKKyAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0ciwg
ZW5kKTsKKyAgICAgICAgaWYgKCFwYXJzZUNvb3JkKHB0ciwgZW5kLCByKSkKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgaWYgKCpwdHIgPT0gJyUnKSB7CisgICAgICAgICAgICBwZXJjZW50
YWdlcysrOworICAgICAgICAgICAgcHRyKys7CisgICAgICAgICAgICBpZiAoIXNraXBPcHRpb25h
bFNwYWNlc09yRGVsaW1pdGVyKHB0ciwgZW5kKSkKKyAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0gZWxzZQorICAgICAgICAgICAgbm9ybWFsKys7CisKKyAgICAgICAgaWYgKCFwYXJz
ZUNvb3JkKHB0ciwgZW5kLCBnKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKCpw
dHIgPT0gJyUnKSB7CisgICAgICAgICAgICBwZXJjZW50YWdlcysrOworICAgICAgICAgICAgcHRy
Kys7CisgICAgICAgICAgICBpZiAoIXNraXBPcHRpb25hbFNwYWNlc09yRGVsaW1pdGVyKHB0ciwg
ZW5kKSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0gZWxzZQorICAgICAgICAg
ICAgbm9ybWFsKys7CisKKyAgICAgICAgaWYgKCFwYXJzZUNvb3JkKHB0ciwgZW5kLCBiKSkKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKCpwdHIgPT0gJyUnKSB7CisgICAgICAgICAg
ICBwZXJjZW50YWdlcysrOworICAgICAgICAgICAgcHRyKys7CisgICAgICAgICAgICBpZiAoIXNr
aXBPcHRpb25hbFNwYWNlc09yRGVsaW1pdGVyKHB0ciwgZW5kKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgbm9ybWFsKys7CisKKyAgICAgICAg
aWYgKCpwdHIrKyAhPSAnKScpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKHBl
cmNlbnRhZ2VzID09IDMpCisgICAgICAgICAgICBtX2NvbG9yID0gQ29sb3IoaW50KCgyNTUuMCAq
IHIpIC8gMTAwLjApLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCgoMjU1LjAgKiBn
KSAvIDEwMC4wKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQoKDI1NS4wICogYikg
LyAxMDAuMCkpOworICAgICAgICBlbHNlIGlmIChub3JtYWwgPT0gMykKKyAgICAgICAgICAgIG1f
Y29sb3IgPSBDb2xvcihpbnQociksIGludChnKSwgaW50KGIpKTsKICAgICB9IGVsc2UgewogICAg
ICAgICBTdHJpbmcgY29sb3JOYW1lID0gbV9yZ2JDb2xvci5sb3dlcigpOwogLy8gICAgICAgIGlu
dCBjb2wgPSBXZWJDb3JlOjpnZXRWYWx1ZUlEKG5hbWUuYXNjaWkoKSwgbmFtZS5sZW5ndGgoKSk7
CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAJKHJldmlzaW9uIDE4Mzkz
KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRml0VG9WaWV3Qm94LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjYsMTAgKzI2LDEwIEBACiAKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRl
ICJTVkdOYW1lcy5oIgorI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxzLmgiCiAjaW5jbHVkZSAiU1ZH
UHJlc2VydmVBc3BlY3RSYXRpby5oIgogI2luY2x1ZGUgIlNWR1NWR0VsZW1lbnQuaCIKICNpbmNs
dWRlICJTdHJpbmdJbXBsLmgiCi0jaW5jbHVkZSAic3ZncGF0aHBhcnNlci5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTQ5LDMyICs0OSwyMyBAQCBBTklNQVRFRF9QUk9QRVJUWV9ERUZJ
TklUSU9OU19XSVRIX0NPTlRFCiB2b2lkIFNWR0ZpdFRvVmlld0JveDo6cGFyc2VWaWV3Qm94KGNv
bnN0IFN0cmluZyYgc3RyKQogewogICAgIGRvdWJsZSB4ID0gMCwgeSA9IDAsIHcgPSAwLCBoID0g
MDsKLSAgICBEZXByZWNhdGVkU3RyaW5nIHZpZXdib3ggPSBzdHIuZGVwcmVjYXRlZFN0cmluZygp
OwotICAgIGNvbnN0IGNoYXIqIHAgPSB2aWV3Ym94LmxhdGluMSgpOwotICAgIGNvbnN0IGNoYXIq
IGVuZCA9IHAgKyB2aWV3Ym94Lmxlbmd0aCgpOwotICAgIGNvbnN0IGNoYXIqIGMgPSBwOwotICAg
IHAgPSBwYXJzZUNvb3JkKGMsIHgpOwotICAgIGlmIChwID09IGMpCisgICAgY29uc3QgVUNoYXIq
IGMgPSBzdHIuY2hhcmFjdGVycygpOworICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBjICsgc3RyLmxl
bmd0aCgpOworICAgIGlmICghcGFyc2VDb29yZChjLCBlbmQsIHgpKQogICAgICAgICBnb3RvIGJh
aWxfb3V0OwogCi0gICAgYyA9IHA7Ci0gICAgcCA9IHBhcnNlQ29vcmQoYywgeSk7Ci0gICAgaWYg
KHAgPT0gYykKKyAgICBpZiAoIXBhcnNlQ29vcmQoYywgZW5kLCB5KSkKICAgICAgICAgZ290byBi
YWlsX291dDsKIAotICAgIGMgPSBwOwotICAgIHAgPSBwYXJzZUNvb3JkKGMsIHcpOwotICAgIGlm
ICh3IDwgMC4wIHx8IHAgPT0gYykgLy8gY2hlY2sgdGhhdCB3aWR0aCBpcyBwb3NpdGl2ZQorICAg
IGlmICghcGFyc2VDb29yZChjLCBlbmQsIHcpIHx8IHcgPCAwLjApIC8vIGNoZWNrIHRoYXQgd2lk
dGggaXMgcG9zaXRpdmUKICAgICAgICAgZ290byBiYWlsX291dDsKIAotICAgIGMgPSBwOwotICAg
IHAgPSBwYXJzZUNvb3JkKGMsIGgpOwotICAgIGlmIChoIDwgMC4wIHx8IHAgPT0gYykgLy8gY2hl
Y2sgdGhhdCBoZWlnaHQgaXMgcG9zaXRpdmUKKyAgICBpZiAoIXBhcnNlQ29vcmQoYywgZW5kLCBo
LCBmYWxzZSkgfHwgaCA8IDAuMCkgLy8gY2hlY2sgdGhhdCBoZWlnaHQgaXMgcG9zaXRpdmUKICAg
ICAgICAgZ290byBiYWlsX291dDsKLSAgICAKLSAgICBpZiAocCA8IGVuZCkgLy8gbm90aGluZyBz
aG91bGQgY29tZSBhZnRlciB0aGUgbGFzdCwgZm91cnRoIG51bWJlcgorCisgICAgaWYgKGMgPCBl
bmQpIC8vIG5vdGhpbmcgc2hvdWxkIGNvbWUgYWZ0ZXIgdGhlIGxhc3QsIGZvdXJ0aCBudW1iZXIK
ICAgICAgICAgZ290byBiYWlsX291dDsKLSAgICAKKwogICAgIHNldFZpZXdCb3hCYXNlVmFsdWUo
RmxvYXRSZWN0KHgsIHksIHcsIGgpKTsKICAgICByZXR1cm47CiAKSW5kZXg6IFdlYkNvcmUva3N2
ZzIvc3ZnL1NWR0xlbmd0aC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZH
TGVuZ3RoLmNwcAkocmV2aXNpb24gMTgzOTMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdMZW5n
dGguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw5ICsyOSw5IEBACiAjaW5jbHVkZSAiRnJhbWVW
aWV3LmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5o
IgorI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxzLmgiCiAjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5o
IgogI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKLSNpbmNsdWRlICJzdmdwYXRocGFyc2Vy
LmgiCiAKICNpbmNsdWRlIDxtYXRoLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KQEAg
LTIzNSwxMCArMjM1LDEwIEBAIHZvaWQgU1ZHTGVuZ3RoOjpzZXRWYWx1ZUFzU3RyaW5nKGNvbnN0
IFMKICAgICAgICAgcmV0dXJuOwogCiAgICAgZG91YmxlIGNvbnZlcnRlZE51bWJlciA9IDA7Ci0g
ICAgRGVwcmVjYXRlZFN0cmluZyBkZXBTdHJpbmcgPSBzLmRlcHJlY2F0ZWRTdHJpbmcoKTsKLSAg
ICBjb25zdCBjaGFyKiBzdGFydCA9IGRlcFN0cmluZy5sYXRpbjEoKTsKLSAgICBwYXJzZUNvb3Jk
KHN0YXJ0LCBjb252ZXJ0ZWROdW1iZXIpOwotICAgIAorICAgIGNvbnN0IFVDaGFyKiBwdHIgPSBz
LmNoYXJhY3RlcnMoKTsKKyAgICBjb25zdCBVQ2hhciogZW5kID0gcHRyICsgcy5sZW5ndGgoKTsK
KyAgICBwYXJzZUNvb3JkKHB0ciwgZW5kLCBjb252ZXJ0ZWROdW1iZXIpOworCiAgICAgbV91bml0
ID0gc3RvcmVVbml0KGV4dHJhY3RNb2RlKG1fdW5pdCksIHN0cmluZ1RvTGVuZ3RoVHlwZShzKSk7
CiAgICAgbV92YWx1ZUluU3BlY2lmaWVkVW5pdHMgPSBjb252ZXJ0ZWROdW1iZXI7CiB9CkluZGV4
OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdOdW1iZXJMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2tzdmcyL3N2Zy9TVkdOdW1iZXJMaXN0LmNwcAkocmV2aXNpb24gMTgzOTMpCisrKyBXZWJD
b3JlL2tzdmcyL3N2Zy9TVkdOdW1iZXJMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiAr
MjUsNyBAQAogI2lmZGVmIFNWR19TVVBQT1JUCiAjaW5jbHVkZSAiU1ZHTnVtYmVyTGlzdC5oIgog
CisjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbHMuaCIKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50Lmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQyLDkgKzQzLDE1IEBAIHZvaWQgU1ZHTnVtYmVy
TGlzdDo6cGFyc2UoY29uc3QgU3RyaW5nJiAKIHsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsK
IAotICAgIFZlY3RvcjxTdHJpbmc+IG51bWJlcnMgPSB2YWx1ZS5zcGxpdCgnICcpOwotICAgIGZv
ciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgbnVtYmVycy5zaXplKCk7IGkrKykKLSAgICAgICAg
YXBwZW5kSXRlbShudW1iZXJzW2ldLnRvRG91YmxlKCksIGVjKTsKKyAgICBkb3VibGUgbnVtYmVy
ID0gMDsKKyAgIAorICAgIGNvbnN0IFVDaGFyKiBwdHIgPSB2YWx1ZS5jaGFyYWN0ZXJzKCk7Cisg
ICAgY29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIHZhbHVlLmxlbmd0aCgpOworICAgIHdoaWxlIChw
dHIgPCBlbmQpIHsKKyAgICAgICAgaWYgKCFwYXJzZUNvb3JkKHB0ciwgZW5kLCBudW1iZXIpKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBhcHBlbmRJdGVtKG51bWJlciwgZWMpOworICAg
IH0KIH0KIAogfQpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGFyc2VyVXRpbHMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhcnNlclV0aWxzLmNwcAkocmV2aXNp
b24gMTgzOTApCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXJzZXJVdGlscy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw3IEBACiAvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RF
IHByb2plY3QKICAgIENvcHlyaWdodCAoQykgMjAwMiwgMjAwMyBUaGUgS2FyYm9uIERldmVsb3Bl
cnMKICAgICAgICAgICAgICAgICAgMjAwNiAgICAgICBBbGV4YW5kZXIgS2VsbGV0dCA8bHlwYW5v
dkBrZGUub3JnPgorICAgICAgICAgICAgICAgICAyMDA2ICAgICAgIFJvYiBCdWlzIDxidWlzQGtk
ZS5vcmc+CiAKICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMCw0NyArMjEsMjIgQEAKIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2lmZGVmIFNWR19TVVBQT1JUCi0jaW5jbHVkZSAic3ZncGF0aHBhcnNlci5o
IgotI2luY2x1ZGUgIkRlcHJlY2F0ZWRTdHJpbmcuaCIKKyNpbmNsdWRlICJTVkdQYXJzZXJVdGls
cy5oIgorCisjaW5jbHVkZSAiU3RyaW5nLmgiCiAjaW5jbHVkZSA8bWF0aC5oPgogI2luY2x1ZGUg
PHd0Zi9NYXRoRXh0cmFzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotLy8gU1ZHIGFsbG93
cyBzZXZlcmFsIGRpZmZlcmVudCB3aGl0ZXNwYWNlIGNoYXJhY3RlcnM6Ci0vLyBodHRwOi8vd3d3
LnczLm9yZy9UUi9TVkcvcGF0aHMuaHRtbCNQYXRoRGF0YUJORgotc3RhdGljIGlubGluZSBib29s
IGlzV2hpdGVzcGFjZShjaGFyIGMpIHsKLSAgICByZXR1cm4gKGMgPT0gJyAnIHx8IGMgPT0gJ1x0
JyB8fCBjID09ICdcbicgfHwgYyA9PSAnXHInKTsKLX0KLQotLy8gQWxsIHN0cmluZ3MgYXJlIGFz
c3VtZWQgdG8gYmUgbnVsbCB0ZXJtaW5hdGVkCi1zdGF0aWMgaW5saW5lIGJvb2wgc2tpcE9wdGlv
bmFsU3BhY2VzKGNvbnN0IGNoYXIqJiBwdHIpIC8vIHRydWUgbWVhbnMgImZvdW5kIHNwYWNlIgot
ewotICAgIGlmICghaXNXaGl0ZXNwYWNlKCpwdHIpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgd2hpbGUgKGlzV2hpdGVzcGFjZSgqcHRyKSkKLSAgICAgICAgcHRyKys7Ci0gICAgcmV0dXJu
IHRydWU7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgYm9vbCBza2lwT3B0aW9uYWxTcGFjZXNPckNvbW1h
KGNvbnN0IGNoYXIqJiBwdHIpCitib29sIHBhcnNlQ29vcmQoY29uc3QgVUNoYXIqJiBwdHIsIGNv
bnN0IFVDaGFyKiBlbmQsIGRvdWJsZSAmbnVtYmVyLCBib29sIHNraXApCiB7Ci0gICAgaWYgKCFp
c1doaXRlc3BhY2UoKnB0cikgJiYgKnB0ciAhPSAnLCcpCisgICAgaWYgKGVuZCA8PSAwKQogICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0cik7Ci0gICAgaWYg
KCpwdHIgPT0gJywnKSB7Ci0gICAgICAgIHB0cisrOwotICAgICAgICBza2lwT3B0aW9uYWxTcGFj
ZXMocHRyKTsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLQotY29uc3QgY2hhciogcGFy
c2VDb29yZChjb25zdCBjaGFyKiBwdHIsIGRvdWJsZSAmbnVtYmVyKQotewogICAgIGludCBpbnRl
Z2VyLCBleHBvbmVudDsKICAgICBkb3VibGUgZGVjaW1hbCwgZnJhYzsKICAgICBpbnQgc2lnbiwg
ZXhwc2lnbjsKKyAgICBjb25zdCBVQ2hhciogc3RhcnQgPSBwdHI7CiAKICAgICBleHBvbmVudCA9
IDA7CiAgICAgaW50ZWdlciA9IDA7CkBAIC03MCwzNSArNDYsMzUgQEAgY29uc3QgY2hhciogcGFy
c2VDb29yZChjb25zdCBjaGFyKiBwdHIsIAogICAgIGV4cHNpZ24gPSAxOwogCiAgICAgLy8gcmVh
ZCB0aGUgc2lnbgotICAgIGlmICgqcHRyID09ICcrJykKKyAgICBpZiAocHRyIDwgZW5kICYmICpw
dHIgPT0gJysnKQogICAgICAgICBwdHIrKzsKLSAgICBlbHNlIGlmICgqcHRyID09ICctJykgewor
ICAgIGVsc2UgaWYgKHB0ciA8IGVuZCAmJiAqcHRyID09ICctJykgewogICAgICAgICBwdHIrKzsK
ICAgICAgICAgc2lnbiA9IC0xOwogICAgIH0KICAgICAvLyByZWFkIHRoZSBpbnRlZ2VyIHBhcnQK
LSAgICB3aGlsZSgqcHRyICE9ICdcMCcgJiYgKnB0ciA+PSAnMCcgJiYgKnB0ciA8PSAnOScpCisg
ICAgd2hpbGUocHRyIDwgZW5kICYmICpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzknKQogICAgICAg
ICBpbnRlZ2VyID0gKGludGVnZXIgKiAxMCkgKyAqKHB0cisrKSAtICcwJzsKIAotICAgIGlmICgq
cHRyID09ICcuJykgeyAvLyByZWFkIHRoZSBkZWNpbWFscworICAgIGlmIChwdHIgPCBlbmQgJiYg
KnB0ciA9PSAnLicpIHsgLy8gcmVhZCB0aGUgZGVjaW1hbHMKICAgICAgICAgcHRyKys7Ci0gICAg
ICAgIHdoaWxlKCpwdHIgIT0gJ1wwJyAmJiAqcHRyID49ICcwJyAmJiAqcHRyIDw9ICc5JykKKyAg
ICAgICAgd2hpbGUocHRyIDwgZW5kICYmICpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzknKQogICAg
ICAgICAgICAgZGVjaW1hbCArPSAoKihwdHIrKykgLSAnMCcpICogKGZyYWMgKj0gMC4xKTsKICAg
ICB9CiAKLSAgICBpZiAoKnB0ciA9PSAnZScgfHwgKnB0ciA9PSAnRScpIHsgLy8gcmVhZCB0aGUg
ZXhwb25lbnQgcGFydAorICAgIGlmIChwdHIgPCBlbmQgJiYgKnB0ciA9PSAnZScgfHwgKnB0ciA9
PSAnRScpIHsgLy8gcmVhZCB0aGUgZXhwb25lbnQgcGFydAogICAgICAgICBwdHIrKzsKIAogICAg
ICAgICAvLyByZWFkIHRoZSBzaWduIG9mIHRoZSBleHBvbmVudAotICAgICAgICBpZiAoKnB0ciA9
PSAnKycpCisgICAgICAgIGlmIChwdHIgPCBlbmQgJiYgKnB0ciA9PSAnKycpCiAgICAgICAgICAg
ICBwdHIrKzsKLSAgICAgICAgZWxzZSBpZiAoKnB0ciA9PSAnLScpIHsKKyAgICAgICAgZWxzZSBp
ZiAocHRyIDwgZW5kICYmICpwdHIgPT0gJy0nKSB7CiAgICAgICAgICAgICBwdHIrKzsKICAgICAg
ICAgICAgIGV4cHNpZ24gPSAtMTsKICAgICAgICAgfQogCiAgICAgICAgIGV4cG9uZW50ID0gMDsK
LSAgICAgICAgd2hpbGUoKnB0ciAhPSAnXDAnICYmICpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzkn
KSB7CisgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgKnB0ciA+PSAnMCcgJiYgKnB0ciA8PSAn
OScpIHsKICAgICAgICAgICAgIGV4cG9uZW50ICo9IDEwOwogICAgICAgICAgICAgZXhwb25lbnQg
Kz0gKnB0ciAtICcwJzsKICAgICAgICAgICAgIHB0cisrOwpAQCAtMTA4LDU3ICs4NCw1NSBAQCBj
b25zdCBjaGFyKiBwYXJzZUNvb3JkKGNvbnN0IGNoYXIqIHB0ciwgCiAgICAgbnVtYmVyID0gaW50
ZWdlciArIGRlY2ltYWw7CiAgICAgbnVtYmVyICo9IHNpZ24gKiBwb3coMTAuMCwgZXhwc2lnbiAq
IGV4cG9uZW50KTsKIAotICAgIHNraXBPcHRpb25hbFNwYWNlc09yQ29tbWEocHRyKTsKKyAgICBp
ZiAoc3RhcnQgPT0gcHRyKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoc2tpcCkK
KyAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzT3JEZWxpbWl0ZXIocHRyLCBlbmQpOwogCi0gICAg
cmV0dXJuIHB0cjsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBTVkdQb2x5UGFyc2VyOjpw
YXJzZVBvaW50cyhjb25zdCBEZXByZWNhdGVkU3RyaW5nJiBzKSBjb25zdAordm9pZCBTVkdQb2x5
UGFyc2VyOjpwYXJzZVBvaW50cyhjb25zdCBTdHJpbmcmIHMpIGNvbnN0CiB7CiAgICAgaWYgKHMu
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm47Ci0gICAgRGVwcmVjYXRlZFN0cmluZyBwb2ludERh
dGEgPSBzOwotICAgIGNvbnN0IGNoYXIqIGN1cnJTZWdtZW50ID0gcG9pbnREYXRhLmxhdGluMSgp
OwotICAgIGNvbnN0IGNoYXIqIGVvU3RyaW5nID0gcG9pbnREYXRhLmxhdGluMSgpICsgcG9pbnRE
YXRhLmxlbmd0aCgpOwotICAgIAotICAgIHNraXBPcHRpb25hbFNwYWNlcyhjdXJyU2VnbWVudCk7
Ci0gICAgCisgICAgY29uc3QgVUNoYXIqIGN1ciA9IHMuY2hhcmFjdGVycygpOworICAgIGNvbnN0
IFVDaGFyKiBlbmQgPSBjdXIgKyBzLmxlbmd0aCgpOworCisgICAgc2tpcE9wdGlvbmFsU3BhY2Vz
KGN1ciwgZW5kKTsKKwogICAgIGludCBzZWdtZW50TnVtID0gMDsKLSAgICB3aGlsZSAoY3VyclNl
Z21lbnQgPCBlb1N0cmluZykgewotICAgICAgICBjb25zdCBjaGFyKiBwcmV2U2VnbWVudCA9IGN1
cnJTZWdtZW50OworICAgIHdoaWxlICgxKSB7CiAgICAgICAgIGRvdWJsZSB4UG9zID0gMDsKLSAg
ICAgICAgY3VyclNlZ21lbnQgPSBwYXJzZUNvb3JkKGN1cnJTZWdtZW50LCB4UG9zKTsgCi0gICAg
ICAgIGlmIChjdXJyU2VnbWVudCA9PSBwcmV2U2VnbWVudCkKKyAgICAgICAgaWYgKCFwYXJzZUNv
b3JkKGN1ciwgZW5kLCB4UG9zKSkKICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIHByZXZT
ZWdtZW50ID0gY3VyclNlZ21lbnQ7CiAgICAgICAgIGRvdWJsZSB5UG9zID0gMDsKLSAgICAgICAg
Y3VyclNlZ21lbnQgPSBwYXJzZUNvb3JkKGN1cnJTZWdtZW50LCB5UG9zKTsKLSAgICAgICAgaWYg
KGN1cnJTZWdtZW50ID09IHByZXZTZWdtZW50KQorICAgICAgICBpZiAoIXBhcnNlQ29vcmQoY3Vy
LCBlbmQsIHlQb3MpKQogICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAKKwogICAgICAg
ICBzdmdQb2x5VG8oeFBvcywgeVBvcywgc2VnbWVudE51bSsrKTsKICAgICB9CiB9CiAKLXZvaWQg
U1ZHUGF0aFBhcnNlcjo6cGFyc2VTVkcoY29uc3QgRGVwcmVjYXRlZFN0cmluZyYgcywgYm9vbCBw
cm9jZXNzKQordm9pZCBTVkdQYXRoUGFyc2VyOjpwYXJzZVNWRyhjb25zdCBTdHJpbmcmIHMsIGJv
b2wgcHJvY2VzcykKIHsKICAgICBpZiAocy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIERlcHJlY2F0ZWRTdHJpbmcgZCA9IHM7Ci0gICAgY29uc3QgY2hhciogcHRyID0gZC5sYXRp
bjEoKTsKLSAgICBjb25zdCBjaGFyKiBlbmQgPSBkLmxhdGluMSgpICsgZC5sZW5ndGgoKSArIDE7
CisgICAgY29uc3QgVUNoYXIqIHB0ciA9IHMuY2hhcmFjdGVycygpOworICAgIGNvbnN0IFVDaGFy
KiBlbmQgPSBwdHIgKyBzLmxlbmd0aCgpOwogCiAgICAgZG91YmxlIGNvbnRybHgsIGNvbnRybHks
IGN1cngsIGN1cnksIHN1YnBhdGh4LCBzdWJwYXRoeSwgdG94LCB0b3ksIHgxLCB5MSwgeDIsIHky
LCB4YywgeWM7CiAgICAgZG91YmxlIHB4MSwgcHkxLCBweDIsIHB5MiwgcHgzLCBweTM7CiAgICAg
Ym9vbCBjbG9zZWQgPSB0cnVlOwotICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIpOyAvLyBza2lw
IGFueSBsZWFkaW5nIHNwYWNlcworICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIsIGVuZCk7IC8v
IHNraXAgYW55IGxlYWRpbmcgc3BhY2VzCiAgICAgY2hhciBjb21tYW5kID0gKihwdHIrKyksIGxh
c3RDb21tYW5kID0gJyAnOwogCiAgICAgc3VicGF0aHggPSBzdWJwYXRoeSA9IGN1cnggPSBjdXJ5
ID0gY29udHJseCA9IGNvbnRybHkgPSAwLjA7Ci0gICAgd2hpbGUocHRyIDwgZW5kKSB7Ci0gICAg
ICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIpOyAvLyBza2lwIHNwYWNlcyBiZXR3ZWVuIGNvbW1h
bmQgYW5kIGZpcnN0IGNvb3JkCisgICAgd2hpbGUgKDEpIHsKKyAgICAgICAgc2tpcE9wdGlvbmFs
U3BhY2VzKHB0ciwgZW5kKTsgLy8gc2tpcCBzcGFjZXMgYmV0d2VlbiBjb21tYW5kIGFuZCBmaXJz
dCBjb29yZAogCiAgICAgICAgIGJvb2wgcmVsYXRpdmUgPSBmYWxzZTsKIApAQCAtMTY4LDggKzE0
MiwxMCBAQCB2b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZHKGNvbnN0IERlcHJlCiAgICAgICAg
ICAgICAgICAgcmVsYXRpdmUgPSB0cnVlOwogICAgICAgICAgICAgY2FzZSAnTSc6CiAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7Ci0gICAg
ICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7CisgICAgICAgICAgICAgICAg
aWYgKCFwYXJzZUNvb3JkKHB0ciwgZW5kLCB0b3gpKQorICAgICAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgICAgICBpZiAoIXBhcnNlQ29vcmQocHRyLCBlbmQsIHRveSkpCisgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsK
ICAgICAgICAgICAgICAgICAgICAgc3VicGF0aHggPSBjdXJ4ID0gcmVsYXRpdmUgPyBjdXJ4ICsg
dG94IDogdG94OwpAQCAtMTg1LDggKzE2MSw4IEBAIHZvaWQgU1ZHUGF0aFBhcnNlcjo6cGFyc2VT
VkcoY29uc3QgRGVwcmUKICAgICAgICAgICAgICAgICByZWxhdGl2ZSA9IHRydWU7CiAgICAgICAg
ICAgICBjYXNlICdMJzoKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJz
ZUNvb3JkKHB0ciwgdG94KTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwg
dG95KTsKKyAgICAgICAgICAgICAgICBwYXJzZUNvb3JkKHB0ciwgZW5kLCB0b3gpOworICAgICAg
ICAgICAgICAgIHBhcnNlQ29vcmQocHRyLCBlbmQsIHRveSk7CiAKICAgICAgICAgICAgICAgICBp
ZiAocHJvY2VzcykgewogICAgICAgICAgICAgICAgICAgICBjdXJ4ID0gcmVsYXRpdmUgPyBjdXJ4
ICsgdG94IDogdG94OwpAQCAtMjAwLDcgKzE3Niw3IEBAIHZvaWQgU1ZHUGF0aFBhcnNlcjo6cGFy
c2VTVkcoY29uc3QgRGVwcmUKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGNhc2UgJ2gnOgog
ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3gp
OworICAgICAgICAgICAgICAgIHBhcnNlQ29vcmQocHRyLCBlbmQsIHRveCk7CiAgICAgICAgICAg
ICAgICAgaWYgKHByb2Nlc3MpIHsKICAgICAgICAgICAgICAgICAgICAgY3VyeCA9IGN1cnggKyB0
b3g7CiAgICAgICAgICAgICAgICAgICAgIHN2Z0xpbmVUbyhjdXJ4LCBjdXJ5KTsKQEAgLTIxMSw3
ICsxODcsNyBAQCB2b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZHKGNvbnN0IERlcHJlCiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICBjYXNlICdIJzoKICAgICAgICAgICAgIHsKLSAgICAgICAg
ICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG94KTsKKyAgICAgICAgICAgICAgICBwYXJz
ZUNvb3JkKHB0ciwgZW5kLCB0b3gpOwogICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzKSB7CiAg
ICAgICAgICAgICAgICAgICAgIGN1cnggPSB0b3g7CiAgICAgICAgICAgICAgICAgICAgIHN2Z0xp
bmVUbyhjdXJ4LCBjdXJ5KTsKQEAgLTIyMiw3ICsxOTgsNyBAQCB2b2lkIFNWR1BhdGhQYXJzZXI6
OnBhcnNlU1ZHKGNvbnN0IERlcHJlCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjYXNlICd2
JzoKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwg
dG95KTsKKyAgICAgICAgICAgICAgICBwYXJzZUNvb3JkKHB0ciwgZW5kLCB0b3kpOwogICAgICAg
ICAgICAgICAgIGlmIChwcm9jZXNzKSB7CiAgICAgICAgICAgICAgICAgICAgIGN1cnkgPSBjdXJ5
ICsgdG95OwogICAgICAgICAgICAgICAgICAgICBzdmdMaW5lVG8oY3VyeCwgY3VyeSk7CkBAIC0y
MzMsNyArMjA5LDcgQEAgdm9pZCBTVkdQYXRoUGFyc2VyOjpwYXJzZVNWRyhjb25zdCBEZXByZQog
ICAgICAgICAgICAgfQogICAgICAgICAgICAgY2FzZSAnVic6CiAgICAgICAgICAgICB7Ci0gICAg
ICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7CisgICAgICAgICAgICAgICAg
cGFyc2VDb29yZChwdHIsIGVuZCwgdG95KTsKICAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcykg
ewogICAgICAgICAgICAgICAgICAgICBjdXJ5ID0gdG95OwogICAgICAgICAgICAgICAgICAgICBz
dmdMaW5lVG8oY3VyeCwgY3VyeSk7CkBAIC0yNTgsMTIgKzIzNCwxMiBAQCB2b2lkIFNWR1BhdGhQ
YXJzZXI6OnBhcnNlU1ZHKGNvbnN0IERlcHJlCiAgICAgICAgICAgICAgICAgcmVsYXRpdmUgPSB0
cnVlOwogICAgICAgICAgICAgY2FzZSAnQyc6CiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHgxKTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJz
ZUNvb3JkKHB0ciwgeTEpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB4
Mik7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHkyKTsKLSAgICAgICAg
ICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG94KTsKLSAgICAgICAgICAgICAgICBwdHIg
PSBwYXJzZUNvb3JkKHB0ciwgdG95KTsKKyAgICAgICAgICAgICAgICBwYXJzZUNvb3JkKHB0ciwg
ZW5kLCB4MSk7CisgICAgICAgICAgICAgICAgcGFyc2VDb29yZChwdHIsIGVuZCwgeTEpOworICAg
ICAgICAgICAgICAgIHBhcnNlQ29vcmQocHRyLCBlbmQsIHgyKTsKKyAgICAgICAgICAgICAgICBw
YXJzZUNvb3JkKHB0ciwgZW5kLCB5Mik7CisgICAgICAgICAgICAgICAgcGFyc2VDb29yZChwdHIs
IGVuZCwgdG94KTsKKyAgICAgICAgICAgICAgICBwYXJzZUNvb3JkKHB0ciwgZW5kLCB0b3kpOwog
CiAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsKICAgICAgICAgICAgICAgICAgICAgcHgx
ID0gcmVsYXRpdmUgPyBjdXJ4ICsgeDEgOiB4MTsKQEAgLTI4OSwxMCArMjY1LDEwIEBAIHZvaWQg
U1ZHUGF0aFBhcnNlcjo6cGFyc2VTVkcoY29uc3QgRGVwcmUKICAgICAgICAgICAgICAgICByZWxh
dGl2ZSA9IHRydWU7CiAgICAgICAgICAgICBjYXNlICdTJzoKICAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgeDIpOwotICAgICAgICAgICAgICAgIHB0
ciA9IHBhcnNlQ29vcmQocHRyLCB5Mik7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29y
ZChwdHIsIHRveCk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7
CisgICAgICAgICAgICAgICAgcGFyc2VDb29yZChwdHIsIGVuZCwgeDIpOworICAgICAgICAgICAg
ICAgIHBhcnNlQ29vcmQocHRyLCBlbmQsIHkyKTsKKyAgICAgICAgICAgICAgICBwYXJzZUNvb3Jk
KHB0ciwgZW5kLCB0b3gpOworICAgICAgICAgICAgICAgIHBhcnNlQ29vcmQocHRyLCBlbmQsIHRv
eSk7CiAgICAgICAgICAgICAgICAgaWYgKCEobGFzdENvbW1hbmQgPT0gJ2MnIHx8IGxhc3RDb21t
YW5kID09ICdDJyB8fAogICAgICAgICAgICAgICAgICAgICAgbGFzdENvbW1hbmQgPT0gJ3MnIHx8
IGxhc3RDb21tYW5kID09ICdTJykpIHsKICAgICAgICAgICAgICAgICAgICAgY29udHJseCA9IGN1
cng7CkBAIC0zMjIsMTAgKzI5OCwxMCBAQCB2b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZHKGNv
bnN0IERlcHJlCiAgICAgICAgICAgICAgICAgcmVsYXRpdmUgPSB0cnVlOwogICAgICAgICAgICAg
Y2FzZSAnUSc6CiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29y
ZChwdHIsIHgxKTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgeTEpOwot
ICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3gpOwotICAgICAgICAgICAg
ICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3kpOworICAgICAgICAgICAgICAgIHBhcnNlQ29v
cmQocHRyLCBlbmQsIHgxKTsKKyAgICAgICAgICAgICAgICBwYXJzZUNvb3JkKHB0ciwgZW5kLCB5
MSk7CisgICAgICAgICAgICAgICAgcGFyc2VDb29yZChwdHIsIGVuZCwgdG94KTsKKyAgICAgICAg
ICAgICAgICBwYXJzZUNvb3JkKHB0ciwgZW5kLCB0b3kpOwogCiAgICAgICAgICAgICAgICAgaWYg
KHByb2Nlc3MpIHsKICAgICAgICAgICAgICAgICAgICAgcHgxID0gcmVsYXRpdmUgPyAoY3VyeCAr
IDIgKiAoeDEgKyBjdXJ4KSkgKiAoMS4wIC8gMy4wKSA6IChjdXJ4ICsgMiAqIHgxKSAqICgxLjAg
LyAzLjApOwpAQCAtMzUwLDggKzMyNiw4IEBAIHZvaWQgU1ZHUGF0aFBhcnNlcjo6cGFyc2VTVkco
Y29uc3QgRGVwcmUKICAgICAgICAgICAgICAgICByZWxhdGl2ZSA9IHRydWU7CiAgICAgICAgICAg
ICBjYXNlICdUJzoKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNv
b3JkKHB0ciwgdG94KTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95
KTsKKyAgICAgICAgICAgICAgICBwYXJzZUNvb3JkKHB0ciwgZW5kLCB0b3gpOworICAgICAgICAg
ICAgICAgIHBhcnNlQ29vcmQocHRyLCBlbmQsIHRveSk7CiAgICAgICAgICAgICAgICAgaWYgKCEo
bGFzdENvbW1hbmQgPT0gJ3EnIHx8IGxhc3RDb21tYW5kID09ICdRJyB8fAogICAgICAgICAgICAg
ICAgICAgICAgbGFzdENvbW1hbmQgPT0gJ3QnIHx8IGxhc3RDb21tYW5kID09ICdUJykpIHsKICAg
ICAgICAgICAgICAgICAgICAgY29udHJseCA9IGN1cng7CkBAIC0zODYsMTUgKzM2MiwxNSBAQCB2
b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZHKGNvbnN0IERlcHJlCiAgICAgICAgICAgICB7CiAg
ICAgICAgICAgICAgICAgYm9vbCBsYXJnZUFyYywgc3dlZXA7CiAgICAgICAgICAgICAgICAgZG91
YmxlIGFuZ2xlLCByeCwgcnk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIs
IHJ4KTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgcnkpOwotICAgICAg
ICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCBhbmdsZSk7Ci0gICAgICAgICAgICAgICAg
cHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7CisgICAgICAgICAgICAgICAgcGFyc2VDb29yZChw
dHIsIGVuZCwgcngpOworICAgICAgICAgICAgICAgIHBhcnNlQ29vcmQocHRyLCBlbmQsIHJ5KTsK
KyAgICAgICAgICAgICAgICBwYXJzZUNvb3JkKHB0ciwgZW5kLCBhbmdsZSk7CisgICAgICAgICAg
ICAgICAgcGFyc2VDb29yZChwdHIsIGVuZCwgdG94KTsKICAgICAgICAgICAgICAgICBsYXJnZUFy
YyA9IHRveCA9PSAxOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3gp
OworICAgICAgICAgICAgICAgIHBhcnNlQ29vcmQocHRyLCBlbmQsIHRveCk7CiAgICAgICAgICAg
ICAgICAgc3dlZXAgPSB0b3ggPT0gMTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3Jk
KHB0ciwgdG94KTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95KTsK
KyAgICAgICAgICAgICAgICBwYXJzZUNvb3JkKHB0ciwgZW5kLCB0b3gpOworICAgICAgICAgICAg
ICAgIHBhcnNlQ29vcmQocHRyLCBlbmQsIHRveSk7CiAKICAgICAgICAgICAgICAgICAvLyBTcGVj
OiByYWRpaSBhcmUgbm9ubmVnYXRpdmUgbnVtYmVycwogICAgICAgICAgICAgICAgIHJ4ID0gZmFi
cyhyeCk7CkBAIC00MTIsNiArMzg4LDkgQEAgdm9pZCBTVkdQYXRoUGFyc2VyOjpwYXJzZVNWRyhj
b25zdCBEZXByZQogICAgICAgICB9CiAgICAgICAgIGxhc3RDb21tYW5kID0gY29tbWFuZDsKIAor
ICAgICAgICBpZiAocHRyID49IGVuZCkKKyAgICAgICAgICAgIHJldHVybjsKKwogICAgICAgICBp
ZiAoKnB0ciA9PSAnKycgfHwgKnB0ciA9PSAnLScgfHwgKCpwdHIgPj0gJzAnICYmICpwdHIgPD0g
JzknKSkgewogICAgICAgICAgICAgLy8gdGhlcmUgYXJlIHN0aWxsIGNvb3JkcyBpbiB0aGlzIGNv
bW1hbmQKICAgICAgICAgICAgIGlmIChjb21tYW5kID09ICdNJykKSW5kZXg6IFdlYkNvcmUva3N2
ZzIvc3ZnL1NWR1BhcnNlclV0aWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcv
U1ZHUGFyc2VyVXRpbHMuaAkocmV2aXNpb24gMTgzOTApCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9T
VkdQYXJzZXJVdGlscy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyogVGhpcyBm
aWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CiAgICBDb3B5cmlnaHQgKEMpIDIwMDIsIDIw
MDMgVGhlIEthcmJvbiBEZXZlbG9wZXJzCisgICAgICAgICAgICAgICAgIDIwMDYgICAgICAgUm9i
IEJ1aXMgPGJ1aXNAa2RlLm9yZz4KIAogICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTE3LDI0ICsxOCw1MCBA
QAogICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCiAqLwogCi0jaWZuZGVmIF9fU1ZHUEFU
SFBBUlNFUl9IX18KLSNkZWZpbmUgX19TVkdQQVRIUEFSU0VSX0hfXworI2lmbmRlZiBTVkdQQVJT
RVJVSUxTX0gKKyNkZWZpbmUgU1ZHUEFSU0VSVUlMU19ICiAjaWZkZWYgU1ZHX1NVUFBPUlQKIAor
I2luY2x1ZGUgPFBsYXRmb3JtU3RyaW5nLmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlCiB7Ci0gICAg
Y2xhc3MgRGVwcmVjYXRlZFN0cmluZzsKKyAgICBib29sIHBhcnNlQ29vcmQoY29uc3QgVUNoYXIq
JiBwdHIsIGNvbnN0IFVDaGFyICplbmQsIGRvdWJsZSYgbnVtYmVyLCBib29sIHNraXAgPSB0cnVl
KTsKKworICAgIC8vIFNWRyBhbGxvd3Mgc2V2ZXJhbCBkaWZmZXJlbnQgd2hpdGVzcGFjZSBjaGFy
YWN0ZXJzOgorICAgIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9wYXRocy5odG1sI1BhdGhE
YXRhQk5GCisgICAgc3RhdGljIGlubGluZSBib29sIGlzV2hpdGVzcGFjZShjb25zdCBVQ2hhciYg
YykgeworICAgICAgICByZXR1cm4gKGMgPT0gJyAnIHx8IGMgPT0gJ1x0JyB8fCBjID09ICdcbicg
fHwgYyA9PSAnXHInKTsKKyAgICB9CiAKLSAgICBjb25zdCBjaGFyICpwYXJzZUNvb3JkKGNvbnN0
IGNoYXIgKnB0ciwgZG91YmxlICZudW1iZXIpOworICAgIHN0YXRpYyBpbmxpbmUgYm9vbCBza2lw
T3B0aW9uYWxTcGFjZXMoY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQpIC8vIHRy
dWUgbWVhbnMgImZvdW5kIHNwYWNlIgorICAgIHsKKyAgICAgICAgd2hpbGUgKHB0ciA8IGVuZCAm
JiBpc1doaXRlc3BhY2UoKnB0cikpCisgICAgICAgICAgICBwdHIrKzsKKyAgICAgICAgcmV0dXJu
IHB0ciA8IGVuZDsKKyAgICB9CisKKyAgICBzdGF0aWMgaW5saW5lIGJvb2wgc2tpcE9wdGlvbmFs
U3BhY2VzT3JEZWxpbWl0ZXIoY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyICplbmQsIFVD
aGFyIGRlbGltaXRlciA9ICcsJykKKyAgICB7CisgICAgICAgIGlmIChwdHIgPCBlbmQgJiYgIWlz
V2hpdGVzcGFjZSgqcHRyKSAmJiAqcHRyICE9IGRlbGltaXRlcikKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgaWYgKHNraXBPcHRpb25hbFNwYWNlcyhwdHIsIGVuZCkpIHsKKyAg
ICAgICAgICAgIGlmICgqcHRyID09IGRlbGltaXRlcikgeworICAgICAgICAgICAgICAgIHB0cisr
OworICAgICAgICAgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIsIGVuZCk7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHB0ciA8IGVuZDsKKyAgICB9CiAKICAg
ICBjbGFzcyBTVkdQb2x5UGFyc2VyCiAgICAgewogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVh
bCB+U1ZHUG9seVBhcnNlcigpIHsgfQotICAgICAgICB2b2lkIHBhcnNlUG9pbnRzKCBjb25zdCBE
ZXByZWNhdGVkU3RyaW5nICZwb2ludHMgKSBjb25zdDsKKyAgICAgICAgdm9pZCBwYXJzZVBvaW50
cyhjb25zdCBTdHJpbmcgJnBvaW50cykgY29uc3Q7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAg
IHZpcnR1YWwgdm9pZCBzdmdQb2x5VG8oIGRvdWJsZSB4MSwgZG91YmxlIHkxLCBpbnQgbnIgKSBj
b25zdCA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBzdmdQb2x5VG8oZG91YmxlIHgxLCBkb3Vi
bGUgeTEsIGludCBucikgY29uc3QgPSAwOwogICAgIH07CiAKICAgICAvKioKQEAgLTUyLDIxICs3
OSwyMSBAQCBuYW1lc3BhY2UgV2ViQ29yZQogICAgIHsKICAgICBwdWJsaWM6CiAgICAgICAgIHZp
cnR1YWwgflNWR1BhdGhQYXJzZXIoKSB7IH0KLSAgICAgICAgdm9pZCBwYXJzZVNWRyggY29uc3Qg
RGVwcmVjYXRlZFN0cmluZyAmZCwgYm9vbCBwcm9jZXNzID0gZmFsc2UgKTsKKyAgICAgICAgdm9p
ZCBwYXJzZVNWRyhjb25zdCBTdHJpbmcgJmQsIGJvb2wgcHJvY2VzcyA9IGZhbHNlKTsKIAogICAg
IHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z01vdmVUbyggZG91YmxlIHgxLCBk
b3VibGUgeTEsIGJvb2wgY2xvc2VkLCBib29sIGFicyA9IHRydWUgKSA9IDA7Ci0gICAgICAgIHZp
cnR1YWwgdm9pZCBzdmdMaW5lVG8oIGRvdWJsZSB4MSwgZG91YmxlIHkxLCBib29sIGFicyA9IHRy
dWUgKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzdmdMaW5lVG9Ib3Jpem9udGFsKCBkb3Vi
bGUgeCwgYm9vbCBhYnMgPSB0cnVlICk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzdmdMaW5lVG9W
ZXJ0aWNhbCggZG91YmxlIHksIGJvb2wgYWJzID0gdHJ1ZSApOwotICAgICAgICB2aXJ0dWFsIHZv
aWQgc3ZnQ3VydmVUb0N1YmljKCBkb3VibGUgeDEsIGRvdWJsZSB5MSwgZG91YmxlIHgyLCBkb3Vi
bGUgeTIsIGRvdWJsZSB4LCBkb3VibGUgeSwgYm9vbCBhYnMgPSB0cnVlICkgPSAwOwotICAgICAg
ICB2aXJ0dWFsIHZvaWQgc3ZnQ3VydmVUb0N1YmljU21vb3RoKCBkb3VibGUgeCwgZG91YmxlIHks
IGRvdWJsZSB4MiwgZG91YmxlIHkyLCBib29sIGFicyA9IHRydWUgKTsKLSAgICAgICAgdmlydHVh
bCB2b2lkIHN2Z0N1cnZlVG9RdWFkcmF0aWMoIGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHgx
LCBkb3VibGUgeTEsIGJvb2wgYWJzID0gdHJ1ZSApOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3Zn
Q3VydmVUb1F1YWRyYXRpY1Ntb290aCggZG91YmxlIHgsIGRvdWJsZSB5LCBib29sIGFicyA9IHRy
dWUgKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0FyY1RvKCBkb3VibGUgeCwgZG91YmxlIHks
IGRvdWJsZSByMSwgZG91YmxlIHIyLCBkb3VibGUgYW5nbGUsIGJvb2wgbGFyZ2VBcmNGbGFnLCBi
b29sIHN3ZWVwRmxhZywgYm9vbCBhYnMgPSB0cnVlICk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBz
dmdNb3ZlVG8oZG91YmxlIHgxLCBkb3VibGUgeTEsIGJvb2wgY2xvc2VkLCBib29sIGFicyA9IHRy
dWUpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0xpbmVUbyhkb3VibGUgeDEsIGRvdWJs
ZSB5MSwgYm9vbCBhYnMgPSB0cnVlKSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBzdmdMaW5l
VG9Ib3Jpem9udGFsKGRvdWJsZSB4LCBib29sIGFicyA9IHRydWUpOworICAgICAgICB2aXJ0dWFs
IHZvaWQgc3ZnTGluZVRvVmVydGljYWwoZG91YmxlIHksIGJvb2wgYWJzID0gdHJ1ZSk7CisgICAg
ICAgIHZpcnR1YWwgdm9pZCBzdmdDdXJ2ZVRvQ3ViaWMoZG91YmxlIHgxLCBkb3VibGUgeTEsIGRv
dWJsZSB4MiwgZG91YmxlIHkyLCBkb3VibGUgeCwgZG91YmxlIHksIGJvb2wgYWJzID0gdHJ1ZSkg
PSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQ3VydmVUb0N1YmljU21vb3RoKGRvdWJsZSB4
LCBkb3VibGUgeSwgZG91YmxlIHgyLCBkb3VibGUgeTIsIGJvb2wgYWJzID0gdHJ1ZSk7CisgICAg
ICAgIHZpcnR1YWwgdm9pZCBzdmdDdXJ2ZVRvUXVhZHJhdGljKGRvdWJsZSB4LCBkb3VibGUgeSwg
ZG91YmxlIHgxLCBkb3VibGUgeTEsIGJvb2wgYWJzID0gdHJ1ZSk7CisgICAgICAgIHZpcnR1YWwg
dm9pZCBzdmdDdXJ2ZVRvUXVhZHJhdGljU21vb3RoKGRvdWJsZSB4LCBkb3VibGUgeSwgYm9vbCBh
YnMgPSB0cnVlKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0FyY1RvKGRvdWJsZSB4LCBkb3Vi
bGUgeSwgZG91YmxlIHIxLCBkb3VibGUgcjIsIGRvdWJsZSBhbmdsZSwgYm9vbCBsYXJnZUFyY0Zs
YWcsIGJvb2wgc3dlZXBGbGFnLCBib29sIGFicyA9IHRydWUpOwogICAgICAgICB2aXJ0dWFsIHZv
aWQgc3ZnQ2xvc2VQYXRoKCkgPSAwOwogICAgIHByaXZhdGU6Ci0gICAgICAgIHZvaWQgY2FsY3Vs
YXRlQXJjKCBib29sIHJlbGF0aXZlLCBkb3VibGUgJmN1cngsIGRvdWJsZSAmY3VyeSwgZG91Ymxl
IGFuZ2xlLCBkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSByMSwgZG91YmxlIHIyLCBib29sIGxh
cmdlQXJjRmxhZywgYm9vbCBzd2VlcEZsYWcgKTsKKyAgICAgICAgdm9pZCBjYWxjdWxhdGVBcmMo
Ym9vbCByZWxhdGl2ZSwgZG91YmxlICZjdXJ4LCBkb3VibGUgJmN1cnksIGRvdWJsZSBhbmdsZSwg
ZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgcjEsIGRvdWJsZSByMiwgYm9vbCBsYXJnZUFyY0Zs
YWcsIGJvb2wgc3dlZXBGbGFnKTsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxODM5MykKKysr
IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzU1LDcgKzM1NSw3IEBAIHZvaWQgU1ZHUGF0aEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXQK
ICAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpkQXR0cikgewogICAgICAgICBFeGNl
cHRpb25Db2RlIGVjOwogICAgICAgICBwYXRoU2VnTGlzdCgpLT5jbGVhcihlYyk7Ci0gICAgICAg
IHBhcnNlU1ZHKGF0dHItPnZhbHVlKCkuZGVwcmVjYXRlZFN0cmluZygpLCB0cnVlKTsKKyAgICAg
ICAgcGFyc2VTVkcoYXR0ci0+dmFsdWUoKSwgdHJ1ZSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAg
aWYgKFNWR1Rlc3RzOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkgcmV0dXJuOwogICAgICAg
ICBpZiAoU1ZHTGFuZ1NwYWNlOjpwYXJzZU1hcHBlZEF0dHJpYnV0ZShhdHRyKSkgcmV0dXJuOwpJ
bmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXRoRWxlbWVudC5oCShyZXZpc2lvbiAxODM5MykKKysrIFdl
YkNvcmUva3N2ZzIvc3ZnL1NWR1BhdGhFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDkg
KzI4LDkgQEAKICNpbmNsdWRlICJTVkdBbmltYXRlZFBhdGhEYXRhLmgiCiAjaW5jbHVkZSAiU1ZH
RXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFjZS5oIgor
I2luY2x1ZGUgIlNWR1BhcnNlclV0aWxzLmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkVHJhbnNmb3Jt
YWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUZXN0cy5oIgotI2luY2x1ZGUgInN2Z3BhdGhw
YXJzZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUKIHsKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3Zn
L1NWR1BvbHlFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQ
b2x5RWxlbWVudC5jcHAJKHJldmlzaW9uIDE4MzkzKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZH
UG9seUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Miw3ICs2Miw3IEBAIHZvaWQgU1ZH
UG9seUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXQKICAgICBpZiAoYXR0ci0+bmFtZSgpID09
IFNWR05hbWVzOjpwb2ludHNBdHRyKSB7CiAgICAgICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwog
ICAgICAgICBwb2ludHMoKS0+Y2xlYXIoZWMpOwotICAgICAgICBwYXJzZVBvaW50cyhhdHRyLT52
YWx1ZSgpLmRlcHJlY2F0ZWRTdHJpbmcoKSk7CisgICAgICAgIHBhcnNlUG9pbnRzKGF0dHItPnZh
bHVlKCkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmIChTVkdUZXN0czo6cGFyc2VNYXBwZWRB
dHRyaWJ1dGUoYXR0cikpIHJldHVybjsKICAgICAgICAgaWYgKFNWR0xhbmdTcGFjZTo6cGFyc2VN
YXBwZWRBdHRyaWJ1dGUoYXR0cikpIHJldHVybjsKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NW
R1BvbHlFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUG9seUVs
ZW1lbnQuaAkocmV2aXNpb24gMTgzOTMpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQb2x5RWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw5ICsyNyw5IEBACiAjaW5jbHVkZSAiU1ZHQW5p
bWF0ZWRQb2ludHMuaCIKICNpbmNsdWRlICJTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmgi
CiAjaW5jbHVkZSAiU1ZHTGFuZ1NwYWNlLmgiCisjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbHMuaCIK
ICNpbmNsdWRlICJTVkdTdHlsZWRUcmFuc2Zvcm1hYmxlRWxlbWVudC5oIgogI2luY2x1ZGUgIlNW
R1Rlc3RzLmgiCi0jaW5jbHVkZSAic3ZncGF0aHBhcnNlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZQogewpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUHJlc2VydmVBc3BlY3RSYXRpby5j
cHAJKHJldmlzaW9uIDE4MzkzKQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpby5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDcgQEAKICNpZmRlZiBTVkdf
U1VQUE9SVAogI2luY2x1ZGUgIlNWR1ByZXNlcnZlQXNwZWN0UmF0aW8uaCIKIAorI2luY2x1ZGUg
IlNWR1BhcnNlclV0aWxzLmgiCiAjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC02MywzOSArNjQsMTA5IEBAIHVuc2lnbmVkIHNob3J0IFNWR1ByZXNl
cnZlQXNwZWN0UmF0aW86Om0KIHZvaWQgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbzo6cGFyc2VQcmVz
ZXJ2ZUFzcGVjdFJhdGlvKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogewogICAgIC8vIFNwZWM6IHNl
dCB0aGUgZGVmYXVsdHMKLSAgICBzZXRBbGlnbihTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19OT05F
KTsKLSAgICBzZXRNZWV0T3JTbGljZShTVkdfTUVFVE9SU0xJQ0VfTUVFVCk7Ci0gICAgCi0gICAg
VmVjdG9yPFN0cmluZz4gcGFyYW1zID0gc3RyaW5nLnNpbXBsaWZ5V2hpdGVTcGFjZSgpLnNwbGl0
KCcgJyk7CisgICAgU1ZHUHJlc2VydmVBc3BlY3RSYXRpb1R5cGUgYWxpZ24gPSBTVkdfUFJFU0VS
VkVBU1BFQ1RSQVRJT19OT05FOworICAgIFNWR01lZXRPclNsaWNlVHlwZSBtZWV0T3JTbGljZSA9
IFNWR19NRUVUT1JTTElDRV9NRUVUOwogCi0gICAgaWYgKHBhcmFtc1swXSA9PSAibm9uZSIpCi0g
ICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19OT05FOwotICAgIGVsc2Ug
aWYgKHBhcmFtc1swXSA9PSAieE1pbllNaW4iKQotICAgICAgICBtX2FsaWduID0gU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1JTllNSU47Ci0gICAgZWxzZSBpZiAocGFyYW1zWzBdID09ICJ4TWlk
WU1pbiIpCi0gICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1J
TjsKLSAgICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNYXhZTWluIikKLSAgICAgICAgbV9hbGln
biA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlOOwotICAgIGVsc2UgaWYgKHBhcmFt
c1swXSA9PSAieE1pbllNaWQiKQotICAgICAgICBtX2FsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNU
UkFUSU9fWE1JTllNSUQ7Ci0gICAgZWxzZSBpZiAocGFyYW1zWzBdID09ICJ4TWlkWU1pZCIpCi0g
ICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1JRDsKLSAgICBl
bHNlIGlmIChwYXJhbXNbMF0gPT0gInhNYXhZTWlkIikKLSAgICAgICAgbV9hbGlnbiA9IFNWR19Q
UkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUlEOwotICAgIGVsc2UgaWYgKHBhcmFtc1swXSA9PSAi
eE1pbllNYXgiKQotICAgICAgICBtX2FsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1J
TllNQVg7Ci0gICAgZWxzZSBpZiAocGFyYW1zWzBdID09ICJ4TWlkWU1heCIpCi0gICAgICAgIG1f
YWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlEWU1BWDsKLSAgICBlbHNlIGlmIChw
YXJhbXNbMF0gPT0gInhNYXhZTWF4IikKLSAgICAgICAgbV9hbGlnbiA9IFNWR19QUkVTRVJWRUFT
UEVDVFJBVElPX1hNQVhZTUFYOwotCi0gICAgaWYgKG1fYWxpZ24gIT0gU1ZHX1BSRVNFUlZFQVNQ
RUNUUkFUSU9fTk9ORSkgewotICAgICAgICBpZiAoKHBhcmFtcy5zaXplKCkgPiAxKSAmJiAocGFy
YW1zWzFdID09ICJzbGljZSIpKQotICAgICAgICAgICAgbV9tZWV0T3JTbGljZSA9IFNWR19NRUVU
T1JTTElDRV9TTElDRTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9tZWV0T3JTbGljZSA9
IFNWR19NRUVUT1JTTElDRV9NRUVUOworICAgIGNvbnN0IFVDaGFyKiBjdXJyUGFyYW0gPSBzdHJp
bmcuY2hhcmFjdGVycygpOworICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBjdXJyUGFyYW0gKyBzdHJp
bmcubGVuZ3RoKCk7CisKKyAgICBpZiAoIXNraXBPcHRpb25hbFNwYWNlcyhjdXJyUGFyYW0sIGVu
ZCkpCisgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisKKyAgICBpZiAoKmN1cnJQYXJhbSA9PSAnZCcp
IHsKKyAgICAgICAgaWYgKCEoKGVuZCAtIGN1cnJQYXJhbSkgPiA0KSAmJgorICAgICAgICAgICAg
ICBjdXJyUGFyYW1bMV0gPT0gJ2UnICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVsyXSA9PSAn
ZicgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFtWzNdID09ICdlJyAmJgorICAgICAgICAgICAg
ICBjdXJyUGFyYW1bNF0gPT0gJ3InKQorICAgICAgICAgICAgZ290byBiYWlsX291dDsKKyAgICAg
ICAgY3VyclBhcmFtICs9IDU7CisgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhjdXJyUGFyYW0s
IGVuZCk7CisgICAgfQorCisgICAgaWYgKCpjdXJyUGFyYW0gPT0gJ24nKSB7CisgICAgICAgIGlm
ICghKChlbmQgLSBjdXJyUGFyYW0pID4gMykgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFtWzFd
ID09ICdvJyAmJgorICAgICAgICAgICAgICBjdXJyUGFyYW1bMl0gPT0gJ24nICYmCisgICAgICAg
ICAgICAgIGN1cnJQYXJhbVszXSA9PSAnZScpCisgICAgICAgICAgICBnb3RvIGJhaWxfb3V0Owor
ICAgICAgICBjdXJyUGFyYW0gKz0gNDsKKyAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJQ
YXJhbSwgZW5kKTsKKyAgICAgICAgYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19OT05F
OworICAgIH0gZWxzZSBpZiAoKmN1cnJQYXJhbSA9PSAneCcpIHsKKyAgICAgICAgaWYgKChlbmQg
LSBjdXJyUGFyYW0pIDwgOCkKKyAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgIGlm
IChjdXJyUGFyYW1bMV0gIT0gJ00nIHx8IGN1cnJQYXJhbVs0XSAhPSAnWScgfHwgY3VyclBhcmFt
WzVdICE9ICdNJykKKyAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgIGlmIChjdXJy
UGFyYW1bMl0gPT0gJ2knICYmIGN1cnJQYXJhbVszXSA9PSAnbicpIHsKKyAgICAgICAgICAgIGlm
IChjdXJyUGFyYW1bNl0gPT0gJ2knICYmIGN1cnJQYXJhbVs3XSA9PSAnbicpCisgICAgICAgICAg
ICAgICAgYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JTjsKKyAgICAgICAg
ICAgIGVsc2UgaWYgKGN1cnJQYXJhbVs2XSA9PSAnaScgJiYgY3VyclBhcmFtWzddID09ICdkJykK
KyAgICAgICAgICAgICAgICBhbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlE
OworICAgICAgICAgICAgZWxzZSBpZiAoY3VyclBhcmFtWzZdID09ICdhJyAmJiBjdXJyUGFyYW1b
N10gPT0gJ3gnKQorICAgICAgICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFU
SU9fWE1JTllNQVg7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgZ290byBiYWls
X291dDsKKyAgICAgICAgfSBlbHNlIGlmIChjdXJyUGFyYW1bMl0gPT0gJ2knICYmIGN1cnJQYXJh
bVszXSA9PSAnZCcpIHsKKyAgICAgICAgICAgIGlmIChjdXJyUGFyYW1bNl0gPT0gJ2knICYmIGN1
cnJQYXJhbVs3XSA9PSAnbicpCisgICAgICAgICAgICAgICAgYWxpZ24gPSBTVkdfUFJFU0VSVkVB
U1BFQ1RSQVRJT19YTUlEWU1JTjsKKyAgICAgICAgICAgIGVsc2UgaWYgKGN1cnJQYXJhbVs2XSA9
PSAnaScgJiYgY3VyclBhcmFtWzddID09ICdkJykKKyAgICAgICAgICAgICAgICBhbGlnbiA9IFNW
R19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSURZTUlEOworICAgICAgICAgICAgZWxzZSBpZiAoY3Vy
clBhcmFtWzZdID09ICdhJyAmJiBjdXJyUGFyYW1bN10gPT0gJ3gnKQorICAgICAgICAgICAgICAg
IGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNQVg7CisgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgfSBlbHNlIGlmIChj
dXJyUGFyYW1bMl0gPT0gJ2EnICYmIGN1cnJQYXJhbVszXSA9PSAneCcpIHsKKyAgICAgICAgICAg
IGlmIChjdXJyUGFyYW1bNl0gPT0gJ2knICYmIGN1cnJQYXJhbVs3XSA9PSAnbicpCisgICAgICAg
ICAgICAgICAgYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1JTjsKKyAgICAg
ICAgICAgIGVsc2UgaWYgKGN1cnJQYXJhbVs2XSA9PSAnaScgJiYgY3VyclBhcmFtWzddID09ICdk
JykKKyAgICAgICAgICAgICAgICBhbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZ
TUlEOworICAgICAgICAgICAgZWxzZSBpZiAoY3VyclBhcmFtWzZdID09ICdhJyAmJiBjdXJyUGFy
YW1bN10gPT0gJ3gnKQorICAgICAgICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNU
UkFUSU9fWE1BWFlNQVg7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgZ290byBi
YWlsX291dDsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworICAg
ICAgICBjdXJyUGFyYW0gKz0gODsKKyAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJQYXJh
bSwgZW5kKTsKKyAgICB9CisKKyAgICBpZiAoKmN1cnJQYXJhbSA9PSAnbScpIHsKKyAgICAgICAg
aWYgKCEoKGVuZCAtIGN1cnJQYXJhbSkgPiAzKSAmJgorICAgICAgICAgICAgICBjdXJyUGFyYW1b
MV0gPT0gJ2UnICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVsyXSA9PSAnZScgJiYKKyAgICAg
ICAgICAgICAgY3VyclBhcmFtWzNdID09ICd0JykKKyAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7
CisgICAgICAgIGN1cnJQYXJhbSArPSA0OworICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3Vy
clBhcmFtLCBlbmQpOworICAgICAgICBtZWV0T3JTbGljZSA9IFNWR19NRUVUT1JTTElDRV9NRUVU
OworICAgIH0gZWxzZSBpZiAoKmN1cnJQYXJhbSA9PSAncycpIHsKKyAgICAgICAgaWYgKCEoKGVu
ZCAtIGN1cnJQYXJhbSkgPiA0KSAmJgorICAgICAgICAgICAgICBjdXJyUGFyYW1bMV0gPT0gJ2wn
ICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVsyXSA9PSAnaScgJiYKKyAgICAgICAgICAgICAg
Y3VyclBhcmFtWzNdID09ICdjJyAmJgorICAgICAgICAgICAgICBjdXJyUGFyYW1bNF0gPT0gJ2Un
KQorICAgICAgICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgY3VyclBhcmFtICs9IDU7Cisg
ICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhjdXJyUGFyYW0sIGVuZCk7CisgICAgICAgIGlmICht
X2FsaWduICE9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX05PTkUpCisgICAgICAgICAgICBtZWV0
T3JTbGljZSA9IFNWR19NRUVUT1JTTElDRV9TTElDRTsgICAgCiAgICAgfQogCisgICAgaWYgKGVu
ZCAhPSBjdXJyUGFyYW0pCisgICAgICAgIGdvdG8gYmFpbF9vdXQ7IC8vIEZJWE1FOiBtYXkgbmVl
ZCB0byBwcmludCBhbiBlcnJvciBoZXJlCisKKyAgICBzZXRBbGlnbihhbGlnbik7CisgICAgc2V0
TWVldE9yU2xpY2UobWVldE9yU2xpY2UpOworCisgICAgaWYgKG1fY29udGV4dCkKKyAgICAgICAg
bV9jb250ZXh0LT5ub3RpZnlBdHRyaWJ1dGVDaGFuZ2UoKTsKKyAgICByZXR1cm47CisKK2JhaWxf
b3V0OgorICAgIHNldEFsaWduKFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX05PTkUpOworICAgIHNl
dE1lZXRPclNsaWNlKFNWR19NRUVUT1JTTElDRV9NRUVUKTsKKwogICAgIGlmIChtX2NvbnRleHQp
CiAgICAgICAgIG1fY29udGV4dC0+bm90aWZ5QXR0cmlidXRlQ2hhbmdlKCk7CiB9CkluZGV4OiBX
ZWJDb3JlL2tzdmcyL3N2Zy9TVkdTdHJpbmdMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdTdHJpbmdMaXN0LmNwcAkocmV2aXNpb24gMTgzOTMpCisrKyBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdTdHJpbmdMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQsNiArMjQs
OCBAQAogI2lmZGVmIFNWR19TVVBQT1JUCiAjaW5jbHVkZSAiU1ZHU3RyaW5nTGlzdC5oIgogCisj
aW5jbHVkZSAiU1ZHUGFyc2VyVXRpbHMuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBTVkdT
dHJpbmdMaXN0OjpTVkdTdHJpbmdMaXN0KCkKQEAgLTM5LDE2ICs0MSwzMCBAQCB2b2lkIFNWR1N0
cmluZ0xpc3Q6OnJlc2V0KGNvbnN0IFN0cmluZyYgCiB7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7CiAKLSAgICBWZWN0b3I8U3RyaW5nPiB2ZWN0b3IgPSBzdHIuc3BsaXQoJyAnKTsKLSAgICBp
ZiAodmVjdG9yLnNpemUoKSA9PSAwKSB7CisgICAgcGFyc2Uoc3RyLCAnICcpOworICAgIGlmIChu
dW1iZXJPZkl0ZW1zKCkgPT0gMCkKICAgICAgICAgYXBwZW5kSXRlbShTdHJpbmcoIiIpLCBlYyk7
IC8vIENyZWF0ZSBlbXB0eSBzdHJpbmcuLi4KLSAgICB9IGVsc2UgewotICAgICAgICBWZWN0b3I8
U3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gdmVjdG9yLmVuZCgpOwotICAgICAgICBmb3Ig
KFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9IHZlY3Rvci5iZWdpbigpOyBpdCAh
PSBlbmQ7ICsraXQpCi0gICAgICAgICAgICBhcHBlbmRJdGVtKCppdCwgZWMpOwotICAgIH0KIH0K
IAordm9pZCBTVkdTdHJpbmdMaXN0OjpwYXJzZShjb25zdCBTdHJpbmcmIGRhdGEsIFVDaGFyIGRl
bGltaXRlcikKK3sKKyAgICAvLyBUT0RPIDogbW9yZSBlcnJvciBjaGVja2luZy9yZXBvcnRpbmcK
KyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBjbGVhcihlYyk7CisKKyAgICBjb25zdCBV
Q2hhciogcHRyID0gZGF0YS5jaGFyYWN0ZXJzKCk7CisgICAgY29uc3QgVUNoYXIqIGVuZCA9IHB0
ciArIGRhdGEubGVuZ3RoKCk7CisgICAgd2hpbGUgKHB0ciA8IGVuZCkgeworICAgICAgICBjb25z
dCBVQ2hhciogc3RhcnQgPSBwdHI7CisgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgKnB0ciAh
PSBkZWxpbWl0ZXIgJiYgIWlzV2hpdGVzcGFjZSgqcHRyKSkKKyAgICAgICAgICAgIHB0cisrOwor
ICAgICAgICBpZiAocHRyID4gc3RhcnQpCisgICAgICAgICAgICBhcHBlbmRJdGVtKFN0cmluZyhz
dGFydCwgcHRyIC0gc3RhcnQpLCBlYyk7CisgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgKnB0
ciA9PSBkZWxpbWl0ZXIgfHwgaXNXaGl0ZXNwYWNlKCpwdHIpKQorICAgICAgICAgICAgcHRyKys7
CisgICAgIH0KKyB9CisKIH0KIAogI2VuZGlmIC8vIFNWR19TVVBQT1JUCkluZGV4OiBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdTdHJpbmdMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9z
dmcvU1ZHU3RyaW5nTGlzdC5oCShyZXZpc2lvbiAxODM5MykKKysrIFdlYkNvcmUva3N2ZzIvc3Zn
L1NWR1N0cmluZ0xpc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIAogICAgICAgICAvLyBJbnRlcm5hbAogICAgICAgICB2b2lk
IHJlc2V0KGNvbnN0IFN0cmluZyYgc3RyKTsKKworICAgICAgICB2b2lkIHBhcnNlKGNvbnN0IFN0
cmluZyYgZGF0YSwgVUNoYXIgZGVsaW1pdGVyID0gJywnKTsKICAgICB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUZXN0cy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHVGVzdHMuY3BwCShyZXZpc2lvbiAxODM5MykK
KysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1Rlc3RzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYs
MTMgKzk2LDEzIEBAIGJvb2wgU1ZHVGVzdHM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKE1hcHAKIHsK
ICAgICBjb25zdCBTdHJpbmcmIHZhbHVlID0gYXR0ci0+dmFsdWUoKTsKICAgICBpZiAoYXR0ci0+
bmFtZSgpID09IFNWR05hbWVzOjpyZXF1aXJlZEZlYXR1cmVzQXR0cikgewotICAgICAgICByZXF1
aXJlZEZlYXR1cmVzKCktPnJlc2V0KHZhbHVlLmRlcHJlY2F0ZWRTdHJpbmcoKSk7CisgICAgICAg
IHJlcXVpcmVkRmVhdHVyZXMoKS0+cmVzZXQodmFsdWUpOwogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6cmVxdWlyZWRFeHRlbnNp
b25zQXR0cikgewotICAgICAgICByZXF1aXJlZEV4dGVuc2lvbnMoKS0+cmVzZXQodmFsdWUuZGVw
cmVjYXRlZFN0cmluZygpKTsKKyAgICAgICAgcmVxdWlyZWRFeHRlbnNpb25zKCktPnJlc2V0KHZh
bHVlKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkg
PT0gU1ZHTmFtZXM6OnN5c3RlbUxhbmd1YWdlQXR0cikgewotICAgICAgICBzeXN0ZW1MYW5ndWFn
ZSgpLT5yZXNldCh2YWx1ZS5kZXByZWNhdGVkU3RyaW5nKCkpOworICAgICAgICBzeXN0ZW1MYW5n
dWFnZSgpLT5yZXNldCh2YWx1ZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICAK
SW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1RyYW5zZm9ybWFibGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1RyYW5zZm9ybWFibGUuY3BwCShyZXZpc2lvbiAxODM5
MykKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1RyYW5zZm9ybWFibGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiUmVndWxhckV4cHJlc3Npb24uaCIKICNp
bmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgorI2luY2x1
ZGUgIlNWR1BhcnNlclV0aWxzLmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIlNWR1RyYW5zZm9ybUxpc3QuaCIKIApAQCAtNTIsODAgKzUzLDE1NCBAQCBBZmZpbmVU
cmFuc2Zvcm0gU1ZHVHJhbnNmb3JtYWJsZTo6Z2V0U2NyCiAgICAgcmV0dXJuIGxvY2FsTWF0cml4
KCkgKiBjdG07CiB9CiAKLWJvb2wgU1ZHVHJhbnNmb3JtYWJsZTo6cGFyc2VUcmFuc2Zvcm1BdHRy
aWJ1dGUoU1ZHVHJhbnNmb3JtTGlzdCogbGlzdCwgY29uc3QgQXRvbWljU3RyaW5nJiB0cmFuc2Zv
cm0pCitpbnQgcGFyc2VUcmFuc2Zvcm1QYXJhbUxpc3QoY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0
IFVDaGFyKiBlbmQsIGRvdWJsZSogeCwgaW50IHJlcXVpcmVkLCBpbnQgb3B0aW9uYWwpCiB7Ci0g
ICAgLy8gU3BsaXQgc3RyaW5nIGZvciBoYW5kbGluZyAxIHRyYW5zZm9ybSBzdGF0ZW1lbnQgYXQg
YSB0aW1lCi0gICAgVmVjdG9yPFN0cmluZz4gc3VidHJhbnNmb3JtcyA9IHRyYW5zZm9ybS5kb21T
dHJpbmcoKS5zaW1wbGlmeVdoaXRlU3BhY2UoKS5zcGxpdCgnKScpOwotICAgIFZlY3RvcjxTdHJp
bmc+Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBzdWJ0cmFuc2Zvcm1zLmVuZCgpOwotICAgIGZvciAo
VmVjdG9yPFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gc3VidHJhbnNmb3Jtcy5iZWdpbigp
OyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgVmVjdG9yPFN0cmluZz4gc3VidHJhbnNmb3Jt
ID0gKCppdCkuc3BsaXQoJygnKTsKLQotICAgICAgICBpZiAoc3VidHJhbnNmb3JtLnNpemUoKSA8
IDIpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIGludmFsaWQgdHJhbnNmb3JtLCBpZ25v
cmUuCi0KLSAgICAgICAgc3VidHJhbnNmb3JtWzBdID0gc3VidHJhbnNmb3JtWzBdLnN0cmlwV2hp
dGVTcGFjZSgpLmxvd2VyKCk7Ci0gICAgICAgIHN1YnRyYW5zZm9ybVsxXSA9IHN1YnRyYW5zZm9y
bVsxXS5zaW1wbGlmeVdoaXRlU3BhY2UoKTsKLSAgICAgICAgUmVndWxhckV4cHJlc3Npb24gcmVn
KCIoWy1dP1xcZCpcXC4/XFxkKyg/OmVbLV0/XFxkKyk/KSIpOwotCi0gICAgICAgIGludCBwb3Mg
PSAwOwotICAgICAgICBWZWN0b3I8U3RyaW5nPiBwYXJhbXM7Ci0KLSAgICAgICAgd2hpbGUgKHBv
cyA+PSAwKSB7Ci0gICAgICAgICAgICBwb3MgPSByZWcuc2VhcmNoKHN1YnRyYW5zZm9ybVsxXS5k
ZXByZWNhdGVkU3RyaW5nKCksIHBvcyk7Ci0gICAgICAgICAgICBpZiAocG9zICE9IC0xKSB7Ci0g
ICAgICAgICAgICAgICAgcGFyYW1zLmFwcGVuZChyZWcuY2FwKDEpKTsKLSAgICAgICAgICAgICAg
ICBwb3MgKz0gcmVnLm1hdGNoZWRMZW5ndGgoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQot
ICAgICAgICBpbnQgbnBhcmFtcyA9IHBhcmFtcy5zaXplKCk7CisgICAgaW50IG9wdGlvbmFsUGFy
YW1zID0gMCwgcmVxdWlyZWRQYXJhbXMgPSAwOworICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIs
IGVuZCk7CisgICAgaWYgKCpwdHIgIT0gJygnKQorICAgICAgICByZXR1cm4gLTE7CisgICAgcHRy
Kys7CisgICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0ciwgZW5kKTsKKworICAgIHdoaWxlIChyZXF1
aXJlZFBhcmFtcyA8IHJlcXVpcmVkKSB7CisgICAgICAgIGlmICghcGFyc2VDb29yZChwdHIsIGVu
ZCwgeFtyZXF1aXJlZFBhcmFtc10pKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBy
ZXF1aXJlZFBhcmFtcysrOworICAgICAgICBpZiAocmVxdWlyZWRQYXJhbXMgPCByZXF1aXJlZCkK
KyAgICAgICAgICAgIHNraXBPcHRpb25hbFNwYWNlc09yRGVsaW1pdGVyKHB0ciwgZW5kKTsKKyAg
ICB9CisgICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0ciwgZW5kKTsKKworICAgIGlmICgqcHRyID09
ICcpJykgLy8gc2tpcCBvcHRpb25hbHMKKyAgICAgICAgcHRyKys7CisgICAgZWxzZSB7CisgICAg
ICAgICB3aGlsZSAob3B0aW9uYWxQYXJhbXMgPCBvcHRpb25hbCkgeworICAgICAgICAgICAgaWYg
KCFwYXJzZUNvb3JkKHB0ciwgZW5kLCB4W3JlcXVpcmVkUGFyYW1zICsgb3B0aW9uYWxQYXJhbXNd
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBvcHRpb25hbFBhcmFt
cysrOworICAgICAgICAgICAgaWYgKG9wdGlvbmFsUGFyYW1zIDwgb3B0aW9uYWwpCisgICAgICAg
ICAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzT3JEZWxpbWl0ZXIocHRyLCBlbmQpOworICAgICAg
ICAgfQorICAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0ciwgZW5kKTsKKworICAgICAgICBp
ZiAoKnB0ciAhPSAnKScpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHB0cisrOwor
ICAgIH0KIAotICAgICAgICBpZiAobnBhcmFtcyA8IDEpCi0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7IC8vIGludmFsaWQgdHJhbnNmb3JtLCBpZ25vcmUuCisgICAgcmV0dXJuIHJlcXVpcmVkUGFy
YW1zICsgb3B0aW9uYWxQYXJhbXM7Cit9CiAKLSAgICAgICAgaWYgKHN1YnRyYW5zZm9ybVswXS5z
dGFydHNXaXRoKCI7IikgfHwgc3VidHJhbnNmb3JtWzBdLnN0YXJ0c1dpdGgoIiwiKSkKLSAgICAg
ICAgICAgIHN1YnRyYW5zZm9ybVswXSA9IHN1YnRyYW5zZm9ybVswXS5zdWJzdHJpbmcoMSkuc3Ry
aXBXaGl0ZVNwYWNlKCk7Citib29sIFNWR1RyYW5zZm9ybWFibGU6OnBhcnNlVHJhbnNmb3JtQXR0
cmlidXRlKFNWR1RyYW5zZm9ybUxpc3QqIGxpc3QsIGNvbnN0IEF0b21pY1N0cmluZyYgdHJhbnNm
b3JtKQoreworICAgIGRvdWJsZSB4WzZdID0gezAsIDAsIDAsIDAsIDAsIDB9OworICAgIGludCBu
ciA9IDAsIHJlcXVpcmVkID0gMCwgb3B0aW9uYWwgPSAwOworICAgIAorICAgIGNvbnN0IFVDaGFy
KiBjdXJyVHJhbnNmb3JtID0gdHJhbnNmb3JtLmNoYXJhY3RlcnMoKTsKKyAgICBjb25zdCBVQ2hh
ciogZW5kID0gY3VyclRyYW5zZm9ybSArIHRyYW5zZm9ybS5sZW5ndGgoKTsKKworICAgIHdoaWxl
IChjdXJyVHJhbnNmb3JtIDwgZW5kKSB7CisgICAgICAgIHVuc2lnbmVkIHNob3J0IHR5cGUgPSBT
VkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fVU5LTk9XTjsKKyAgICAgICAgc2tpcE9wdGlvbmFs
U3BhY2VzKGN1cnJUcmFuc2Zvcm0sIGVuZCk7CisKKyAgICAgICAgaWYgKCpjdXJyVHJhbnNmb3Jt
ID09ICdzJykgeworICAgICAgICAgICAgaWYgKCEoZW5kIC0gY3VyclRyYW5zZm9ybSkgPiA1KQor
ICAgICAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgICAgICBpZiAoY3VyclRyYW5z
Zm9ybVsxXSA9PSAnaycgJiYgY3VyclRyYW5zZm9ybVsyXSA9PSAnZScgJiYKKyAgICAgICAgICAg
ICAgICAgIGN1cnJUcmFuc2Zvcm1bM10gPT0gJ3cnKSB7CisgICAgICAgICAgICAgICAgaWYgKGN1
cnJUcmFuc2Zvcm1bNF0gPT0gJ1gnKQorICAgICAgICAgICAgICAgICAgICB0eXBlID0gU1ZHVHJh
bnNmb3JtOjpTVkdfVFJBTlNGT1JNX1NLRVdYOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKGN1
cnJUcmFuc2Zvcm1bNF0gPT0gJ1knKQorICAgICAgICAgICAgICAgICAgICB0eXBlID0gU1ZHVHJh
bnNmb3JtOjpTVkdfVFJBTlNGT1JNX1NLRVdZOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgICAgICAgICByZXF1aXJlZCA9
IDE7CisgICAgICAgICAgICAgICAgb3B0aW9uYWwgPSAwOworICAgICAgICAgICAgfSBlbHNlIGlm
IChjdXJyVHJhbnNmb3JtWzFdID09ICdjJyAmJiBjdXJyVHJhbnNmb3JtWzJdID09ICdhJyAmJgor
ICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVszXSA9PSAnbCcgJiYgY3VyclRyYW5zZm9y
bVs0XSA9PSAnZScpIHsKKyAgICAgICAgICAgICAgICByZXF1aXJlZCA9IDE7CisgICAgICAgICAg
ICAgICAgb3B0aW9uYWwgPSAxOworICAgICAgICAgICAgICAgIHR5cGUgPSBTVkdUcmFuc2Zvcm06
OlNWR19UUkFOU0ZPUk1fU0NBTEU7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAg
ICBnb3RvIGJhaWxfb3V0OworICAgICAgICAgICAgY3VyclRyYW5zZm9ybSArPSA1OworICAgICAg
ICB9IGVsc2UgaWYgKCpjdXJyVHJhbnNmb3JtID09ICd0JykgeworICAgICAgICAgICAgaWYgKCEo
KGVuZCAtIGN1cnJUcmFuc2Zvcm0pID4gOSkgJiYKKyAgICAgICAgICAgICAgICAgIGN1cnJUcmFu
c2Zvcm1bMV0gPT0gJ3InICYmIGN1cnJUcmFuc2Zvcm1bMl0gPT0gJ2EnICYmCisgICAgICAgICAg
ICAgICAgICBjdXJyVHJhbnNmb3JtWzNdID09ICduJyAmJiBjdXJyVHJhbnNmb3JtWzRdID09ICdz
JyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVs1XSA9PSAnbCcgJiYgY3VyclRy
YW5zZm9ybVs2XSA9PSAnYScgJiYKKyAgICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1bN10g
PT0gJ3QnICYmIGN1cnJUcmFuc2Zvcm1bOF0gPT0gJ2UnKQorICAgICAgICAgICAgICAgIGdvdG8g
YmFpbF9vdXQ7CisgICAgICAgICAgICBjdXJyVHJhbnNmb3JtICs9IDk7CisgICAgICAgICAgICBy
ZXF1aXJlZCA9IDE7CisgICAgICAgICAgICBvcHRpb25hbCA9IDE7CisgICAgICAgICAgICB0eXBl
ID0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1RSQU5TTEFURTsKKyAgICAgICAgfSBlbHNl
IGlmICgqY3VyclRyYW5zZm9ybSA9PSAncicpIHsKKyAgICAgICAgICAgIGlmICghKChlbmQgLSBj
dXJyVHJhbnNmb3JtKSA+IDYpICYmCisgICAgICAgICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzFd
ID09ICdvJyAmJiBjdXJyVHJhbnNmb3JtWzJdID09ICd0JyAmJgorICAgICAgICAgICAgICAgICAg
Y3VyclRyYW5zZm9ybVszXSA9PSAnYScgJiYgY3VyclRyYW5zZm9ybVs0XSA9PSAndCcgJiYKKyAg
ICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1bNV0gPT0gJ2UnKQorICAgICAgICAgICAgICAg
IGdvdG8gYmFpbF9vdXQ7CisgICAgICAgICAgICBjdXJyVHJhbnNmb3JtICs9IDY7CisgICAgICAg
ICAgICByZXF1aXJlZCA9IDE7CisgICAgICAgICAgICBvcHRpb25hbCA9IDI7CisgICAgICAgICAg
ICB0eXBlID0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1JPVEFURTsKKyAgICAgICAgfSBl
bHNlIGlmICgqY3VyclRyYW5zZm9ybSA9PSAnbScpIHsKKyAgICAgICAgICAgIGlmICghKChlbmQg
LSBjdXJyVHJhbnNmb3JtKSA+IDYpICYmIGN1cnJUcmFuc2Zvcm1bMV0gPT0gJ2EnICYmCisgICAg
ICAgICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzJdID09ICd0JyAmJiBjdXJyVHJhbnNmb3JtWzNd
ID09ICdyJyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVs0XSA9PSAnaScgJiYg
Y3VyclRyYW5zZm9ybVs1XSA9PSAneCcpCisgICAgICAgICAgICAgICAgZ290byBiYWlsX291dDsK
KyAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm0gKz0gNjsKKyAgICAgICAgICAgIHJlcXVpcmVkID0g
NjsKKyAgICAgICAgICAgIG9wdGlvbmFsID0gMDsKKyAgICAgICAgICAgIHR5cGUgPSBTVkdUcmFu
c2Zvcm06OlNWR19UUkFOU0ZPUk1fTUFUUklYOworICAgICAgICB9IGVsc2UgCisgICAgICAgICAg
ICBnb3RvIGJhaWxfb3V0OworCisgICAgICAgIGlmICgobnIgPSBwYXJzZVRyYW5zZm9ybVBhcmFt
TGlzdChjdXJyVHJhbnNmb3JtLCBlbmQsIHgsIHJlcXVpcmVkLCBvcHRpb25hbCkpIDwgMCkKKyAg
ICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CiAKICAgICAgICAgU1ZHVHJhbnNmb3JtKiB0ID0gbmV3
IFNWR1RyYW5zZm9ybSgpOwogCi0gICAgICAgIGlmIChzdWJ0cmFuc2Zvcm1bMF0gPT0gInJvdGF0
ZSIgJiYgKG5wYXJhbXMgPT0gMSB8fCBucGFyYW1zID09IDMpKSB7Ci0gICAgICAgICAgICBpZiAo
bnBhcmFtcyA9PSAzKQotICAgICAgICAgICAgICAgIHQtPnNldFJvdGF0ZShwYXJhbXNbMF0udG9E
b3VibGUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zWzFdLnRvRG91Ymxl
KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNbMl0udG9Eb3VibGUoKSk7
Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdC0+c2V0Um90YXRlKHBhcmFtc1sw
XS50b0RvdWJsZSgpLCAwLCAwKTsKLSAgICAgICAgfSBlbHNlIGlmIChzdWJ0cmFuc2Zvcm1bMF0g
PT0gInRyYW5zbGF0ZSIgJiYgKG5wYXJhbXMgPT0gMSB8fCBucGFyYW1zID09IDIpKSB7Ci0gICAg
ICAgICAgICBpZiAobnBhcmFtcyA9PSAyKQotICAgICAgICAgICAgICAgIHQtPnNldFRyYW5zbGF0
ZShwYXJhbXNbMF0udG9Eb3VibGUoKSwgcGFyYW1zWzFdLnRvRG91YmxlKCkpOwotICAgICAgICAg
ICAgZWxzZSAvLyBTcGVjOiBpZiBvbmx5IG9uZSBwYXJhbSBnaXZlbiwgYXNzdW1lIDJuZCBwYXJh
bSB0byBiZSAwCi0gICAgICAgICAgICAgICAgdC0+c2V0VHJhbnNsYXRlKHBhcmFtc1swXS50b0Rv
dWJsZSgpLCAwKTsKLSAgICAgICAgfSBlbHNlIGlmIChzdWJ0cmFuc2Zvcm1bMF0gPT0gInNjYWxl
IiAmJiAobnBhcmFtcyA9PSAxIHx8IG5wYXJhbXMgPT0gMikpIHsKLSAgICAgICAgICAgIGlmIChu
cGFyYW1zID09IDIpCi0gICAgICAgICAgICAgICAgdC0+c2V0U2NhbGUocGFyYW1zWzBdLnRvRG91
YmxlKCksIHBhcmFtc1sxXS50b0RvdWJsZSgpKTsKLSAgICAgICAgICAgIGVsc2UgLy8gU3BlYzog
aWYgb25seSBvbmUgcGFyYW0gZ2l2ZW4sIGFzc3VtZSB1bmlmb3JtIHNjYWxpbmcKLSAgICAgICAg
ICAgICAgICB0LT5zZXRTY2FsZShwYXJhbXNbMF0udG9Eb3VibGUoKSwgcGFyYW1zWzBdLnRvRG91
YmxlKCkpOwotICAgICAgICB9IGVsc2UgaWYgKHN1YnRyYW5zZm9ybVswXSA9PSAic2tld3giICYm
IG5wYXJhbXMgPT0gMSkKLSAgICAgICAgICAgIHQtPnNldFNrZXdYKHBhcmFtc1swXS50b0RvdWJs
ZSgpKTsKLSAgICAgICAgZWxzZSBpZiAoc3VidHJhbnNmb3JtWzBdID09ICJza2V3eSIgJiYgbnBh
cmFtcyA9PSAxKQotICAgICAgICAgICAgdC0+c2V0U2tld1kocGFyYW1zWzBdLnRvRG91YmxlKCkp
OwotICAgICAgICBlbHNlIGlmIChzdWJ0cmFuc2Zvcm1bMF0gPT0gIm1hdHJpeCIgJiYgbnBhcmFt
cyA9PSA2KSB7Ci0gICAgICAgICAgICBBZmZpbmVUcmFuc2Zvcm0gcmV0KHBhcmFtc1swXS50b0Rv
dWJsZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNbMV0udG9Eb3Vi
bGUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zWzJdLnRvRG91Ymxl
KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1szXS50b0RvdWJsZSgp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNbNF0udG9Eb3VibGUoKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zWzVdLnRvRG91YmxlKCkpOwot
ICAgICAgICAgICAgdC0+c2V0TWF0cml4KHJldCk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICBkZWxldGUgdDsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gZmFpbGVkIHRvIHBh
cnNlIGEgdmFsaWQgdHJhbnNmb3JtLCBhYm9ydC4KKyAgICAgICAgc3dpdGNoICh0eXBlKSB7Cisg
ICAgICAgICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9TS0VXWDoKKyAgICAg
ICAgICAgICAgIHQtPnNldFNrZXdYKHhbMF0pOworICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgY2FzZSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fU0tFV1k6CisgICAgICAg
ICAgICAgICB0LT5zZXRTa2V3WSh4WzBdKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1NDQUxFOgorICAgICAgICAg
ICAgICAgICAgaWYgKG5yID09IDEpIC8vIFNwZWM6IGlmIG9ubHkgb25lIHBhcmFtIGdpdmVuLCBh
c3N1bWUgdW5pZm9ybSBzY2FsaW5nCisgICAgICAgICAgICAgICAgICAgICAgdC0+c2V0U2NhbGUo
eFswXSwgeFswXSk7CisgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAg
ICAgdC0+c2V0U2NhbGUoeFswXSwgeFsxXSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9UUkFOU0xBVEU6CisgICAg
ICAgICAgICAgICAgICBpZiAobnIgPT0gMSkgLy8gU3BlYzogaWYgb25seSBvbmUgcGFyYW0gZ2l2
ZW4sIGFzc3VtZSAybmQgcGFyYW0gdG8gYmUgMAorICAgICAgICAgICAgICAgICAgICAgIHQtPnNl
dFRyYW5zbGF0ZSh4WzBdLCAwKTsKKyAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgICB0LT5zZXRUcmFuc2xhdGUoeFswXSwgeFsxXSk7CisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9ST1RB
VEU6CisgICAgICAgICAgICAgICAgICBpZiAobnIgPT0gMSkKKyAgICAgICAgICAgICAgICAgICAg
ICB0LT5zZXRSb3RhdGUoeFswXSwgMCwgMCk7CisgICAgICAgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgICAgICAgdC0+c2V0Um90YXRlKHhbMF0sIHhbMV0sIHhbMl0pOworICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBTVkdUcmFuc2Zvcm06OlNWR19UUkFO
U0ZPUk1fTUFUUklYOgorICAgICAgICAgICAgICAgIHQtPnNldE1hdHJpeChBZmZpbmVUcmFuc2Zv
cm0oeFswXSwgeFsxXSwgeFsyXSwgeFszXSwgeFs0XSwgeFs1XSkpOworICAgICAgICAgICAgICAg
IGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAg
ICAgIGxpc3QtPmFwcGVuZEl0ZW0odCwgZWMpOworICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXNP
ckRlbGltaXRlcihjdXJyVHJhbnNmb3JtLCBlbmQpOwogICAgIH0KIAogICAgIHJldHVybiB0cnVl
OworCitiYWlsX291dDogOworICAgIHJldHVybiBmYWxzZTsKIH0KIAogfQpJbmRleDogV2ViQ29y
ZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3Zn
Mi9zdmcvc3ZncGF0aHBhcnNlci5jcHAJKHJldmlzaW9uIDE4MzkzKQorKysgV2ViQ29yZS9rc3Zn
Mi9zdmcvc3ZncGF0aHBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNTk5ICswLDAgQEAK
LS8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdAotICAgQ29weXJpZ2h0IChD
KSAyMDAyLCAyMDAzIFRoZSBLYXJib24gRGV2ZWxvcGVycwotICAgICAgICAgICAgICAgICAyMDA2
ICAgICAgIEFsZXhhbmRlciBLZWxsZXR0IDxseXBhbm92QGtkZS5vcmc+Ci0KLSAgIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAg
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCi0gICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKLSAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKLSAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot
Ci0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICAgQm9z
dG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0qLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaWZk
ZWYgU1ZHX1NVUFBPUlQKLSNpbmNsdWRlICJzdmdwYXRocGFyc2VyLmgiCi0jaW5jbHVkZSAiRGVw
cmVjYXRlZFN0cmluZy5oIgotI2luY2x1ZGUgPG1hdGguaD4KLSNpbmNsdWRlIDx3dGYvTWF0aEV4
dHJhcy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLS8vIFNWRyBhbGxvd3Mgc2V2ZXJhbCBk
aWZmZXJlbnQgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzOgotLy8gaHR0cDovL3d3dy53My5vcmcvVFIv
U1ZHL3BhdGhzLmh0bWwjUGF0aERhdGFCTkYKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc1doaXRlc3Bh
Y2UoY2hhciBjKSB7Ci0gICAgcmV0dXJuIChjID09ICcgJyB8fCBjID09ICdcdCcgfHwgYyA9PSAn
XG4nIHx8IGMgPT0gJ1xyJyk7Ci19Ci0KLS8vIEFsbCBzdHJpbmdzIGFyZSBhc3N1bWVkIHRvIGJl
IG51bGwgdGVybWluYXRlZAotc3RhdGljIGlubGluZSBib29sIHNraXBPcHRpb25hbFNwYWNlcyhj
b25zdCBjaGFyKiYgcHRyKSAvLyB0cnVlIG1lYW5zICJmb3VuZCBzcGFjZSIKLXsKLSAgICBpZiAo
IWlzV2hpdGVzcGFjZSgqcHRyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHdoaWxlIChp
c1doaXRlc3BhY2UoKnB0cikpCi0gICAgICAgIHB0cisrOwotICAgIHJldHVybiB0cnVlOwotfQot
Ci1zdGF0aWMgaW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU3BhY2VzT3JDb21tYShjb25zdCBjaGFy
KiYgcHRyKQotewotICAgIGlmICghaXNXaGl0ZXNwYWNlKCpwdHIpICYmICpwdHIgIT0gJywnKQot
ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0cik7Ci0gICAg
aWYgKCpwdHIgPT0gJywnKSB7Ci0gICAgICAgIHB0cisrOwotICAgICAgICBza2lwT3B0aW9uYWxT
cGFjZXMocHRyKTsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLQotY29uc3QgY2hhciog
cGFyc2VDb29yZChjb25zdCBjaGFyKiBwdHIsIGRvdWJsZSAmbnVtYmVyKQotewotICAgIGludCBp
bnRlZ2VyLCBleHBvbmVudDsKLSAgICBkb3VibGUgZGVjaW1hbCwgZnJhYzsKLSAgICBpbnQgc2ln
biwgZXhwc2lnbjsKLQotICAgIGV4cG9uZW50ID0gMDsKLSAgICBpbnRlZ2VyID0gMDsKLSAgICBm
cmFjID0gMS4wOwotICAgIGRlY2ltYWwgPSAwOwotICAgIHNpZ24gPSAxOwotICAgIGV4cHNpZ24g
PSAxOwotCi0gICAgLy8gcmVhZCB0aGUgc2lnbgotICAgIGlmICgqcHRyID09ICcrJykKLSAgICAg
ICAgcHRyKys7Ci0gICAgZWxzZSBpZiAoKnB0ciA9PSAnLScpIHsKLSAgICAgICAgcHRyKys7Ci0g
ICAgICAgIHNpZ24gPSAtMTsKLSAgICB9Ci0gICAgLy8gcmVhZCB0aGUgaW50ZWdlciBwYXJ0Ci0g
ICAgd2hpbGUoKnB0ciAhPSAnXDAnICYmICpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzknKQotICAg
ICAgICBpbnRlZ2VyID0gKGludGVnZXIgKiAxMCkgKyAqKHB0cisrKSAtICcwJzsKLQotICAgIGlm
ICgqcHRyID09ICcuJykgeyAvLyByZWFkIHRoZSBkZWNpbWFscwotICAgICAgICBwdHIrKzsKLSAg
ICAgICAgd2hpbGUoKnB0ciAhPSAnXDAnICYmICpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzknKQot
ICAgICAgICAgICAgZGVjaW1hbCArPSAoKihwdHIrKykgLSAnMCcpICogKGZyYWMgKj0gMC4xKTsK
LSAgICB9Ci0KLSAgICBpZiAoKnB0ciA9PSAnZScgfHwgKnB0ciA9PSAnRScpIHsgLy8gcmVhZCB0
aGUgZXhwb25lbnQgcGFydAotICAgICAgICBwdHIrKzsKLQotICAgICAgICAvLyByZWFkIHRoZSBz
aWduIG9mIHRoZSBleHBvbmVudAotICAgICAgICBpZiAoKnB0ciA9PSAnKycpCi0gICAgICAgICAg
ICBwdHIrKzsKLSAgICAgICAgZWxzZSBpZiAoKnB0ciA9PSAnLScpIHsKLSAgICAgICAgICAgIHB0
cisrOwotICAgICAgICAgICAgZXhwc2lnbiA9IC0xOwotICAgICAgICB9Ci0KLSAgICAgICAgZXhw
b25lbnQgPSAwOwotICAgICAgICB3aGlsZSgqcHRyICE9ICdcMCcgJiYgKnB0ciA+PSAnMCcgJiYg
KnB0ciA8PSAnOScpIHsKLSAgICAgICAgICAgIGV4cG9uZW50ICo9IDEwOwotICAgICAgICAgICAg
ZXhwb25lbnQgKz0gKnB0ciAtICcwJzsKLSAgICAgICAgICAgIHB0cisrOwotICAgICAgICB9Ci0g
ICAgfQotCi0gICAgbnVtYmVyID0gaW50ZWdlciArIGRlY2ltYWw7Ci0gICAgbnVtYmVyICo9IHNp
Z24gKiBwb3coMTAuMCwgZXhwc2lnbiAqIGV4cG9uZW50KTsKLQotICAgIHNraXBPcHRpb25hbFNw
YWNlc09yQ29tbWEocHRyKTsKLQotICAgIHJldHVybiBwdHI7Ci19Ci0KLXZvaWQgU1ZHUG9seVBh
cnNlcjo6cGFyc2VQb2ludHMoY29uc3QgRGVwcmVjYXRlZFN0cmluZyYgcykgY29uc3QKLXsKLSAg
ICBpZiAocy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKLSAgICBEZXByZWNhdGVkU3RyaW5n
IHBvaW50RGF0YSA9IHM7Ci0gICAgY29uc3QgY2hhciogY3VyclNlZ21lbnQgPSBwb2ludERhdGEu
bGF0aW4xKCk7Ci0gICAgY29uc3QgY2hhciogZW9TdHJpbmcgPSBwb2ludERhdGEubGF0aW4xKCkg
KyBwb2ludERhdGEubGVuZ3RoKCk7Ci0gICAgCi0gICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJT
ZWdtZW50KTsKLSAgICAKLSAgICBpbnQgc2VnbWVudE51bSA9IDA7Ci0gICAgd2hpbGUgKGN1cnJT
ZWdtZW50IDwgZW9TdHJpbmcpIHsKLSAgICAgICAgY29uc3QgY2hhciogcHJldlNlZ21lbnQgPSBj
dXJyU2VnbWVudDsKLSAgICAgICAgZG91YmxlIHhQb3MgPSAwOwotICAgICAgICBjdXJyU2VnbWVu
dCA9IHBhcnNlQ29vcmQoY3VyclNlZ21lbnQsIHhQb3MpOyAKLSAgICAgICAgaWYgKGN1cnJTZWdt
ZW50ID09IHByZXZTZWdtZW50KQotICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgcHJldlNl
Z21lbnQgPSBjdXJyU2VnbWVudDsKLSAgICAgICAgZG91YmxlIHlQb3MgPSAwOwotICAgICAgICBj
dXJyU2VnbWVudCA9IHBhcnNlQ29vcmQoY3VyclNlZ21lbnQsIHlQb3MpOwotICAgICAgICBpZiAo
Y3VyclNlZ21lbnQgPT0gcHJldlNlZ21lbnQpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgIAotICAgICAgICBzdmdQb2x5VG8oeFBvcywgeVBvcywgc2VnbWVudE51bSsrKTsKLSAgICB9
Ci19Ci0KLXZvaWQgU1ZHUGF0aFBhcnNlcjo6cGFyc2VTVkcoY29uc3QgRGVwcmVjYXRlZFN0cmlu
ZyYgcywgYm9vbCBwcm9jZXNzKQotewotICAgIGlmIChzLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgRGVwcmVjYXRlZFN0cmluZyBkID0gczsKLSAgICBjb25zdCBjaGFyKiBwdHIg
PSBkLmxhdGluMSgpOwotICAgIGNvbnN0IGNoYXIqIGVuZCA9IGQubGF0aW4xKCkgKyBkLmxlbmd0
aCgpICsgMTsKLQotICAgIGRvdWJsZSBjb250cmx4LCBjb250cmx5LCBjdXJ4LCBjdXJ5LCBzdWJw
YXRoeCwgc3VicGF0aHksIHRveCwgdG95LCB4MSwgeTEsIHgyLCB5MiwgeGMsIHljOwotICAgIGRv
dWJsZSBweDEsIHB5MSwgcHgyLCBweTIsIHB4MywgcHkzOwotICAgIGJvb2wgY2xvc2VkID0gdHJ1
ZTsKLSAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsgLy8gc2tpcCBhbnkgbGVhZGluZyBzcGFj
ZXMKLSAgICBjaGFyIGNvbW1hbmQgPSAqKHB0cisrKSwgbGFzdENvbW1hbmQgPSAnICc7Ci0KLSAg
ICBzdWJwYXRoeCA9IHN1YnBhdGh5ID0gY3VyeCA9IGN1cnkgPSBjb250cmx4ID0gY29udHJseSA9
IDAuMDsKLSAgICB3aGlsZShwdHIgPCBlbmQpIHsKLSAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2Vz
KHB0cik7IC8vIHNraXAgc3BhY2VzIGJldHdlZW4gY29tbWFuZCBhbmQgZmlyc3QgY29vcmQKLQot
ICAgICAgICBib29sIHJlbGF0aXZlID0gZmFsc2U7Ci0KLSAgICAgICAgc3dpdGNoKGNvbW1hbmQp
Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGNhc2UgJ20nOgotICAgICAgICAgICAgICAgIHJlbGF0
aXZlID0gdHJ1ZTsKLSAgICAgICAgICAgIGNhc2UgJ00nOgotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3gpOwotICAgICAgICAgICAgICAgIHB0
ciA9IHBhcnNlQ29vcmQocHRyLCB0b3kpOwotCi0gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3Mp
IHsKLSAgICAgICAgICAgICAgICAgICAgc3VicGF0aHggPSBjdXJ4ID0gcmVsYXRpdmUgPyBjdXJ4
ICsgdG94IDogdG94OwotICAgICAgICAgICAgICAgICAgICBzdWJwYXRoeSA9IGN1cnkgPSByZWxh
dGl2ZSA/IGN1cnkgKyB0b3kgOiB0b3k7Ci0KLSAgICAgICAgICAgICAgICAgICAgc3ZnTW92ZVRv
KGN1cngsIGN1cnksIGNsb3NlZCk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICAgICAgICAgIHN2Z01vdmVUbyh0b3gsIHRveSwgY2xvc2VkLCAhcmVsYXRpdmUpOwotICAgICAg
ICAgICAgICAgIGNsb3NlZCA9IGZhbHNlOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgY2FzZSAnbCc6Ci0gICAgICAgICAgICAgICAgcmVsYXRpdmUg
PSB0cnVlOwotICAgICAgICAgICAgY2FzZSAnTCc6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7Ci0gICAgICAgICAgICAgICAgcHRyID0g
cGFyc2VDb29yZChwdHIsIHRveSk7Ci0KLSAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcykgewot
ICAgICAgICAgICAgICAgICAgICBjdXJ4ID0gcmVsYXRpdmUgPyBjdXJ4ICsgdG94IDogdG94Owot
ICAgICAgICAgICAgICAgICAgICBjdXJ5ID0gcmVsYXRpdmUgPyBjdXJ5ICsgdG95IDogdG95Owot
Ci0gICAgICAgICAgICAgICAgICAgIHN2Z0xpbmVUbyhjdXJ4LCBjdXJ5KTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBzdmdMaW5l
VG8odG94LCB0b3ksICFyZWxhdGl2ZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBjYXNlICdoJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG94KTsKLSAgICAgICAgICAgICAgICBpZiAocHJv
Y2VzcykgewotICAgICAgICAgICAgICAgICAgICBjdXJ4ID0gY3VyeCArIHRveDsKLSAgICAgICAg
ICAgICAgICAgICAgc3ZnTGluZVRvKGN1cngsIGN1cnkpOwotICAgICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHN2Z0xpbmVUb0hvcml6b250
YWwodG94LCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBjYXNlICdIJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHIg
PSBwYXJzZUNvb3JkKHB0ciwgdG94KTsKLSAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcykgewot
ICAgICAgICAgICAgICAgICAgICBjdXJ4ID0gdG94OwotICAgICAgICAgICAgICAgICAgICBzdmdM
aW5lVG8oY3VyeCwgY3VyeSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVs
c2UKLSAgICAgICAgICAgICAgICAgICAgc3ZnTGluZVRvSG9yaXpvbnRhbCh0b3gpOwotICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAndic6Ci0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7
Ci0gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAgY3Vy
eSA9IGN1cnkgKyB0b3k7Ci0gICAgICAgICAgICAgICAgICAgIHN2Z0xpbmVUbyhjdXJ4LCBjdXJ5
KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAg
ICAgICAgICBzdmdMaW5lVG9WZXJ0aWNhbCh0b3ksIGZhbHNlKTsKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNhc2UgJ1YnOgotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3kpOwotICAgICAgICAg
ICAgICAgIGlmIChwcm9jZXNzKSB7Ci0gICAgICAgICAgICAgICAgICAgIGN1cnkgPSB0b3k7Ci0g
ICAgICAgICAgICAgICAgICAgIHN2Z0xpbmVUbyhjdXJ4LCBjdXJ5KTsKLSAgICAgICAgICAgICAg
ICB9Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBzdmdMaW5lVG9W
ZXJ0aWNhbCh0b3kpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgY2FzZSAneic6Ci0gICAgICAgICAgICBjYXNlICdaJzoKLSAgICAgICAgICAgIHsK
LSAgICAgICAgICAgICAgICAvLyByZXNldCBjdXJ4LCBjdXJ5IGZvciBuZXh0IHBhdGgKLSAgICAg
ICAgICAgICAgICBpZiAocHJvY2VzcykgewotICAgICAgICAgICAgICAgICAgICBjdXJ4ID0gc3Vi
cGF0aHg7Ci0gICAgICAgICAgICAgICAgICAgIGN1cnkgPSBzdWJwYXRoeTsKLSAgICAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICAgICAgY2xvc2VkID0gdHJ1ZTsKLSAgICAgICAgICAgICAgICBz
dmdDbG9zZVBhdGgoKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIGNhc2UgJ2MnOgotICAgICAgICAgICAgICAgIHJlbGF0aXZlID0gdHJ1ZTsKLSAg
ICAgICAgICAgIGNhc2UgJ0MnOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHB0ciA9
IHBhcnNlQ29vcmQocHRyLCB4MSk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChw
dHIsIHkxKTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgeDIpOwotICAg
ICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB5Mik7Ci0gICAgICAgICAgICAgICAg
cHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VD
b29yZChwdHIsIHRveSk7Ci0KLSAgICAgICAgICAgICAgICBpZiAocHJvY2VzcykgewotICAgICAg
ICAgICAgICAgICAgICBweDEgPSByZWxhdGl2ZSA/IGN1cnggKyB4MSA6IHgxOwotICAgICAgICAg
ICAgICAgICAgICBweTEgPSByZWxhdGl2ZSA/IGN1cnkgKyB5MSA6IHkxOwotICAgICAgICAgICAg
ICAgICAgICBweDIgPSByZWxhdGl2ZSA/IGN1cnggKyB4MiA6IHgyOwotICAgICAgICAgICAgICAg
ICAgICBweTIgPSByZWxhdGl2ZSA/IGN1cnkgKyB5MiA6IHkyOwotICAgICAgICAgICAgICAgICAg
ICBweDMgPSByZWxhdGl2ZSA/IGN1cnggKyB0b3ggOiB0b3g7Ci0gICAgICAgICAgICAgICAgICAg
IHB5MyA9IHJlbGF0aXZlID8gY3VyeSArIHRveSA6IHRveTsKLQotICAgICAgICAgICAgICAgICAg
ICBzdmdDdXJ2ZVRvQ3ViaWMocHgxLCBweTEsIHB4MiwgcHkyLCBweDMsIHB5Myk7Ci0KLSAgICAg
ICAgICAgICAgICAgICAgY29udHJseCA9IHJlbGF0aXZlID8gY3VyeCArIHgyIDogeDI7Ci0gICAg
ICAgICAgICAgICAgICAgIGNvbnRybHkgPSByZWxhdGl2ZSA/IGN1cnkgKyB5MiA6IHkyOwotICAg
ICAgICAgICAgICAgICAgICBjdXJ4ID0gcmVsYXRpdmUgPyBjdXJ4ICsgdG94IDogdG94OwotICAg
ICAgICAgICAgICAgICAgICBjdXJ5ID0gcmVsYXRpdmUgPyBjdXJ5ICsgdG95IDogdG95OwotICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAg
IHN2Z0N1cnZlVG9DdWJpYyh4MSwgeTEsIHgyLCB5MiwgdG94LCB0b3ksICFyZWxhdGl2ZSk7Ci0K
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNhc2Ug
J3MnOgotICAgICAgICAgICAgICAgIHJlbGF0aXZlID0gdHJ1ZTsKLSAgICAgICAgICAgIGNhc2Ug
J1MnOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRy
LCB4Mik7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHkyKTsKLSAgICAg
ICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG94KTsKLSAgICAgICAgICAgICAgICBw
dHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95KTsKLSAgICAgICAgICAgICAgICBpZiAoIShsYXN0Q29t
bWFuZCA9PSAnYycgfHwgbGFzdENvbW1hbmQgPT0gJ0MnIHx8Ci0gICAgICAgICAgICAgICAgICAg
ICBsYXN0Q29tbWFuZCA9PSAncycgfHwgbGFzdENvbW1hbmQgPT0gJ1MnKSkgewotICAgICAgICAg
ICAgICAgICAgICBjb250cmx4ID0gY3VyeDsKLSAgICAgICAgICAgICAgICAgICAgY29udHJseSA9
IGN1cnk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3Mp
IHsKLSAgICAgICAgICAgICAgICAgICAgcHgxID0gMiAqIGN1cnggLSBjb250cmx4OwotICAgICAg
ICAgICAgICAgICAgICBweTEgPSAyICogY3VyeSAtIGNvbnRybHk7Ci0gICAgICAgICAgICAgICAg
ICAgIHB4MiA9IHJlbGF0aXZlID8gY3VyeCArIHgyIDogeDI7Ci0gICAgICAgICAgICAgICAgICAg
IHB5MiA9IHJlbGF0aXZlID8gY3VyeSArIHkyIDogeTI7Ci0gICAgICAgICAgICAgICAgICAgIHB4
MyA9IHJlbGF0aXZlID8gY3VyeCArIHRveCA6IHRveDsKLSAgICAgICAgICAgICAgICAgICAgcHkz
ID0gcmVsYXRpdmUgPyBjdXJ5ICsgdG95IDogdG95OwotCi0gICAgICAgICAgICAgICAgICAgIHN2
Z0N1cnZlVG9DdWJpYyhweDEsIHB5MSwgcHgyLCBweTIsIHB4MywgcHkzKTsKLQotICAgICAgICAg
ICAgICAgICAgICBjb250cmx4ID0gcmVsYXRpdmUgPyBjdXJ4ICsgeDIgOiB4MjsKLSAgICAgICAg
ICAgICAgICAgICAgY29udHJseSA9IHJlbGF0aXZlID8gY3VyeSArIHkyIDogeTI7Ci0gICAgICAg
ICAgICAgICAgICAgIGN1cnggPSByZWxhdGl2ZSA/IGN1cnggKyB0b3ggOiB0b3g7Ci0gICAgICAg
ICAgICAgICAgICAgIGN1cnkgPSByZWxhdGl2ZSA/IGN1cnkgKyB0b3kgOiB0b3k7Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgc3Zn
Q3VydmVUb0N1YmljU21vb3RoKHgyLCB5MiwgdG94LCB0b3ksICFyZWxhdGl2ZSk7Ci0gICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNlICdxJzoKLSAg
ICAgICAgICAgICAgICByZWxhdGl2ZSA9IHRydWU7Ci0gICAgICAgICAgICBjYXNlICdRJzoKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgeDEpOwot
ICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB5MSk7Ci0gICAgICAgICAgICAg
ICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFy
c2VDb29yZChwdHIsIHRveSk7Ci0KLSAgICAgICAgICAgICAgICBpZiAocHJvY2VzcykgewotICAg
ICAgICAgICAgICAgICAgICBweDEgPSByZWxhdGl2ZSA/IChjdXJ4ICsgMiAqICh4MSArIGN1cngp
KSAqICgxLjAgLyAzLjApIDogKGN1cnggKyAyICogeDEpICogKDEuMCAvIDMuMCk7Ci0gICAgICAg
ICAgICAgICAgICAgIHB5MSA9IHJlbGF0aXZlID8gKGN1cnkgKyAyICogKHkxICsgY3VyeSkpICog
KDEuMCAvIDMuMCkgOiAoY3VyeSArIDIgKiB5MSkgKiAoMS4wIC8gMy4wKTsKLSAgICAgICAgICAg
ICAgICAgICAgcHgyID0gcmVsYXRpdmUgPyAoKGN1cnggKyB0b3gpICsgMiAqICh4MSArIGN1cngp
KSAqICgxLjAgLyAzLjApIDogKHRveCArIDIgKiB4MSkgKiAoMS4wIC8gMy4wKTsKLSAgICAgICAg
ICAgICAgICAgICAgcHkyID0gcmVsYXRpdmUgPyAoKGN1cnkgKyB0b3kpICsgMiAqICh5MSArIGN1
cnkpKSAqICgxLjAgLyAzLjApIDogKHRveSArIDIgKiB5MSkgKiAoMS4wIC8gMy4wKTsKLSAgICAg
ICAgICAgICAgICAgICAgcHgzID0gcmVsYXRpdmUgPyBjdXJ4ICsgdG94IDogdG94OwotICAgICAg
ICAgICAgICAgICAgICBweTMgPSByZWxhdGl2ZSA/IGN1cnkgKyB0b3kgOiB0b3k7Ci0KLSAgICAg
ICAgICAgICAgICAgICAgc3ZnQ3VydmVUb0N1YmljKHB4MSwgcHkxLCBweDIsIHB5MiwgcHgzLCBw
eTMpOwotCi0gICAgICAgICAgICAgICAgICAgIGNvbnRybHggPSByZWxhdGl2ZSA/IGN1cnggKyB4
MSA6IHgxOwotICAgICAgICAgICAgICAgICAgICBjb250cmx5ID0gcmVsYXRpdmUgPyBjdXJ5ICsg
eTEgOiB5MTsKLSAgICAgICAgICAgICAgICAgICAgY3VyeCA9IHJlbGF0aXZlID8gY3VyeCArIHRv
eCA6IHRveDsKLSAgICAgICAgICAgICAgICAgICAgY3VyeSA9IHJlbGF0aXZlID8gY3VyeSArIHRv
eSA6IHRveTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgICAgICBzdmdDdXJ2ZVRvUXVhZHJhdGljKHgxLCB5MSwgdG94LCB0b3ksICFyZWxh
dGl2ZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAg
ICBjYXNlICd0JzoKLSAgICAgICAgICAgICAgICByZWxhdGl2ZSA9IHRydWU7Ci0gICAgICAgICAg
ICBjYXNlICdUJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNv
b3JkKHB0ciwgdG94KTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95
KTsKLSAgICAgICAgICAgICAgICBpZiAoIShsYXN0Q29tbWFuZCA9PSAncScgfHwgbGFzdENvbW1h
bmQgPT0gJ1EnIHx8Ci0gICAgICAgICAgICAgICAgICAgICBsYXN0Q29tbWFuZCA9PSAndCcgfHwg
bGFzdENvbW1hbmQgPT0gJ1QnKSkgewotICAgICAgICAgICAgICAgICAgICBjb250cmx4ID0gY3Vy
eDsKLSAgICAgICAgICAgICAgICAgICAgY29udHJseSA9IGN1cnk7Ci0gICAgICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAg
eGMgPSAyICogY3VyeCAtIGNvbnRybHg7Ci0gICAgICAgICAgICAgICAgICAgIHljID0gMiAqIGN1
cnkgLSBjb250cmx5OwotCi0gICAgICAgICAgICAgICAgICAgIHB4MSA9IHJlbGF0aXZlID8gKGN1
cnggKyAyICogeGMpICogKDEuMCAvIDMuMCkgOiAoY3VyeCArIDIgKiB4YykgKiAoMS4wIC8gMy4w
KTsKLSAgICAgICAgICAgICAgICAgICAgcHkxID0gcmVsYXRpdmUgPyAoY3VyeSArIDIgKiB5Yykg
KiAoMS4wIC8gMy4wKSA6IChjdXJ5ICsgMiAqIHljKSAqICgxLjAgLyAzLjApOwotICAgICAgICAg
ICAgICAgICAgICBweDIgPSByZWxhdGl2ZSA/ICgoY3VyeCArIHRveCkgKyAyICogeGMpICogKDEu
MCAvIDMuMCkgOiAodG94ICsgMiAqIHhjKSAqICgxLjAgLyAzLjApOwotICAgICAgICAgICAgICAg
ICAgICBweTIgPSByZWxhdGl2ZSA/ICgoY3VyeSArIHRveSkgKyAyICogeWMpICogKDEuMCAvIDMu
MCkgOiAodG95ICsgMiAqIHljKSAqICgxLjAgLyAzLjApOwotICAgICAgICAgICAgICAgICAgICBw
eDMgPSByZWxhdGl2ZSA/IGN1cnggKyB0b3ggOiB0b3g7Ci0gICAgICAgICAgICAgICAgICAgIHB5
MyA9IHJlbGF0aXZlID8gY3VyeSArIHRveSA6IHRveTsKLQotICAgICAgICAgICAgICAgICAgICBz
dmdDdXJ2ZVRvQ3ViaWMocHgxLCBweTEsIHB4MiwgcHkyLCBweDMsIHB5Myk7Ci0KLSAgICAgICAg
ICAgICAgICAgICAgY29udHJseCA9IHhjOwotICAgICAgICAgICAgICAgICAgICBjb250cmx5ID0g
eWM7Ci0gICAgICAgICAgICAgICAgICAgIGN1cnggPSByZWxhdGl2ZSA/IGN1cnggKyB0b3ggOiB0
b3g7Ci0gICAgICAgICAgICAgICAgICAgIGN1cnkgPSByZWxhdGl2ZSA/IGN1cnkgKyB0b3kgOiB0
b3k7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAg
ICAgICAgICAgc3ZnQ3VydmVUb1F1YWRyYXRpY1Ntb290aCh0b3gsIHRveSwgIXJlbGF0aXZlKTsK
LSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNhc2Ug
J2EnOgotICAgICAgICAgICAgICAgIHJlbGF0aXZlID0gdHJ1ZTsKLSAgICAgICAgICAgIGNhc2Ug
J0EnOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIGJvb2wgbGFyZ2VBcmMsIHN3ZWVw
OwotICAgICAgICAgICAgICAgIGRvdWJsZSBhbmdsZSwgcngsIHJ5OwotICAgICAgICAgICAgICAg
IHB0ciA9IHBhcnNlQ29vcmQocHRyLCByeCk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VD
b29yZChwdHIsIHJ5KTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgYW5n
bGUpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3gpOwotICAgICAg
ICAgICAgICAgIGxhcmdlQXJjID0gdG94ID09IDE7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFy
c2VDb29yZChwdHIsIHRveCk7Ci0gICAgICAgICAgICAgICAgc3dlZXAgPSB0b3ggPT0gMTsKLSAg
ICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG94KTsKLSAgICAgICAgICAgICAg
ICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95KTsKLQotICAgICAgICAgICAgICAgIC8vIFNwZWM6
IHJhZGlpIGFyZSBub25uZWdhdGl2ZSBudW1iZXJzCi0gICAgICAgICAgICAgICAgcnggPSBmYWJz
KHJ4KTsKLSAgICAgICAgICAgICAgICByeSA9IGZhYnMocnkpOwotCi0gICAgICAgICAgICAgICAg
aWYgKHByb2Nlc3MpCi0gICAgICAgICAgICAgICAgICAgIGNhbGN1bGF0ZUFyYyhyZWxhdGl2ZSwg
Y3VyeCwgY3VyeSwgYW5nbGUsIHRveCwgdG95LCByeCwgcnksIGxhcmdlQXJjLCBzd2VlcCk7Ci0g
ICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBzdmdBcmNUbyh0b3gsIHRv
eSwgcngsIHJ5LCBhbmdsZSwgbGFyZ2VBcmMsIHN3ZWVwLCAhcmVsYXRpdmUpOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAg
ICAgICAgICAgICAvLyBGSVhNRTogQW4gZXJyb3Igc2hvdWxkIGdvIHRvIHRoZSBKYXZhU2NyaXB0
IGNvbnNvbGUsIG9yIHRoZSBsaWtlLgotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
fQotICAgICAgICBsYXN0Q29tbWFuZCA9IGNvbW1hbmQ7Ci0KLSAgICAgICAgaWYgKCpwdHIgPT0g
JysnIHx8ICpwdHIgPT0gJy0nIHx8ICgqcHRyID49ICcwJyAmJiAqcHRyIDw9ICc5JykpIHsKLSAg
ICAgICAgICAgIC8vIHRoZXJlIGFyZSBzdGlsbCBjb29yZHMgaW4gdGhpcyBjb21tYW5kCi0gICAg
ICAgICAgICBpZiAoY29tbWFuZCA9PSAnTScpCi0gICAgICAgICAgICAgICAgY29tbWFuZCA9ICdM
JzsKLSAgICAgICAgICAgIGVsc2UgaWYgKGNvbW1hbmQgPT0gJ20nKQotICAgICAgICAgICAgICAg
IGNvbW1hbmQgPSAnbCc7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZQotICAgICAgICAgICAgY29t
bWFuZCA9ICoocHRyKyspOwotCi0gICAgICAgIGlmIChsYXN0Q29tbWFuZCAhPSAnQycgJiYgbGFz
dENvbW1hbmQgIT0gJ2MnICYmCi0gICAgICAgICAgICBsYXN0Q29tbWFuZCAhPSAnUycgJiYgbGFz
dENvbW1hbmQgIT0gJ3MnICYmCi0gICAgICAgICAgICBsYXN0Q29tbWFuZCAhPSAnUScgJiYgbGFz
dENvbW1hbmQgIT0gJ3EnICYmCi0gICAgICAgICAgICBsYXN0Q29tbWFuZCAhPSAnVCcgJiYgbGFz
dENvbW1hbmQgIT0gJ3QnKSB7Ci0gICAgICAgICAgICBjb250cmx4ID0gY3VyeDsKLSAgICAgICAg
ICAgIGNvbnRybHkgPSBjdXJ5OwotICAgICAgICB9Ci0gICAgfQotfQotCi0vLyBUaGlzIHdvcmtz
IGJ5IGNvbnZlcnRpbmcgdGhlIFNWRyBhcmMgdG8gInNpbXBsZSIgYmV6aWVycy4KLS8vIEZvciBl
YWNoIGJlemllciBmb3VuZCBhIHN2Z1RvQ3VydmUgY2FsbCBpcyBkb25lLgotLy8gQWRhcHRlZCBm
cm9tIE5pa28ncyBjb2RlIGluIGtkZWxpYnMva2RlY29yZS9zdmdpY29ucy4KLS8vIE1heWJlIHRo
aXMgY2FuIHNlcnZlIGluIHNvbWUgc2hhcmVkIGxpYj8gKFJvYikKLXZvaWQgU1ZHUGF0aFBhcnNl
cjo6Y2FsY3VsYXRlQXJjKGJvb2wgcmVsYXRpdmUsIGRvdWJsZSAmY3VyeCwgZG91YmxlICZjdXJ5
LCBkb3VibGUgYW5nbGUsIGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHIxLCBkb3VibGUgcjIs
IGJvb2wgbGFyZ2VBcmNGbGFnLCBib29sIHN3ZWVwRmxhZykKLXsKLSAgICBkb3VibGUgc2luX3Ro
LCBjb3NfdGg7Ci0gICAgZG91YmxlIGEwMCwgYTAxLCBhMTAsIGExMTsKLSAgICBkb3VibGUgeDAs
IHkwLCB4MSwgeTEsIHhjLCB5YzsKLSAgICBkb3VibGUgZCwgc2ZhY3Rvciwgc2ZhY3Rvcl9zcTsK
LSAgICBkb3VibGUgdGgwLCB0aDEsIHRoX2FyYzsKLSAgICBpbnQgaSwgbl9zZWdzOwotCi0gICAg
c2luX3RoID0gc2luKGFuZ2xlICogKE1fUEkgLyAxODAuMCkpOwotICAgIGNvc190aCA9IGNvcyhh
bmdsZSAqIChNX1BJIC8gMTgwLjApKTsKLQotICAgIGRvdWJsZSBkeDsKLQotICAgIGlmICghcmVs
YXRpdmUpCi0gICAgICAgIGR4ID0gKGN1cnggLSB4KSAvIDIuMDsKLSAgICBlbHNlCi0gICAgICAg
IGR4ID0gLXggLyAyLjA7Ci0KLSAgICBkb3VibGUgZHk7Ci0gICAgICAgIAotICAgIGlmICghcmVs
YXRpdmUpCi0gICAgICAgIGR5ID0gKGN1cnkgLSB5KSAvIDIuMDsKLSAgICBlbHNlCi0gICAgICAg
IGR5ID0gLXkgLyAyLjA7Ci0gICAgICAgIAotICAgIGRvdWJsZSBfeDEgPSAgY29zX3RoICogZHgg
KyBzaW5fdGggKiBkeTsKLSAgICBkb3VibGUgX3kxID0gLXNpbl90aCAqIGR4ICsgY29zX3RoICog
ZHk7Ci0gICAgZG91YmxlIFByMSA9IHIxICogcjE7Ci0gICAgZG91YmxlIFByMiA9IHIyICogcjI7
Ci0gICAgZG91YmxlIFB4ID0gX3gxICogX3gxOwotICAgIGRvdWJsZSBQeSA9IF95MSAqIF95MTsK
LQotICAgIC8vIFNwZWMgOiBjaGVjayBpZiByYWRpaSBhcmUgbGFyZ2UgZW5vdWdoCi0gICAgZG91
YmxlIGNoZWNrID0gUHggLyBQcjEgKyBQeSAvIFByMjsKLSAgICBpZiAoY2hlY2sgPiAxKSB7Ci0g
ICAgICAgIHIxID0gcjEgKiBzcXJ0KGNoZWNrKTsKLSAgICAgICAgcjIgPSByMiAqIHNxcnQoY2hl
Y2spOwotICAgIH0KLQotICAgIGEwMCA9IGNvc190aCAvIHIxOwotICAgIGEwMSA9IHNpbl90aCAv
IHIxOwotICAgIGExMCA9IC1zaW5fdGggLyByMjsKLSAgICBhMTEgPSBjb3NfdGggLyByMjsKLQot
ICAgIHgwID0gYTAwICogY3VyeCArIGEwMSAqIGN1cnk7Ci0gICAgeTAgPSBhMTAgKiBjdXJ4ICsg
YTExICogY3VyeTsKLQotICAgIGlmICghcmVsYXRpdmUpCi0gICAgICAgIHgxID0gYTAwICogeCAr
IGEwMSAqIHk7Ci0gICAgZWxzZQotICAgICAgICB4MSA9IGEwMCAqIChjdXJ4ICsgeCkgKyBhMDEg
KiAoY3VyeSArIHkpOwotICAgICAgICAKLSAgICBpZiAoIXJlbGF0aXZlKQotICAgICAgICB5MSA9
IGExMCAqIHggKyBhMTEgKiB5OwotICAgIGVsc2UKLSAgICAgICAgeTEgPSBhMTAgKiAoY3VyeCAr
IHgpICsgYTExICogKGN1cnkgKyB5KTsKLQotICAgIC8qICh4MCwgeTApIGlzIGN1cnJlbnQgcG9p
bnQgaW4gdHJhbnNmb3JtZWQgY29vcmRpbmF0ZSBzcGFjZS4KLSAgICAgICAoeDEsIHkxKSBpcyBu
ZXcgcG9pbnQgaW4gdHJhbnNmb3JtZWQgY29vcmRpbmF0ZSBzcGFjZS4KLQotICAgICAgIFRoZSBh
cmMgZml0cyBhIHVuaXQtcmFkaXVzIGNpcmNsZSBpbiB0aGlzIHNwYWNlLgotICAgICovCi0KLSAg
ICBkID0gKHgxIC0geDApICogKHgxIC0geDApICsgKHkxIC0geTApICogKHkxIC0geTApOwotCi0g
ICAgc2ZhY3Rvcl9zcSA9IDEuMCAvIGQgLSAwLjI1OwotCi0gICAgaWYgKHNmYWN0b3Jfc3EgPCAw
KQotICAgICAgICBzZmFjdG9yX3NxID0gMDsKLQotICAgIHNmYWN0b3IgPSBzcXJ0KHNmYWN0b3Jf
c3EpOwotCi0gICAgaWYgKHN3ZWVwRmxhZyA9PSBsYXJnZUFyY0ZsYWcpCi0gICAgICAgIHNmYWN0
b3IgPSAtc2ZhY3RvcjsKLQotICAgIHhjID0gMC41ICogKHgwICsgeDEpIC0gc2ZhY3RvciAqICh5
MSAtIHkwKTsKLSAgICB5YyA9IDAuNSAqICh5MCArIHkxKSArIHNmYWN0b3IgKiAoeDEgLSB4MCk7
Ci0KLSAgICAvKiAoeGMsIHljKSBpcyBjZW50ZXIgb2YgdGhlIGNpcmNsZS4gKi8KLSAgICB0aDAg
PSBhdGFuMih5MCAtIHljLCB4MCAtIHhjKTsKLSAgICB0aDEgPSBhdGFuMih5MSAtIHljLCB4MSAt
IHhjKTsKLQotICAgIHRoX2FyYyA9IHRoMSAtIHRoMDsKLSAgICBpZiAodGhfYXJjIDwgMCAmJiBz
d2VlcEZsYWcpCi0gICAgICAgIHRoX2FyYyArPSAyICogTV9QSTsKLSAgICBlbHNlIGlmICh0aF9h
cmMgPiAwICYmICFzd2VlcEZsYWcpCi0gICAgICAgIHRoX2FyYyAtPSAyICogTV9QSTsKLQotICAg
IG5fc2VncyA9IChpbnQpIChpbnQpIGNlaWwoZmFicyh0aF9hcmMgLyAoTV9QSSAqIDAuNSArIDAu
MDAxKSkpOwotCi0gICAgZm9yKGkgPSAwOyBpIDwgbl9zZWdzOyBpKyspIHsKLSAgICAgICAgZG91
YmxlIHNpbl90aCwgY29zX3RoOwotICAgICAgICBkb3VibGUgYTAwLCBhMDEsIGExMCwgYTExOwot
ICAgICAgICBkb3VibGUgeDEsIHkxLCB4MiwgeTIsIHgzLCB5MzsKLSAgICAgICAgZG91YmxlIHQ7
Ci0gICAgICAgIGRvdWJsZSB0aF9oYWxmOwotCi0gICAgICAgIGRvdWJsZSBfdGgwID0gdGgwICsg
aSAqIHRoX2FyYyAvIG5fc2VnczsKLSAgICAgICAgZG91YmxlIF90aDEgPSB0aDAgKyAoaSArIDEp
ICogdGhfYXJjIC8gbl9zZWdzOwotCi0gICAgICAgIHNpbl90aCA9IHNpbihhbmdsZSAqIChNX1BJ
IC8gMTgwLjApKTsKLSAgICAgICAgY29zX3RoID0gY29zKGFuZ2xlICogKE1fUEkgLyAxODAuMCkp
OwotCi0gICAgICAgIC8qIGludmVyc2UgdHJhbnNmb3JtIGNvbXBhcmVkIHdpdGggcnN2Z19wYXRo
X2FyYyAqLwotICAgICAgICBhMDAgPSBjb3NfdGggKiByMTsKLSAgICAgICAgYTAxID0gLXNpbl90
aCAqIHIyOwotICAgICAgICBhMTAgPSBzaW5fdGggKiByMTsKLSAgICAgICAgYTExID0gY29zX3Ro
ICogcjI7Ci0KLSAgICAgICAgdGhfaGFsZiA9IDAuNSAqIChfdGgxIC0gX3RoMCk7Ci0gICAgICAg
IHQgPSAoOC4wIC8gMy4wKSAqIHNpbih0aF9oYWxmICogMC41KSAqIHNpbih0aF9oYWxmICogMC41
KSAvIHNpbih0aF9oYWxmKTsKLSAgICAgICAgeDEgPSB4YyArIGNvcyhfdGgwKSAtIHQgKiBzaW4o
X3RoMCk7Ci0gICAgICAgIHkxID0geWMgKyBzaW4oX3RoMCkgKyB0ICogY29zKF90aDApOwotICAg
ICAgICB4MyA9IHhjICsgY29zKF90aDEpOwotICAgICAgICB5MyA9IHljICsgc2luKF90aDEpOwot
ICAgICAgICB4MiA9IHgzICsgdCAqIHNpbihfdGgxKTsKLSAgICAgICAgeTIgPSB5MyAtIHQgKiBj
b3MoX3RoMSk7Ci0KLSAgICAgICAgc3ZnQ3VydmVUb0N1YmljKGEwMCAqIHgxICsgYTAxICogeTEs
IGExMCAqIHgxICsgYTExICogeTEsIGEwMCAqIHgyICsgYTAxICogeTIsIGExMCAqIHgyICsgYTEx
ICogeTIsIGEwMCAqIHgzICsgYTAxICogeTMsIGExMCAqIHgzICsgYTExICogeTMpOwotICAgIH0K
LQotICAgIGlmICghcmVsYXRpdmUpCi0gICAgICAgIGN1cnggPSB4OwotICAgIGVsc2UKLSAgICAg
ICAgY3VyeCArPSB4OwotCi0gICAgaWYgKCFyZWxhdGl2ZSkKLSAgICAgICAgY3VyeSA9IHk7Ci0g
ICAgZWxzZQotICAgICAgICBjdXJ5ICs9IHk7ICAgIAotfQotCi12b2lkIFNWR1BhdGhQYXJzZXI6
OnN2Z0xpbmVUb0hvcml6b250YWwoZG91YmxlLCBib29sKQotewotfQotCi12b2lkIFNWR1BhdGhQ
YXJzZXI6OnN2Z0xpbmVUb1ZlcnRpY2FsKGRvdWJsZSwgYm9vbCkKLXsKLX0KLQotdm9pZCBTVkdQ
YXRoUGFyc2VyOjpzdmdDdXJ2ZVRvQ3ViaWNTbW9vdGgoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwg
ZG91YmxlLCBib29sKQotewotfQotCi12b2lkIFNWR1BhdGhQYXJzZXI6OnN2Z0N1cnZlVG9RdWFk
cmF0aWMoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBib29sKQotewotfQotCi12b2lk
IFNWR1BhdGhQYXJzZXI6OnN2Z0N1cnZlVG9RdWFkcmF0aWNTbW9vdGgoZG91YmxlLCBkb3VibGUs
IGJvb2wpCi17Ci19Ci0KLXZvaWQgU1ZHUGF0aFBhcnNlcjo6c3ZnQXJjVG8oZG91YmxlLCBkb3Vi
bGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGJvb2wsIGJvb2wsIGJvb2wpCi17Ci19IAotCi19
Ci0KLS8vIHZpbTp0cz00Om5vZXQKLSNlbmRpZiAvLyBTVkdfU1VQUE9SVApJbmRleDogV2ViQ29y
ZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIv
c3ZnL3N2Z3BhdGhwYXJzZXIuaAkocmV2aXNpb24gMTgzOTMpCisrKyBXZWJDb3JlL2tzdmcyL3N2
Zy9zdmdwYXRocGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNzcgKzAsMCBAQAotLyogVGhp
cyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0Ci0gICBDb3B5cmlnaHQgKEMpIDIwMDIs
IDIwMDMgVGhlIEthcmJvbiBEZXZlbG9wZXJzCi0KLSAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAg
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KLQotICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0gICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAotICAgQm9zdG9uLCBNQSAwMjExMS0x
MzA3LCBVU0EuCi0qLwotCi0jaWZuZGVmIF9fU1ZHUEFUSFBBUlNFUl9IX18KLSNkZWZpbmUgX19T
VkdQQVRIUEFSU0VSX0hfXwotI2lmZGVmIFNWR19TVVBQT1JUCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
Ci17Ci0gICAgY2xhc3MgRGVwcmVjYXRlZFN0cmluZzsKLQotICAgIGNvbnN0IGNoYXIgKnBhcnNl
Q29vcmQoY29uc3QgY2hhciAqcHRyLCBkb3VibGUgJm51bWJlcik7Ci0KLSAgICBjbGFzcyBTVkdQ
b2x5UGFyc2VyCi0gICAgewotICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCB+U1ZHUG9seVBh
cnNlcigpIHsgfQotICAgICAgICB2b2lkIHBhcnNlUG9pbnRzKCBjb25zdCBEZXByZWNhdGVkU3Ry
aW5nICZwb2ludHMgKSBjb25zdDsKLQotICAgIHByb3RlY3RlZDoKLSAgICAgICAgdmlydHVhbCB2
b2lkIHN2Z1BvbHlUbyggZG91YmxlIHgxLCBkb3VibGUgeTEsIGludCBuciApIGNvbnN0ID0gMDsK
LSAgICB9OwotCi0gICAgLyoqCi0gICAgICogUGFyc2VyIGZvciBzdmcgcGF0aCBkYXRhLCBjb250
YWluZWQgaW4gdGhlIGQgYXR0cmlidXRlLgotICAgICAqCi0gICAgICogVGhlIHBhcnNlciBkZWxp
dmVycyBlbmNvdW50ZXJlZCBjb21tYW5kcyBhbmQgcGFyYW1ldGVycyBieSBjYWxsaW5nCi0gICAg
ICogbWV0aG9kcyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhvc2UgY29tbWFuZHMuIENsaWVudHMgaGF2
ZSB0byBkZXJpdmUKLSAgICAgKiBmcm9tIHRoaXMgY2xhc3MgYW5kIGltcGxlbWVudCB0aGUgYWJz
dHJhY3QgY29tbWFuZCBtZXRob2RzLgotICAgICAqCi0gICAgICogVGhlcmUgYXJlIHR3byBvcGVy
YXRpbmcgbW9kZXMuIEJ5IGRlZmF1bHQgdGhlIHBhcnNlciBqdXN0IGRlbGl2ZXJzIHVuYWx0ZXJl
ZAotICAgICAqIHN2ZyBwYXRoIGRhdGEgY29tbWFuZHMgYW5kIHBhcmFtZXRlcnMuIEluIHRoZSBz
ZWNvbmQgbW9kZSwgaXQgd2lsbCBjb252ZXJ0IGFsbAotICAgICAqIHJlbGF0aXZlIGNvb3JkaW5h
dGVzIHRvIGFic29sdXRlIG9uZXMsIGFuZCBjb252ZXJ0IGFsbCBjdXJ2ZXMgdG8gY3ViaWMgYmV6
aWVycy4KLSAgICAgKi8KLSAgICBjbGFzcyBTVkdQYXRoUGFyc2VyCi0gICAgewotICAgIHB1Ymxp
YzoKLSAgICAgICAgdmlydHVhbCB+U1ZHUGF0aFBhcnNlcigpIHsgfQotICAgICAgICB2b2lkIHBh
cnNlU1ZHKCBjb25zdCBEZXByZWNhdGVkU3RyaW5nICZkLCBib29sIHByb2Nlc3MgPSBmYWxzZSAp
OwotCi0gICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnTW92ZVRvKCBkb3Vi
bGUgeDEsIGRvdWJsZSB5MSwgYm9vbCBjbG9zZWQsIGJvb2wgYWJzID0gdHJ1ZSApID0gMDsKLSAg
ICAgICAgdmlydHVhbCB2b2lkIHN2Z0xpbmVUbyggZG91YmxlIHgxLCBkb3VibGUgeTEsIGJvb2wg
YWJzID0gdHJ1ZSApID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0xpbmVUb0hvcml6b250
YWwoIGRvdWJsZSB4LCBib29sIGFicyA9IHRydWUgKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2
Z0xpbmVUb1ZlcnRpY2FsKCBkb3VibGUgeSwgYm9vbCBhYnMgPSB0cnVlICk7Ci0gICAgICAgIHZp
cnR1YWwgdm9pZCBzdmdDdXJ2ZVRvQ3ViaWMoIGRvdWJsZSB4MSwgZG91YmxlIHkxLCBkb3VibGUg
eDIsIGRvdWJsZSB5MiwgZG91YmxlIHgsIGRvdWJsZSB5LCBib29sIGFicyA9IHRydWUgKSA9IDA7
Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzdmdDdXJ2ZVRvQ3ViaWNTbW9vdGgoIGRvdWJsZSB4LCBk
b3VibGUgeSwgZG91YmxlIHgyLCBkb3VibGUgeTIsIGJvb2wgYWJzID0gdHJ1ZSApOwotICAgICAg
ICB2aXJ0dWFsIHZvaWQgc3ZnQ3VydmVUb1F1YWRyYXRpYyggZG91YmxlIHgsIGRvdWJsZSB5LCBk
b3VibGUgeDEsIGRvdWJsZSB5MSwgYm9vbCBhYnMgPSB0cnVlICk7Ci0gICAgICAgIHZpcnR1YWwg
dm9pZCBzdmdDdXJ2ZVRvUXVhZHJhdGljU21vb3RoKCBkb3VibGUgeCwgZG91YmxlIHksIGJvb2wg
YWJzID0gdHJ1ZSApOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQXJjVG8oIGRvdWJsZSB4LCBk
b3VibGUgeSwgZG91YmxlIHIxLCBkb3VibGUgcjIsIGRvdWJsZSBhbmdsZSwgYm9vbCBsYXJnZUFy
Y0ZsYWcsIGJvb2wgc3dlZXBGbGFnLCBib29sIGFicyA9IHRydWUgKTsKLSAgICAgICAgdmlydHVh
bCB2b2lkIHN2Z0Nsb3NlUGF0aCgpID0gMDsKLSAgICBwcml2YXRlOgotICAgICAgICB2b2lkIGNh
bGN1bGF0ZUFyYyggYm9vbCByZWxhdGl2ZSwgZG91YmxlICZjdXJ4LCBkb3VibGUgJmN1cnksIGRv
dWJsZSBhbmdsZSwgZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgcjEsIGRvdWJsZSByMiwgYm9v
bCBsYXJnZUFyY0ZsYWcsIGJvb2wgc3dlZXBGbGFnICk7Ci0gICAgfTsKLQotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gU1ZHX1NVUFBPUlQKLSNlbmRpZgotCi0vLyB2aW06dHM9
NDpub2V0CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtcHR5LXByZXNlcnZlLWFzcGVj
dC1yYXRpby1leHBlY3RlZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJr
ZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0
cmVhbQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbXB0eS1w
cmVzZXJ2ZS1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQucG5nCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTmFtZTogc3ZuOm1p
bWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKCmlWQk9SdzBLR2dvQUFBQU5T
VWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBTWVVbEVRVlI0bk8zWndRMkFRQXdFc1lQR29m
UFEKeFJ3Q3U0S1Y4aHJsV1BlYXhXdk01UndBQUh6WHVYc0FBQUR3SHdJRUFBRElDQkFBQUNBalFB
QUFnSXdBQVFBQU1nSUVBQURJQ0JBQQpBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFB
QUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFCkFBRElDQkFBQUNBalFB
QUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFB
QWdJd0EKQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFB
QWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBagpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFB
QWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJCkNCQUFBQ0FqUUFB
QWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFB
Z0l3QUFRQUEKTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFB
Z0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQQpnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFB
Z0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBCkFDQWpRQUFB
Z0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFn
SXdBQVFBQU1nSUUKQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNCenpNenNI
Z0VBQVB5RER3Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFH
UUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdR
RUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FF
Q0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
CkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVD
QUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIK
SUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFtUWRpbFF5bllNdXpnQUFBQUFCSlJVNUVya0pnCmdnPT0KCkluZGV4OiBMYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQu
cG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5
cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNo
YW5nZXMgb246IExheW91dFRlc3RzL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5
bnRheC1leHBlY3RlZC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgYXBw
bGljYXRpb24vb2N0ZXQtc3RyZWFtCgoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllD
QVlBQUFDYWRvSndBQUFnQUVsRVFWUjRuTzNkZWJoVmRiMC84TTloMEFSVQpVTGxLS1E0NGtFVmR6
ZkNtbGtaZ1RyY3dCVFdIdEVkTjh6WTRZYWFsOWxTWWtYcWRRODJjTWlIVXZPWjByU2VIcTVoMnJY
elVJQlhLCkFRMEVSVkFCT2QvZkgrdDN6ajNESHMvd1BZZmo2L1U4UEhyMldudXQ3N0MrMzczZWU2
KzFkME5LS1FVQUFFQUcvWHE2QUFBQXdIdUgKQUFJQUFHUWpnQUFBQU5rSUlBQUFRRFlDQ0FBQWtJ
MEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlBQUNRalFBQ0FBQmtJNEFBQUFEWgpDQ0FBQUVBMkFn
Z0FBSkNOQUFJQUFHUWpnQUFBQU5rSUlBQUFRRFlDQ0FBQWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFC
QU5nSUlBQUNRCmpRQUNBQUJrSTRBQUFBRFpDQ0FBQUVBMkFnZ0FBSkNOQUFJQUFHUWpnQUFBQU5r
SUlBQUFRRFlDQ0FBQWtJMEFBZ0FBWkNPQUFBQUEKMlFnZ0FBQkFOZ0lJQUFDUWpRQUNBQUJrSTRB
QUFBRFpDQ0FBQUVBMkFnZ0FBSkNOQUFJQUFHUlRNb0M4L3ZyckpWZGV2bng1UFBIRQpFMVVmNjIy
V0xGa1NpeGN2N3RCemUwdjlsaXhaRW9zV0xlcldmZFJTMTlkZmZ6MWVmZlhWRGorL0k5NTg4ODE0
NVpWWE92ejhIRzNYCm03Mzg4c3V4WU1HQ25pNUdzNDdPSSsvMWZzeWwzUHpmbCtVY0k3WHV5L0hl
OTFSNi9leUs5U01pNXM2ZEc0OCsrbWlzV3JXcTN1SzEKMHRXdjUydkNPVXhFNTg0WGEyVnNGOW9G
a0FVTEZzUysrKzdiYnNYWnMyZkhEanZzRU4vNjFyY3FQdGJiWEhIRkZURjgrUEI0OU5GSAo2MzV1
YjZuZlRUZmRGQnR2dkhFODhNQUQzYmFQV3VyNnkxLytzbXc1dXF1dFpzeVlFUnR2dkhIY2R0dHRI
WHAranJicjdiNzV6Vy9HCnlTZWYzTlBGaUlpT3p5UDZNWTl5ODM5dk1YUG16Qmc1Y21RME5EVEVZ
WWNkRmtjY2NVVHN2ZmZlY2Z6eHgzY3FPT1VjSTdYc3kvSGUKOTFSNi9leUs5U01pcGt5WkVzOCsr
MnljYzg0NWNjb3BwM1MwcUYzK2VyNG1uTU5FZE81OHNWYkc5djlwRjBDbVQ1OGVEei84Y0R6OAo4
TU90SHYrM2YvdTNtRGh4WXRYSGVwdmpqanN1Qmd3WTBLSG45cGI2SFhMSUliSGhoaHQyNno1cXFl
dkJCeDhjUTRjT0xkbWUzZFZXCmt5ZFBqaTIyMktMbTlWOTk5ZFY0NUpGSG12L08wWGE5M2ZUcDAr
UHl5eS92NldKRVJNZm5FZjJZUjduNXY2ZTBIYytUSmsySy9mYmIKTHdZTUdCQTMzSEJEWEhmZGRm
SExYLzR5N3IvLy90aG5uMzA2dE0ySXZHT2sxTDU2Kzd4VnFzMm9UNlhYejY1WS82OS8vV3Y4OXJl
LwpqWDMyMlNkbXpwelpxZkJRYms3dTZIR3dKcHpEUkhUdWZMRld2VzFzOTZSV0FXVFZxbFV4Zi83
ODJISEhIZVBDQ3k5c3QzTC8vdjFyCmVxeXR4c2JHVGhReElxWFVxVzMzNzk4L0dob2FPclR2V3Vy
WGxjclZKMGM1S3UyanFWejkrL2VQZnYxSzN6clVYV1dzZFVKNDY2MjMKNHNBREQ0d1hYbmloMWVO
ZFhhNUt4MXhuUC9idWpITGxHanAwYUt5Ly92b2QybWFsc1ZlcnRtM1MwWG1rMW43TTFRZWRuZGU2
ZWp1ZApWVzMrajZpdHJCMnRUOXRqcmR4NEhqSmtTS3UvMTE5Ly9mak1aejRUczJmUGp1WExsN2Zi
YnN2am9kdzJPek5HNnRWMlgxMDViM1hICnNWU3VmRTE2Y3M3cnJIcmFxelAxck9YMXN6UHJSMFQ4
NVM5L2FUNW1CZzhlSENOR2pHaGUxcEd5dHozK3FoMEhUZGJrYzVpbTVSMDkKWHl5bDFHdG9WN1JG
YjNuZDZJeFd2VEJyMXF5WU9IRmluSERDQ1hIcnJiZFdQZEJxY2RGRkY4WE5OOThjUnh4eFJKeDAw
a25Oajk5OQo5OTN4TC8veUwzSEFBUWZFMHFWTEl5Smk2dFNwc2YvKys4ZGJiNzBWRVJFdnZmUlNu
SFBPT2ZHZi8vbWZzY2NlZThRUlJ4d1JwNTkrCmVxeGN1YkxpdGt0NTVwbG5Zdi85OTQvMTFsc3ZE
anJvb0ZpMmJGbXI1WC80d3gvaXFLT09pczkrOXJQeGpXOThvK0kxZ25QbXpJbXYKZnZXcjhZTWYv
Q0MrOElVdnhNVVhYOXpxSUx2MTFsdGpndzAyaUpOUFBqbFdybHdaSjU1NFlteXd3UVp4eVNXWFJF
VEUvUG56NHlNZgorVWpNblR1M3ByWnFzbURCZ2pqaWlDTmk0NDAzanNtVEo4ZnExYXRyS3RPc1di
TmlrMDAyaVR2dnZETldyRmdSNTU1N2JteXl5U1kxCnZaUHg3TFBQeGxlLyt0VzQ1SkpMNHVTVFR5
NzVBbDlKdGJhcXRyeXQ2ZE9ueDE1NzdSWFhYMzk5ODNIUTVPYy8vM25NbmowN2Z2R0wKWDdRN2dh
clVkaEcxOTMrNVBycjY2cXZqeWl1dmpCLy8rTWV4Nzc3N3hodHZ2QkVSRVE4OTlGQWNkdGhoTVcz
YXREanJyTE5pdSsyMgppLzMzM3o4V0xsd1kzL25PZCtMREgvNXc3THJycnEydU9hM25XS3hXcm1l
ZWVTWk9PT0dFT09pZ2c1b2Z1LzMyMjJQOCtQSHhrNS84CkpMNys5YS9ISnB0c0VwTW1UV28xb1Qz
Ly9QTng1SkZIeHJScDArSUxYL2hDM0hQUFBYV1hyMXliZEVhbGZpeTN2MXJtbWxycU5HUEcKalBq
TVp6NFRVNmRPamNtVEo4Zmd3WVBqazUvOFpLdnIrVysvL2ZiNC9PYy9INWRjY2tuc3Q5OStzZlhX
VzBkS3FlejJLNDM1VXM4cAp0ZjI3N3JxcmF2MXFxV08xK2I5Y1dXdHBsMHI3TG5lc1ZSclBMVFUy
TnNaamp6MFc0OGFOaThHREJ6Yy9YdXA0S0xYTlVtTWtvcjY1CnFkWTUvNjY3N21xM3I4N01XeTJW
NnArWk0yZkdOdHRzRThjZGQxeTg5dHByRVZITW9ZY2RkbGlzV0xFaUlxclBCK1hLVjI2OC9mblAK
ZjQ1eDQ4YkZ4ei8rOGZqSFAvNFJGMTU0WVh6eGkxK001NTU3cm1TNXl4MGJwWTcxWC8vNjF5WEhW
NlcrS2pjbWF6MS9LRmZQV3ViUgplbDgvcTYxZnJxMXV1dW1tK05uUGZoWXZ2dmhpbkgzMjJjMlhM
SmNyZTBmT0NXb1pqOTExRHRQUk10ZlNwcVZVT2wrczlmV3YwbXRvClo5dWkzdGVOaU5xTzEreFND
NGNjY2toNjk5MTMwMXR2dlpXR0RSdVdwa3laMG5KeCt0YTN2cFgyM0hQUHFvODFXYkJnUWRwMTEx
MmIKLzU0MmJWcXI1Y2NmZjN6NjFLYysxZnozRlZkY2tmNzR4ejgyLzMzMDBVZW5tMjY2S2FXVTB2
VHAwOVBRb1VQVGE2KzlWdE8yV3hvMAphRkE2OU5CRDArTEZpOU5qanoyV2hnMGJsaTY4OE1MbTVT
Ky8vSEk2OE1BRDA2cFZxMUpqWTJNYU4yNWNPdTIwMDByV2I4bVNKV25UClRUZE44K2JOU3ltbHRI
RGh3clRoaGh1bWl5Kyt1TlUrZDlwcHAzVG1tV2VtbEZKYXRteFpHakprU0xyMzNudFRTaW10WExr
eW5YREMKQ1hXMTFRYys4SUYwNUpGSHBqZmZmRFBObno4L05UUTBwQWNmZkxEbU1xMjMzbnBwMXF4
WkthV1Uzbjc3N1JRUjZmZS8vMzJyZmJTdAo2OXR2djUxR2poeVpYbnp4eFpSU1NuUG56azBSa1g3
OTYxK1hiT2Q2MjZyV3Rod3paa3k2L1BMTDAwc3Z2WlJPT2VXVXRIVHAwcEw3CmI2cm5MYmZjVW5Q
YnBWUzUvMXNxMTBkTGxpeEphNjIxVm5ybGxWZFNTaW50dnZ2dTZZWWJia2dwcGJSaXhZcTA0NDQ3
cGozMjJDTXQKWHJ3NC9lTWYvMGliYnJwcDJuZmZmZE9pUll2U1AvLzV6elI2OU9oMCtlV1gxMVdX
V3NxVlVrcU5qWTNwK09PUFQrUEdqV3QrYk5XcQpWV25ycmJkTysreXpUMXE2ZEdtYU4yOWVxelo1
ODgwMzAzYmJiWmVXTFZ1V1VrcnA4c3N2VDZOSGo2NnJmSlhhcE41NXBFbTFNVkJ1CmZ5bFZubXRx
cmRPcVZhdlMwS0ZEMCtUSms5TmJiNzJWL3ZDSFA2U1JJMGVtYjMvNzI4M3JMRnEwS0syLy92cHA3
NzMzVHM4OTkxeTYKL3ZycnkyNi9VcitWZTA2cDdWZXJYNjExckRUL1Z5cHJ0WGFwdE85S3gxcEtw
Y2Z6cWFlZW12cjM3NS91dSsrKzlMT2YvU3hObURBaApUWnc0TWYzbEwzOXBYcWZTOGRCMm02WEdT
SzF6VTB1MXpQbWw5bFd1bnRYbXJaWXE5YytFQ1JQU0Y3LzR4ZWEvcjdycXF2VEFBdzgwCi8xMXRQ
aWhWdm1yajdjRUhIMHo5Ky9kUGYvempIOU94eHg2YmxpeFpVckxjbFk2TlVzZDZxY2VxOVZXcDU5
UjYvbENwbnRYYXJkN1gKejJyclZ4dkRGMXh3UWRwaGh4MXE3cU5xNXdTbDV1UlN4Mm1UN2o2SDZV
aVo2KzJEbENxZkw5YjZXbEZ0WHV0TVczVGtkU09sMnNaNQpiczJmZ1B6cFQzK0s3YmZmUHZyMzd4
L3JyTE5PSEhYVVVYSGxsVmUyZWdldFhvTUhENDRubm5naVRqbmxsRmkrZkhrY2Q5eHhyWlovCjdX
dGZpd2NmZkxENWs0Q25uMzQ2ZHR4eHgrYmxkOTU1Wjd6NTVwc1JFYkhiYnJ2Rjh1WExZKzIxMTY1
cDIyMTkrY3Rmam1IRGhzVk8KTyswVUJ4NTRZS3VibXErNDRvcDQ1NTEzNHJ6enpvdXBVNmZHOE9I
RDQ2bW5uaXE1bld1dnZUYUdEQm5TZkYvQ1JodHRGSHZzc1VlYwpmLzc1cmRZNzdyampZc2FNR1JF
UnNjNDY2OFNHRzI0WTExOS9mVVJFM0hiYmJURjU4dVM2MmlvaVl2ejQ4VEZreUpEWWZQUE5ZOU5O
Ck4yMStSNm1XTXJYOHlLL1dTNXF1di83NkdEUm9VSHpnQXgrSWlJaHR0dGttTnQ1NDQ1cWVXMHU1
YW0zTGlPTDYxclBPT2l0KytNTWYKeHJycnJsdHh2NlUrUGkzWGRoRzE5Mys1UGhvNmRHZzg5TkJE
c2ZIR0c4ZlRUejhkcjcvK2V2enRiMytMaUlpMTFsb3JSb3dZRVR2dgp2SE1NR3pZc050dHNzeGd6
Wmt4c3YvMzJzZUdHRzhidzRjTmpoeDEyaVBuejU5ZFZsbHJLMWRRV2JhODNIVEJnUUF3Yk5pekdq
aDBiCjY2NjdibXl4eFJieC92ZS9QLzcrOTc5SFJNUTExMXdUbzBlUGJuNDMrU3RmK1VvODlOQkRk
Wld2VXB0MFJybCtyTGEvU25OTnJYVWEKTUdCQURCMDZOTWFQSHgvcnJMTk9mUHpqSDQ4RER6d3cv
dXUvL3F0NW5RMDMzREEyM1hUVDJHZWZmV0tycmJhS3d3NDdyT3oySy9WYgp1ZWVVMm42MSt0VlN4
MnJ6ZjZXeVZtdVhTdnV1ZEt3MUtYYzV4RC8vK2M4NDlkUlRJeUxpbGx0dWlURmp4alF2cTNZOHRO
eG1xVEZTCno5elVwSlk1djlTK0t0V3owcnpWVXFYK21USmxTc3ljT1ROZWV1bWxpSWg0N0xISFly
ZmRkbXRlWG0wK0tGVythdTI3MjI2N3hmSEgKSHgvNzdMTlBUSnc0TVlZT0hWcXkzSldPalZMSGVx
bkhxdlZWcWVmVWV2NVFxWjdWMnEzZTE4OXE2OWY3MmxDdGp6cHlUaEJSZmp4Mgo5emxNUjhyYzBY
T1ljdWVMdGZaQkxmTmFSOXVpSTY4YlRlMVZ5empQcWJrSHAwK2ZIbSs4OFVZY2RkUlJFVkZjNzdk
a3laSzQ3cnJyCnFwN2NsN1B1dXV2R3pKa3o0L0RERDQ4Wk0yYkVyMzcxcXhnN2Rteno4ZzkrOElP
eCsrNjd4OVZYWHgxSEhubGtmUGpESDI3MS9QSGoKeDhlc1diUGl5Q09QalBuejV6ZC92Ri9MdHR0
cU9XaDIyV1dYK01VdmZ0SDg5OXk1YzJPWFhYYUowMDgvdldxZG5uMzIyWGJYNysyNgo2NjV4NjYy
M3h1clZxNXVYSFh6d3dYSGlpU2ZHUXc4OUZBc1hMb3lqampvcXpqdnZ2TGowMGt2amdRY2VpSXN2
dnJpdXRtcHI0TUNCCnpSL1oxVnFtZXYzbEwzK0prU05IdG5xc1g3OStOVjhmV2ExYzlaVDcwVWNm
amJsejU4YVpaNTRabTIrK2VjWDlWaXRmeTdhTHFMMy8KSy9YUjJtdXZIU2VmZkhKTW5EZ3hOdHRz
czRxWFNyUzkxbnpnd0lIeDl0dHYxMVdXV3N0VnEvNzkremQvRlB2a2swKzJLbVBMazZaNgp5bGRQ
bTNSRTIzNnN0TDlLYzAxSDJyeko3cnZ2SGhkZGRGRTBOalkyWDFmY3IxKy9WaStPbGJaZnJ0OHFQ
YWZ0OXF2VnI1WTZWcHYvCjZ6M0dXclpMcFgxWE90WmFQdFpXUTBOREhITElJVEZzMkxEWVo1OTk0
cHh6em9tenp6NjcxVHFWam9kcWMwUkg1dFI2NS94U2RhcWsKN2ZIZVVxWCtHVDkrZkd5Ly9mWng2
YVdYeHRlLy92WFlkTk5OcSs2cjVYeFFybnpWeHZlVUtWUGkwa3N2amVlZmY3N3NmcW9kbDZXTwo5
YmFQMWRKWGJaOVR6L0Zjenp6V3N0M3FmZjJzdG41SDVxbnVtSVBMbGI4dm5jT1VPMStzdFE5cW1k
ZGFxcWN0S3JWenZjZElxWEdlClU3K0lpTmRlZXkyV0xsMGFOOTU0WTF4enpUVnh6VFhYeE0wMzN4
eTc3YlpiWEhUUlJSMitFWFh4NHNVeGZ2ejRlT3FwcDJMSEhYZU0KQ1JNbU5KOW9OVG4rK09QajJt
dXZqUnR2dkRFT1B2amdWc3V1dlBMS2FHaG9pTzkvLy9zeGFOQ2d1UExLSyt2YWRqbnZ2UE5PYkxm
ZApkczEvNzdqamp1MitFdTJOTjk2SWhRc1h0bnZ1WnB0dEZrOC8vWFFzV2JLaytiRzExMTQ3Um93
WTBlcWdHVHg0Y0J4NjZLRngxVlZYCnhkMTMzeDNmL2U1M1kvVG8wWEh1dWVmR3FGR2pPdFJXNWRS
YXBucU5HalVxWnMrZTNlRkpxMXE1NmluM2w3NzBwZGhycjczaW9JTU8KYW5mdlIyZlYydi9sK21q
ZXZIbXg1NTU3eHJlLy9lMzQ1Q2MvbWFVc3RaU3JvNFlPSFJxLytjMXZXdlg3a2lWTDRwMTMzcW01
ZkYzWgpKcldvWlgvbDVwcU90SG1UT1hQbXhMYmJibHZ4cHNaeTI1ODdkMjdaZnV0SW1Tck5wWlcy
Vjh2OFgrOHgxckpkS3UyNzByRldpNzMyCjJpdk9PT09NK043M3ZoZTMzMzU3OCtPZFBmNDZNcWZX
TytkM3BXcjljOG9wcDhUMDZkUGoybXV2alVNUFBiVFQrNnVsZmM4Ly8vejQKOFk5L0hOLzYxcmZp
SC8vNFI4bDFPalAybW5Ta3IybzluanR6SE5YNytsbHQvWHJiS3ZjYzNCZlBZU0phbnkvVzJnZWRt
ZGVxdFVXbApkdTZLOFpSVHY0aUl5eTY3TEE0ODhNQjJDNDg1NXBoNDVwbG40bzQ3N29pSWlOV3JW
N2RMUzZVZWF6Sm56cHk0Kys2N1k1Tk5Ob2xiCmJya2xCZzhlM0h4SlZaUDk5OTgvSWlJV0xWclU3
dEthNzMvLysvRzk3MzB2empubm5OaDk5OTFqblhYV3FXdmJMYlVNVWZmY2MwOU0KbVRLbCtlL1Bm
ZTV6Y2ZmZGQ4ZlpaNThkUzVZc2laZGZmamt1dmZUUzJHaWpqZHJWNytDREQ0NUJnd2JGNzM3M3Ur
YkhIbm5ra1RqNgo2S1BiN2ZQWVk0K05HMis4TVhiYmJiZG9hR2lJWTQ4OU5pNjQ0SUk0L1BERDYy
NnJGU3RXTk44MEdCR3hjdVhLNXI5cktkT1dXMjRaClR6NzVaRVFVN3dyMDY5ZXZYWHUxcmV1a1Na
UGl6VGZmakZ0dXVTVWlJcFl1WFJwTGx5NHQyODcxdGxXdGJkblVkei85NlU5anlaSWwKOGRXdmZy
WGsvaU9LazRERml4Zkh1KysrRysrKysyNUVWRzY3aU1yOTMxSzVQbnJ3d1FmajlkZGZqM2ZmZlRk
V3Jsd1pjK2JNYWZXdApJNDJOamEyT3YrWExsN2Rhdm5yMTZ1YmxsY3F5ZVBIaXVQVFNTNXR2SnEx
V3JpWXJWcXhvRjlyYVRzZ3JWNjVzTHNQRWlSTmo4ZUxGCmNjWVpaOFN5WmN2aVQzLzZVMXgxMVZY
eHZ2ZTlyK2EycXRRbTljNGpMZXRScmgrcjlVRkUrYm1tMWpvMWFYa1Q0MzMzM1JmZitNWTMKV2kx
dmJHeHMxZDdsdHI5bzBhS3kvVmFwVEcyM1g2MSsxYlpYeS94ZnkzeGJybDBxN2J2U3NSWlJlankv
OGNZYjBkalkyUHlpZS9iWgpaOGVuUC8zcE9Qend3MlBPbkRrUlVmbDRLRGRIdEd6VGV1YjVsbXFa
ODB1Tng0N01XeTFWNjUrRERqb28xbGxubmZqdGIzOGJXMjY1Clpidm5WNW9QU3BXdjJuaTcvZmJi
NHlNZitVaWNmUExKc2NzdXU1UzlpcUxhMkN0MXJMZDlySmErYXZ1Y1dzOGZxdFd6VXJ2VisvcFoK
YmYxcWJmWDIyMiszT3NHdFZ2WnE1d1NsNXVSU3gybXRiZHJaYzVpT2xMbmVQbWhTN255eDF0ZUth
dk5hWjlxaVVqdFhLMSsxY2Y3bQptMi9HTmRkY2srK2I3YTY3N3JxMDdycnJwbTkrODV2cGpUZmVh
TDQ1WlBIaXhXbktsQ2twSXRLb1VhUFNWVmRkbGJiZmZ2dTB3UVliCk5OOVk5K2lqajdaN3JLV0hI
MzQ0N2JqamptbldyRm5wNXB0dlRsT25UaTE1SThvWlo1eVJIbjMwMFhhUFQ1NDhPVVZFR2pKa1NC
bysKZkhnYU8zWnN1dSsrKytyYWRrb3BuWGJhYVduY3VISHBvb3N1U2hNblRreVhYWFpadTNWT1Av
MzAxTDkvL3pSMDZOQjB5Q0dIcEhuego1cFd0MzUxMzNwbkdqQm1UWnN5WWtjNDY2NngwM0hISHBY
ZmVlYWZrdmc4NDRJQzBhdFdxbEZKS1M1Y3VUY2NjYzB6SjlTclY1K2FiCmIwNFJrZmJlZSsvMDhz
c3ZwMW16WnFXR2hvWTBZY0tFdEhEaHdwcktkTU1OTjZSQmd3YWxUMzNxVStuNjY2OVBXMjIxVlRy
eHhCT2IKYjVJcVY5Y2YvZWhIYWNpUUlXblBQZmRNSjUxMFVobzVjbVE2NnFpajBrc3Z2ZFNxL0Ix
dHEyckxaODJhbFFZT0hKajIzSFBQOU95egp6NmJMTDc4OFJVU2FOR2xTbWp0M2JydDJQT2VjYzlM
UW9VUFREMy80dzdScTFhcWEyaTZsMHYxZmF4Lzk4NS8vVEtOR2pVcWpSbzFLClo1NTVadnJ1ZDcr
Yk50NTQ0M1Q3N2JlbjJiTm5wMkhEaHFXeFk4ZW1PWFBtcEFjZWVDQnRzc2ttYWZUbzBlbC8vL2Qv
MDJPUFBaYTIKM0hMTDlLRVBmYWo1SnRweVpibmpqanRTUktSVFR6MjE1bVBuMFVjZlRSLzk2RWZU
ZXV1dGwrNjY2NjZVVWtyMzMzOS9ldC83M3BkMgozWFhYTkcvZXZEUno1c3dVRWVsem4vdGM4NWM4
WEhMSkpXblFvRUdwWDc5K2FkeTRjZW5WVjErdHE2M0t0Y20wYWRQcW5rZFNxajRHCkt2VkJTK1ht
bWxycWxGSktXMnl4Ulpvd1lVTDY4WTkvblBiZWUrOTA4c2tucDhiR3h1YmxOOTEwVXhvNGNHQWFP
M1pzbWoxN2RzWHQKVjV2RFNqMm4zUGFyMWEvYzltcWQvNmRQbjE2eHJOWGFwVkw3VmpyVzJvN25H
VE5tcEpFalI2YUlTRi8vK3RlYmJ5NTk1WlZYMG9nUgpJOUptbTIyV2JydnR0b3JIUTl0dGxob2pL
ZFUzejdkVWFjNHZ0NitPemx0TmFuazlQT2VjYzlMVlYxL2Q3dkZhNW9PMjVhdlV2ci85CjdXL1Qx
bHR2M2R3MzA2Wk5TeEdSdnZuTmJ6YS8zclJVN3Rnb2RheVhPLzRyOVZXcDU5UjYvbENwbnJXMFc2
MnZuMDJxclYrdXJXYlAKbnAwKzlyR1BwZjc5KzZlcnI3NDZMVnUyck9xY1dPbWNvTnljM1BZNGFL
bTd6MkU2V3VaNis2RGErV0t0cnhYbDVyWE90a1ZIWGpkUwpxbTJjMzN2dnZTa2kwdE5QUDEyeVRs
MHRxcS9TY2UrKysyNUtxYmlMdituL1MxbXhZa1c3eDFhdFdwWE9QdnZzOU9LTEw2WS8vL25QCjZY
Lys1My9TYmJmZGx2YmZmLys2dHQya3NiR3gxUXRiS2N1V0xVdUxGeSt1dXEybThqMzExRk5wMGFK
RkZkZHJXN2RTZFUycC92cDAKcEV6TGxpMUxxMWV2VGlrVjM4cFNxeFVyVmpTZm5OVHlBbHh2dVdw
dHkxcFYrcGFzU3FyMWY2VSthbXhzYk5VMjliUnZQV1Y1NFlVWAowaFZYWEZGenVUcGoxYXBWelJO
VHJlVnJxYXZicEpwYTlsZHUvS1ZVVzUyMjJHS0xOSDM2OVBUYWE2K2w1Y3VYMTFXK3R0dXZwZC9x
Cm1aTlNxbHkvam15dlNiV3kxdEl1bGZaZDZWanI2SGl1ZER6VXVzMk96RTIxenZsdGRiU2VLZFYy
TEoxd3dnbWQya2ZiNTNibCtPN28KY2RsU1BYMVZ6NXpaMlhyVysvcFpiZjE2MnFwYTJUdHlUbER1
R01weERwTlN4OHBjYng5VU8xK3N0UThxeld1MVBMZFVXM1RINjBaTApIUzF2UnpTazFBVy9OTllO
emp2dnZIajg4Y2VidjFVa292aUkvL3p6ejQvdmZPYzdQVmd5NkJrclY2Nk1LNjY0SXI3ODVTKzMr
ekUyCjh0aHl5eTNqMjkvK2RoeHp6REU5WFpSZVJidjBUbSs5OVZhODhNSUwwZGpZR0RmY2NFUDg0
QWMvNk9raUFVUkVSSzhOSU04OTkxeDgKNWpPZmlaRWpSOGEyMjI0YkF3Y09qRTAyMlNST1BmWFVH
RFJvVUU4WEQ3Skx4U2VXTmY4eUxsMXIzcng1OGNFUGZqQysrTVV2eHNVWApYOXpxUisvZXk3Ukw3
M1hCQlJmRVNTZWRGR1BIam8yNzc3NDdoZzBiMXRORkFvaUlYaHhBbWp6MzNIUFIwTkFRVzIyMVZV
OFhCWGdQCnUvLysrNXR2emhzK2ZIaDg5S01mN2VFUzlRN2FwZmRhdVhKbFBQMzAwL0d2Ly9xdlBW
MFVnRlo2ZlFBQkFBRDZEdGR5QUFBQTJRZ2cKQUFCQU5nSUlBQUNRalFBQ0FBQmtJNEFBQUFEWkND
QUFBRUEyQWdnQUFKQ05BQUlBQUdRamdBQUFBTmtJSUFBQVFEWUNDQUFBa0kwQQpBZ0FBWkNPQUFB
QUEyUWdnQUFCQU5nSUlBQUNRalFBQ0FBQmtJNEFBQUFEWkNDQUFBRUEyQWdnQUFKQ05BQUlBQUdR
amdBQUFBTmtJCklBQUFRRFlDQ0FBQWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlBQUNRalFB
Q0FBQmtJNEFBQUFEWkNDQUFBRUEyQWdnQUFKQ04KQUFJQUFHUWpnQUFBQU5rSUlBQUFRRFlDQ0FB
QWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlBQUNRalFBQ0FBQmtJNEFBQUFEWgpDQ0FBQUVB
MkFnZ0FBSkNOQUFJQUFHUWpnQUFBQU5uMGk0YUc2QlAvZW9NTEx1ajVkdWlLZnkrKzJOTXRXWlNo
cDl1aEsvNWRjRUZQCnQyU2hwOXVocS80QkFHdThBUkVSTDBiRUl6MWNrSTc2UkVSczJ0T0ZhR05t
VHhlZ2d6YUxpSC9yNlVLME1Uc2lYdWpwUW5UUXBKNHUKUUJ2R09RRFFHd3lJS0U1S0p2ZHdRVHBx
UnZTK0U3MDF0UzBuUmRHZXZjbjVzZVlHdXRUVEJXakRPQWNBZWdQM2dBQUFBTmtJSUFBQQpRRFlD
Q0FBQWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlBQUNRalFBQ0FBQmtJNEFBQUFEWkNDQUFB
RUEyQWdnQUFKQ05BQUlBCkFHUWpnQUFBQU5rTTZJNk45dXNYc2NVV0VadHZIakYwYVBIWTY2OUgv
UDN2RWZQblJ6UTJkc2RlKzY3aHd5TzIzcnI0NzhDQkVjdVgKUnl4WUVERjNic1RiYi9kMDZkWXM2
NndUc2UyMkVTTkdSQXdlSExGeVpjU2lSUkhQUGh1eGNHRlBsMjdOWXB3REFCM1JaUUZrdmZVaQpK
aytPbURneDRwT2ZMUDR1WmVuU2lBY2ZqTGp0dG9nWk00cS9hYTJoSVdMOCtLSTlKMHdvVHZCS1di
MDY0b2tuSW43em00Z2JiNHo0CjI5L3lsbk5Oc2MwMkVZY2VHckh2dmhFNzdCRFJ2My9wOWY3Kzk0
ai8vdS9pdUx6dnZvaVU4cFp6VFdDY0F3Q2QxZWxMc0RiWUlPSzgKOHlKZWZESGl5aXVMazd4eUp5
VVJ4Yko5OXkzV2ZmSEY0cmtiYk5EWlV2UU5EUTBSUnh3Uk1XZE94TDMzUmh4OWRQbndFVkdjU08r
MApVOFJaWnhYUHVlT080Z1Nid2c0N0ZHMHlaMDdSUmp2dFZENThSQlJ0ZmZUUlJkdlBtVlAwUlVO
RHZ2TDJac1k1QU5CVk9oVkFEam1rCnVBem8xRk1qMWwyMy91ZXZ1Mjd4M0xsemkyMjlsNDBlSGZI
SUl4SFhYbHU4WTErdmhvYmloTy94eHlNdXZqaGkwS0N1TCtPYVl0Q2cKb2cwZWY3eG9rNDZFaUcy
MktmcmlrVWVLdm5rdk04NEJnSzdVb1FBeVlFREVGVmRFL09JWEVSdHUyUGxDYkxoaHNhMHJyaWky
L1Y1egp3QUhGeWZMT08zZCtXLzM2UmZ6SGYwVE1ubDFjbi85ZXM4VVdSZDMvNHorS3R1aXNuWGN1
K3VhQUF6cS9yVFdOY1E0QWRJZTZUOUhXCldpdmlsbHNpdnZLVnJpL01WNzVTYkh1dHRicCsyNzNW
TWNkRXpKeFozQkRkbGNhTWlYajQ0WWp0dHV2YTdmWm0yMjFYMUhuTW1LN2QKN3VEQlJSOGRjMHpY
YnJjM004NEJnTzVTZHdENStjOGovdjNmdTZFay85Ky8vM3V4ai9lQ0F3NkkrT2xQdSs4K2d4RWpp
cHVxUjR6bwpudTMzSnQxZDE0YUdvcS9lSzUrRUdPY0FRSGVwSzRDY2VHS2VhN2dQT2FUWVYxODJl
blJ4ajBGMzMrUzgyV2JGdHhCVnV2bDZUZGUvCmYxSEh6VGJyM3YwME5CUjkxdGZ2Q1RIT0FZRHVW
SE1BMlc2N2lLbFR1N01vclUyZFd2eGVRMS9VMEZDOCs5dlZsMTJWczl0dWZmdEUKNzhRVGl6cm1N
SGh3MFhkOTlkdXhlbUtjdjVjdUV3UUE2Z2dnMDZaRnJMMTI1WFVXTENqK2xiTnNXZkdEYjdYOFFO
bmFhMGY4NUNlMQpsbTdOY3ZqaDFXODRyOVpXalkzRjh1WExhOXZuV1djVlAyVFkxd3dmWHRTdGts
cmFxdHF4MjlMT094ZDkyQmYxeERpZk5xMitNZ0lBCmE3YWFBc2dPTzBUc3QxLzU1WTJOeFc4bXZQ
Lzl4Yjh2ZmFuOXljZE5OMFZzc2tueDlhWWYrbERFdkhuVjk3dmZmbjN2ZHkwYUdpTE8KUExQeU90
WGFhdDY4aU8yM0w1WnZ2SEd4ZmpWRGh2VE5UMEZPUExHb1d6blYycXFXWTdlVU04L3NlNStDR09j
QVFBNDFCWkRqajYrOAovRmUvaXJqKyt2LzcrN3JyaXNlYUxGdFdmSU5RMHp2UWYvMXJ4SlFwdFJX
dzJyN1hOT1BIVi82ZGoxcmFhc3FVNG9meUlvcjFXcTVmCnlkRkg5NjJ2UHgwd29LaFRKZFhhcXRx
eFc4NDIyeFI5MlpjWTV3QkFEbFVEU1AvKzFiLzU1OWxuS3orMllFSDdFK1JTenlubGdBUDYKMWcz
VWt5ZFhYbDVMVzdYOWUvbnkyaTRmR2o0OFl0eTQ2bUNrekRnQUFCSVdTVVJCVk91dEtjYU5xMzVa
V2JXMnFuYnNWbEt0TDljawp4amtBa0V2VkFQS3hqMFZzc0VIbGRmYmFxL1dQdnZYclZ6eldaTlNv
OWplYTdydHZiUVhjWUlPaURIM0ZoQW1WbDlmU1Z2dnMwL3J2CjBhTWp0dHFxYS9hL0pxbWxMdFhh
cXRxeDI5bjlyeW1NY3dBZ2w2b1g1T3kwVS9XTjdMaGo4Y05pVFRlVG5uSks4VmlUZnYwaTdycXIK
dUJ6ajJXZUxrNUpxTnc2M0xjTWYvbEQ3K3IzVjhPRVJtMjllZVoxYTJ1cnNzNHYvM25sbnhOWmJS
NXgzWHUyLytsMUxmNjRwYXFsTAp0YmFxZHV4V3N2bm1SWjh1WEZoWHNYc2w0eHdBeUtWcUFObDY2
OW8yOVBuUEYvL0syWExMNHRla082TFdNdlIydGRhaldsc05IQmp4Cmd4OFUvK3BWNmY2VE5VMHRk
YW1scmFvZHU1VnN2WFhmQ0NER09RQ1FTOVgzelh2RFY3ZjJoakowaGQ1UWo0MDI2dWtTZEozZVVK
ZmUKVUlhdTBCdU96ZDVRQmdDZysxVU5JQU1INWloRzd5OURWK2dOOWVnTlplZ3F2YUV1YTYzVjB5
WG9HcjJoTFh0REdRQ0E3bGMxZ0x6MQpWbzVpOVA0eWRJVmFmelN3Ty9XVnRvem9IWFhwRFgzYUZY
cERXL2FHTWdBQTNhOXFBSG41NVJ6RjZQMWw2QXExL3RKMmQrb3JiUm5SCk8rclNHL3EwSy9TR3R1
d05aUUFBdWwvVkFQTDAwem1LMGZ2TDBCWG16bzFZdmJwbnkvRE1NejI3LzY3VTAzVlp2YnJvMDc2
Z040eXgKM2xBR0FLRDdWUTBnanp5U294aTl2d3hkNGUyM0k1NTRvbWZMOFBERFBidi9ydFRUZFhu
aWlhSlArNExlTU1aNlF4a0FnTzVYTllETQptMWY5bmVaWFgrMTRBYW85OTVsbmlqTDBGYi81VGVY
bEsxZEdMRm5Tc1czWDBnL1Y5cjhtcWFVdUhUMDJseXdwK3FLeisxOVRHT2NBClFDNDEvWHpkOWRl
WFg3WmtTY1F1dTBSTW5semZEYm5MbHhmUDJXV1h5aWZjbGZhOUpycnh4b2lVeWkvLzJ0ZUtIMlI3
OHNuNnRqdDkKZXZFYkRQZmNVMzZkSjU2SWVPcXArcmJibXozMVZPVlBsTzY1cDJpVDZkUHIyKzZU
VHhaOThMV3ZsVjhucGFJdit4TGpIQURJb2FZQQpjdVdWcFU4Nkdoc2pKazJLZVA3NTRzZkhoZ3lK
YUdpbzdkK1FJY1Z6bm4rKzJFWmpZL3Z0TDE5ZTdMc3YrZHZmaWwvbExtWDY5T0xmCjg4OUhmT1Fq
dGJkbFEwUEVWNzVTWEE0MGVYTHgvRkl1dkxENzZ0VlR5dFhwK2VlTHRuajc3YUp0Nm1uTGozeWtl
SDVUZjVSeTU1MUYKWC9ZbHhqa0FrRU5OQVdUUm90SW5ldlBuZDgyTm8wOC9YV3lyclFzdkxQYmQx
M3puTzZWUHhPNjRvL1BiWHJZczRvRUgyai8rekROOQo3eDM3aUtKT3BTNGRldUNCb2kwNnExU2ZO
RFlXZmRqWEdPY0FRQTQxQlpDSWlLbFQyNyt6dnRWV0VYLzhZOFFuUHRIeEFuemlFOFUyCnR0cXE5
ZVBQUDEvc3N5OTY0b21JeXk1ci8vaHR0MFZNbWRMeDdRNGJWcnd6ZitTUnJSOVBLZUw0NDN2K0c3
aTZ3K3JWUmQzYVh0WjIKNUpGRld3d2IxdkZ0VDVsUzlFbGJsMTNXODE4bTBGMk1jd0NndTlVY1FK
WXZqemowMFBZMzVvNFlFZkg3MzBjY2MwejlPei9tbU9LNQpJMGEwZm56bHltSmZmZVZIM2tvNTdi
VDI5M24wNnhmeG94OUYzSHh6eE9EQjlXMXZ6SmlJeHg2TCtPeG4yeS83MFk4aTdyKy80Mlh0Cjdl
Ni92NmhqVzUvOWJORW1ZOGJVdDczQmc0cysrTkdQaWo1cDZja25pNzdycTR4ekFLQzcxUnhBSWlK
bXo0NDQrdWoyN3phdnRWWngKcmZ4UGYxcjhmelZyclZXc08zMTYrL1ZUS3ZZeGUzWTlKVnZ6dlBW
V3hPYytWL3FIN0NaUExyNlN0TzI3eGVWTW1sU3NQMnBVKzJXMwozaHB4eGhtZEsrdWE0SXd6aXJx
Mk5XcFUwVGFUSnRXMm5hMjJLdGFmUExuOXNnVUxpajdyNjcvWWJad0RBTjJwcmdBU1VYeGJ6VEhI
CmxMNmM1OWhqUzcvVDJWTFRPNm5ISHR0KzJlclZ4YmJmSzkrSU0zOSt4S2MvSGZIQ0MrMlhqUmtU
OGZqakVYdnVXZjc1L2ZwRm5IdHUKeEl3WnBUOHh1ZlhXaUlNUExuMi9TVi9UMkZqVXRWUUlHVHk0
YUtOenoyMy9pVVpMZSs1WnRIbXBUMHhlZUtIb3ExTDNNUFJGeGprQQowRjNxRGlBUkVWZGZIYkh2
dmhHdnZkWitXZE8xM3FXdUY2KzA3TFhYaW0xZWZYVkhTclRtbWpNbll1ZWRJeDU2cVAyeVljTWk3
cnFyCjlDVS9UZmQ3bEZxV1VuR3lmZUNCMVgvTG9pOVp1YktvODdubmx2NnE0OU5PSzM5ZnlHbW5G
VzFkYXRsRER4VjlOR2RPMTVlNU56UE8KQVlEdTBLRUFFbEg4eHNLSFAxeThzOXhXcVhjL0s3MXJl
dlBOeGJZcS9ZWkZYN1pnUWNRZWUwU2NlbXI3YjI1cStwU2o1WDBoVForTwpsTHJmNDVsbmluZnFU
ei85dmZISlIxdU5qVVhkUC8zcDB0K08xZmEra0tiN1BVcDlPckpzV2RFbmUreFIrbEs1OXdMakhB
RG9haDBPCklCRVJyN3dTY2RCQkVXUEhSdnpxVnhHclZ2M2ZzcWJydjF2K2Eza2QrS3BWeFhQR2pp
MHVuWG5sbGM2VVpNMjNlblhFdEduRlBRaFQKcDBZc1hOaDZlZE45SVNlY1VQcitrQ2VlaVBqU2w0
b1Q2NzU4dzNtdDdyKy9hSXN2ZmFuOU4xWTEzUmZTMUpadDcvZFl1TERvZzYyMgpLdnFrTDM1N1dE
Mk1jd0NnS3pXa2lEUXpJa3JjYzF1M2pUWXFMcS9ZZmZlSWozNDBZdlBOSTlaZnYxajJ4aHNSZi85
N3hKLy9YSndjCi91WTNYZlBkL3pNaVlsSkU1WjhYeitXQ0N5Sk9PaWthdW1CVEF3Y1c3K0pQbUZE
OEt2YzIyeFR0TzNCZ2NSUDB5eThYNy9BLy9IRFIKbGwzeEMrZVRvbWpQZU9HRmlFMDM3ZndHTytQ
RkZ5TTIyeXdtUjhUTUx0amNoejVVSEp1NzdCTHh3UTlHdlAvOUVZTUdGU2ZJaXhZVgpQeXI0K09N
Ui8vM2ZFYi83WGNTNzczWitueWtpNHZ6ekkwNDhzZk1iNjZ5R2h1anVjZDdRRVBINjYrK0JjUTRB
ZE1xQXJ0ellva1VSCjExNWIvS056VnEyS3VQZmU0aCtkOTlSVFhSUFNNTTRCZ003cDFDVllBQUFB
OVJCQUFBQ0FiQVFRQUFBZ0d3RUVBQURJUmdBQkFBQ3kKRVVBQUFJQnNCQkFBQUNBYkFRUUFBTWhH
QUFFQUFMSVJRQUFBZ0d3RUVBQUFJQnNCQkFBQXlFWUFBUUFBc2hGQUFBQ0FiQVpFUkV5SwppTlRE
QmVsTHRHWFhtZEhUQmVoRGpITUFvRGNZRUpNbTlYUVorbzV0dDQwKzBaNkRCdlYwQ1lveTlJVzIz
SGJibmk1Qm9TKzBKUURRCkp6U2tsTHdwQ2dBQVpPRWVFQUFBSUJzQkJBQUF5RVlBQVFBQXNoRkFB
QUNBYkFRUUFBQWdHd0VFQUFESVJnQUJBQUN5RVVBQUFJQnMKQkJBQUFDQWJBUVFBQU1oR0FBRUFB
TElSUUFBQWdHd0VFQUFBSUJzQkJBQUF5RVlBQVFBQXNoRkFBQUNBYkFRUUFBQWdHd0VFQUFESQpS
Z0FCQUFDeUVVQUFBSUJzQkJBQUFDQWJBUVFBQU1oR0FBRUFBTElSUUFBQWdHd0VFQUFBSUJzQkJB
QUF5RVlBQVFBQXNoRkFBQUNBCmJBUVFBQUFnR3dFRUFBRElSZ0FCQUFDeUVVQUFBSUJzQkJBQUFD
QWJBUVFBQU1oR0FBRUFBTElSUUFBQWdHd0VFQUFBSUJzQkJBQUEKeUVZQUFRQUFzaEZBQUFDQWJB
UVFBQUFnR3dFRUFBRElSZ0FCQUFDeUVVQUFBSUJzQkJBQUFDQWJBUVFBQU1oR0FBRUFBTElSUUFB
QQpnR3dFRUFBQUlCc0JCQUFBeUVZQUFRQUFzaEZBQUFDQWJBUVFBQUFnR3dFRUFBRElSZ0FCQUFD
eUVVQUFBSUJzQkJBQUFDQWJBUVFBCkFNaEdBQUVBQUxJUlFBQUFnR3dFRUFBQUlCc0JCQUFBeUVZ
QUFRQUFzaEZBQUFDQWJBUVFBQUFnR3dFRUFBRElSZ0FCQUFDeUVVQUEKQUlCc0JCQUFBQ0FiQVFR
QUFNaEdBQUVBQUxJUlFBQUFnR3dFRUFBQUlCc0JCQUFBeUVZQUFRQUFzaEZBQUFDQWJBUVFBQUFn
R3dFRQpBQURJUmdBQkFBQ3lFVUFBQUlCc0JCQUFBQ0FiQVFRQUFNaEdBQUVBQUxJUlFBQUFnR3dF
RUFBQUlCc0JCQUFBeUVZQUFRQUFzaEZBCkFBQ0FiQVFRQUFBZ0d3RUVBQURJUmdBQkFBQ3lFVUFB
QUlCc0JCQUFBQ0FiQVFRQUFNaEdBQUVBQUxJUlFBQUFnR3dFRUFBQUlCc0IKQkFBQXlFWUFBUUFB
c2hGQUFBQ0FiQVFRQUFBZ0d3RUVBQURJUmdBQkFBQ3lFVUFBQUlCc0JCQUFBQ0FiQVFRQUFNaEdB
QUVBQUxJUgpRQUFBZ0d3RUVBQUFJQnNCQkFBQXlFWUFBUUFBc2hGQUFBQ0FiQVFRQUFBZ0d3RUVB
QURJUmdBQkFBQ3lFVUFBQUlCc0JCQUFBQ0FiCkFRUUFBTWhHQUFFQUFMSVJRQUFBZ0d3RUVBQUFJ
QnNCQkFBQXlFWUFBUUFBc2hGQUFBQ0FiQVFRQUFBZ0d3RUVBQURJUmdBQkFBQ3kKRVVBQUFJQnNC
QkFBQUNBYkFRUUFBTWhHQUFFQUFMSVJRQUFBZ0d3RUVBQUFJQnNCQkFBQXlFWUFBUUFBc2hGQUFB
Q0FiQVFRQUFBZwpHd0VFQUFESVJnQUJBQUN5RVVBQUFJQnNCQkFBQUNBYkFRUUFBTWhHQUFFQUFM
SVJRQUFBZ0d3RUVBQUFJQnNCQkFBQXlFWUFBUUFBCnNoRkFBQUNBYkFRUUFBQWdHd0VFQUFESVJn
QUJBQUN5RVVBQUFJQnNCQkFBQUNBYkFRUUFBTWhHQUFFQUFMSVJRQUFBZ0d3RUVBQUEKSUJzQkJB
QUF5RVlBQVFBQXNoRkFBQUNBYkFRUUFBQWdHd0VFQUFESVJnQUJBQUN5RVVBQUFJQnNCQkFBQUNB
YkFRUUFBTWhHQUFFQQpBTElSUUFBQWdHd0VFQUFBSUJzQkJBQUF5RVlBQVFBQXNoRkFBQUNBYkFR
UUFBQWdHd0VFQUFESVJnQUJBQUN5RVVBQUFJQnNCQkFBCkFDQWJBUVFBQU1oR0FBRUFBTElSUUFB
QWdHd0VFQUFBSUJzQkJBQUF5RVlBQVFBQXNoRkFBQUNBYkFRUUFBQWdHd0VFQUFESVJnQUIKQUFD
eUVVQUFBSUJzQkJBQUFDQWJBUVFBQU1oR0FBRUFBTElSUUFBQWdHd0VFQUFBSUJzQkJBQUF5RVlB
QVFBQXNoRkFBQUNBYkFRUQpBQUFnR3dFRUFBRElSZ0FCQUFDeUVVQUFBSUJzQkJBQUFDQWJBUVFB
QU1oR0FBRUFBTElSUUFBQWdHd0VFQUFBSUJzQkJBQUF5RVlBCkFRQUFzaEZBQUFDQWJBUVFBQUFn
R3dFRUFBRElSZ0FCQUFDeUVVQUFBSUJzQkJBQUFDQWJBUVFBQU1oR0FBRUFBTElSUUFBQWdHd0UK
RUFBQUlCc0JCQUFBeUVZQUFRQUFzaEZBQUFDQWJBUVFBQUFnR3dFRUFBRElSZ0FCQUFDeUVVQUFB
SUJzQkJBQUFDQWJBUVFBQU1oRwpBQUVBQUxJUlFBQUFnR3dFRUFBQUlCc0JCQUFBeUVZQUFRQUFz
aEZBQUFDQWJBUVFBQUFnR3dFRUFBRElSZ0FCQUFDeUVVQUFBSUJzCkJCQUFBQ0FiQVFRQUFNaEdB
QUVBQUxJUlFBQUFnR3dFRUFBQUlCc0JCQUFBeUVZQUFRQUFzaEZBQUFDQWJBUVFBQUFnR3dFRUFB
REkKUmdBQkFBQ3lFVUFBQUlCc0JCQUFBQ0FiQVFRQUFNaEdBQUVBQUxJUlFBQUFnR3dFRUFBQUlC
c0JCQUFBeUVZQUFRQUFzaEZBQUFDQQpiQVFRQUFBZ0d3RUVBQURJUmdBQkFBQ3lFVUFBQUlCc0JC
QUFBQ0FiQVFRQUFNaEdBQUVBQUxJUlFBQUFnR3dFRUFBQUlCc0JCQUFBCnlFWUFBUUFBc2hGQUFB
Q0FiQVFRQUFBZ0d3RUVBQURJUmdBQkFBQ3lFVUFBQUlCc0JCQUFBQ0FiQVFRQUFNaEdBQUVBQUxJ
UlFBQUEKZ0d3RUVBQUFJQnNCQkFBQXlFWUFBUUFBc2hGQUFBQ0FiQVFRQUFBZ0d3RUVBQURJUmdB
QkFBQ3lFVUFBQUlCc0JCQUFBQ0FiQVFRQQpBTWhHQUFFQUFMSVJRQUFBZ0d3RUVBQUFJQnNCQkFB
QXlFWUFBUUFBc2hGQUFBQ0FiQVFRQUFBZ0d3RUVBQURJUmdBQkFBQ3lFVUFBCkFJQnNCQkFBQUNB
YkFRUUFBTWhHQUFFQUFMSVJRQUFBZ0d3RUVBQUFJQnNCQkFBQXlFWUFBUUFBc2hGQUFBQ0FiQVFR
QUFBZ0d3RUUKQUFESVJnQUJBQUN5RVVBQUFJQnNCQkFBQUNBYkFRUUFBTWhHQUFFQUFMSVJRQUFB
Z0d3RUVBQUFJQnNCQkFBQXlFWUFBUUFBc2hGQQpBQUNBYkFRUUFBQWdHd0VFQUFESVJnQUJBQUN5
RVVBQUFJQnNCQkFBQUNBYkFRUUFBTWhHQUFFQUFMSVJRQUFBZ0d3RUVBQUFJQnNCCkJBQUF5RVlB
QVFBQXNoRkFBQUNBYkFRUUFBQWdHd0VFQUFESVJnQUJBQUN5RVVBQUFJQnNCQkFBQUNBYkFRUUFB
TWhHQUFFQUFMSVIKUUFBQWdHd0VFQUFBSUJzQkJBQUF5RVlBQVFBQXNoRkFBQUNBYkFRUUFBQWdH
d0VFQUFESVJnQUJBQUN5RVVBQUFJQnNCQkFBQUNBYgpBUVFBQU1oR0FBRUFBTElSUUFBQWdHd0VF
QUFBSUJzQkJBQUF5RVlBQVFBQXNoRkFBQUNBYkFRUUFBQWdHd0VFQUFESVJnQUJBQUN5CkVVQUFB
SUJzQkJBQUFDQWJBUVFBQU1oR0FBRUFBTElSUUFBQWdHd0VFQUFBSUJzQkJBQUF5RVlBQVFBQXNo
RkFBQUNBYkFRUUFBQWcKR3dFRUFBRElSZ0FCQUFDeUVVQUFBSUJzQkJBQUFDQWJBUVFBQU1oR0FB
RUFBTElSUUFBQWdHd0VFQUFBSUJzQkJBQUF5RVlBQVFBQQpzaEZBQUFDQWJBUVFBQUFnR3dFRUFB
RElSZ0FCQUFDeUVVQUFBSUJzQkJBQUFDQWJBUVFBQU1oR0FBRUFBTElSUUFBQWdHd0VFQUFBCklC
c0JCQUFBeUVZQUFRQUFzaEZBQUFDQWJBUVFBQUFnR3dFRUFBRElSZ0FCQUFDeUVVQUFBSUJzQkJB
QUFDQWJBUVFBQU1oR0FBRUEKQUxJUlFBQUFnR3dFRUFBQUlCc0JCQUFBeUVZQUFRQUFzaEZBQUFD
QWJBUVFBQUFnR3dFRUFBRElSZ0FCQUFDeUVVQUFBSUJzQkJBQQpBQ0FiQVFRQUFNaEdBQUVBQUxJ
UlFBQUFnR3dFRUFBQUlCc0JCQUFBeUVZQUFRQUFzaEZBQUFDQWJBUVFBQUFnR3dFRUFBRElSZ0FC
CkFBQ3lFVUFBQUlCc0JCQUFBQ0FiQVFRQUFNaEdBQUVBQUxJUlFBQUFnR3dFRUFBQUlCc0JCQUFB
eUVZQUFRQUFzaEZBQUFDQWJBUVEKQUFBZ0d3RUVBQURJUmdBQkFBQ3lFVUFBQUlCc0JCQUFBQ0Fi
QVFRQUFNaEdBQUVBQUxJUlFBQUFnR3orSCtWWUx6UFlDOWJlQUFBQQpBRWxGVGtTdVFtQ0MKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>11993</attachid>
            <date>2006-12-24 05:46:29 -0800</date>
            <delta_ts>2006-12-27 12:26:53 -0800</delta_ts>
            <desc>Completely remove split usage on ToT</desc>
            <filename>11108-13.diff</filename>
            <type>text/plain</type>
            <size>137563</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4NDA4KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMDYtMTItMjQgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTExMDgKKyAgICAgICAgUmVwbGFjZSB1c2FnZSBvZiBzcGxpdCBieSBwcm9wZXIgcGFy
c2VycworCisgICAgICAgIFRlc3RpbmcgbmV3IGtleXdvcmQgZGVmZXIgaW4gcHJlc2VydmVBc3Bl
Y3RSYXRpbyBhbmQgZW1wdHkKKyAgICAgICAgcHJlc2VydmVBc3BlY3RSYXRpby4KKworICAgICAg
ICAqIHN2Zy9jdXN0b20vZW1wdHktcHJlc2VydmUtYXNwZWN0LXJhdGlvLWV4cGVjdGVkLmNoZWNr
c3VtOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3VzdG9tL2VtcHR5LXByZXNlcnZlLWFzcGVjdC1y
YXRpby1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vZW1wdHktcHJl
c2VydmUtYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2N1
c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8uc3ZnOiBBZGRlZC4KKyAgICAgICAgKiBz
dmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQuY2hlY2tzdW06
IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRh
eC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0b20vcHJlc2VydmUtYXNw
ZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9jdXN0
b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC5zdmc6IEFkZGVkLgorCiAyMDA2LTEyLTI0
ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAd2Via2l0Lm9yZz4KIAogICAgICAgICBodHRwOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODAxCkluZGV4OiBMYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL2VtcHR5LXByZXNlcnZlLWFzcGVjdC1yYXRpby1leHBlY3RlZC5jaGVja3N1bQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtcHR5LXByZXNlcnZlLWFzcGVj
dC1yYXRpby1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2
Zy9jdXN0b20vZW1wdHktcHJlc2VydmUtYXNwZWN0LXJhdGlvLWV4cGVjdGVkLmNoZWNrc3VtCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxIEBACisxNjMxMDU4ODQ2N2NmYzIwZDU1MTYzNWFiYzU5Yjc4
NApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0
b20vZW1wdHktcHJlc2VydmUtYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtcHR5LXByZXNlcnZlLWFzcGVjdC1yYXRpby1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL2VtcHR5LXBy
ZXNlcnZlLWFzcGVjdC1yYXRpby1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
NCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtzdmd9IGF0ICgwLDApIHNpemUg
MTAweDEwMAorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtm
aWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAw
LjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCkluZGV4OiBMYXlvdXRUZXN0cy9z
dmcvY3VzdG9tL2VtcHR5LXByZXNlcnZlLWFzcGVjdC1yYXRpby5zdmcKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8uc3ZnCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3Bl
Y3QtcmF0aW8uc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMgQEAKKzxzdmcgeG1sbnM9Imh0
dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSIiID4KKyA8cmVj
dCBmaWxsPSJncmVlbiIgdHJhbnNmb3JtPSJzY2FsZSgpICIgeD0iMCIgeT0iMCIgd2lkdGg9IjEw
MCIgaGVpZ2h0PSIxMDAiIC8+Cis8L3N2Zz4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20v
cHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC5jaGVja3N1bQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgt
ZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQuY2hlY2tzdW0JKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEgQEAKK2JhN2ZhYTNjNGNiMjg3MDA3MmM4MGZiMDg5MDVjMDE0ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wcmVz
ZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVjdC1yYXRpby1zeW50YXgtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3Bl
Y3QtcmF0aW8tc3ludGF4LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MCBA
QAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtzdmd9IGF0ICgwLDM2LjY3KSBzaXpl
IDc3NXgxMTMuMzMKKyAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDAsMzYuNjcpIHNp
emUgNzc1eDExMy4zMworICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDM2LjY3
KSBzaXplIDc3NXgxMTMuMzMKKyAgICAgICAgICBSZW5kZXJTVkdUZXh0IHt0ZXh0fSBhdCAoMCwz
MCkgc2l6ZSA4MDB4MTAKKyAgICAgICAgICAgIFJlbmRlclNWR0lubGluZVRleHQgeyN0ZXh0fSBh
dCAoMCwtOCkgc2l6ZSA0NjV4MTAKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsLTgpIHdp
ZHRoIDQ2NTogIkFsbCBzdmdzIGJlbG93IHNob3VsZCBsb29rIHRoZSBzYW1lLCBzaW5jZSBhbGwg
aGF2ZSBwcmVzZXJ2ZUFzcGVjdFJhdGlvIHdpdGggc3ludGF4IGVycm9ycyBhbmQgZGVmYXVsdCBz
aG91bGQgYmUgY2hvc2VuLiIKKyAgICAgICAgICBSZW5kZXJTVkdDb250YWluZXIge2d9IGF0ICgw
LDgzLjMzKSBzaXplIDUweDY2LjY3IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4w
MCkpIHQ9KDAuMDAsNTAuMDApfV0KKyAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7c3Zn
fSBhdCAoMCwxMDAuMDApIHNpemUgNTB4NjYuNjcKKyAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7
cmVjdH0gYXQgKDAsMTAwLjAwKSBzaXplIDUweDY2LjY3IFtzdHJva2U9e1t0eXBlPVNPTElEXSBb
Y29sb3I9I0ZGMDAwMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtk
YXRhPSJNMC41MCwwLjUwTDI5LjUwLDAuNTBMMjkuNTAsMzkuNTBMMC41MCwzOS41MCJdCisgICAg
ICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDguMzMsMTE2LjY3KSBzaXplIDMz
LjMzeDMzLjMzIFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAs
NS4wMCl9XQorICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDguMzMsMTE2
LjY3KSBzaXplIDMzLjMzeDMzLjMzIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRkZGMDBd
fV0gW2RhdGE9Ik0yNS4wMCwxNS4wMEwyNC45OCwxNS42M0wyNC45MiwxNi4yNUwyNC44MiwxNi44
N0wyNC42OSwxNy40OUwyNC41MSwxOC4wOUwyNC4zMCwxOC42OEwyNC4wNSwxOS4yNkwyMy43Niwx
OS44MkwyMy40NCwyMC4zNkwyMy4wOSwyMC44OEwyMi43MSwyMS4zN0wyMi4yOSwyMS44NUwyMS44
NSwyMi4yOUwyMS4zNywyMi43MUwyMC44OCwyMy4wOUwyMC4zNiwyMy40NEwxOS44MiwyMy43Nkwx
OS4yNiwyNC4wNUwxOC42OCwyNC4zMEwxOC4wOSwyNC41MUwxNy40OSwyNC42OUwxNi44NywyNC44
MkwxNi4yNSwyNC45MkwxNS42MywyNC45OEwxNS4wMCwyNS4wMEwxNC4zNywyNC45OEwxMy43NSwy
NC45MkwxMy4xMywyNC44MkwxMi41MSwyNC42OUwxMS45MSwyNC41MUwxMS4zMiwyNC4zMEwxMC43
NCwyNC4wNUwxMC4xOCwyMy43Nkw5LjY0LDIzLjQ0TDkuMTIsMjMuMDlMOC42MywyMi43MUw4LjE1
LDIyLjI5TDcuNzEsMjEuODVMNy4yOSwyMS4zN0w2LjkxLDIwLjg4TDYuNTYsMjAuMzZMNi4yNCwx
OS44Mkw1Ljk1LDE5LjI2TDUuNzAsMTguNjhMNS40OSwxOC4wOUw1LjMxLDE3LjQ5TDUuMTgsMTYu
ODdMNS4wOCwxNi4yNUw1LjAyLDE1LjYzTDUuMDAsMTUuMDBMNS4wMiwxNC4zN0w1LjA4LDEzLjc1
TDUuMTgsMTMuMTNMNS4zMSwxMi41MUw1LjQ5LDExLjkxTDUuNzAsMTEuMzJMNS45NSwxMC43NEw2
LjI0LDEwLjE4TDYuNTYsOS42NEw2LjkxLDkuMTJMNy4yOSw4LjYzTDcuNzEsOC4xNUw4LjE1LDcu
NzFMOC42Myw3LjI5TDkuMTIsNi45MUw5LjY0LDYuNTZMMTAuMTgsNi4yNEwxMC43NCw1Ljk1TDEx
LjMyLDUuNzBMMTEuOTEsNS40OUwxMi41MSw1LjMxTDEzLjEzLDUuMThMMTMuNzUsNS4wOEwxNC4z
Nyw1LjAyTDE1LjAwLDUuMDBMMTUuNjMsNS4wMkwxNi4yNSw1LjA4TDE2Ljg3LDUuMThMMTcuNDks
NS4zMUwxOC4wOSw1LjQ5TDE4LjY4LDUuNzBMMTkuMjYsNS45NUwxOS44Miw2LjI0TDIwLjM2LDYu
NTZMMjAuODgsNi45MUwyMS4zNyw3LjI5TDIxLjg1LDcuNzFMMjIuMjksOC4xNUwyMi43MSw4LjYz
TDIzLjA5LDkuMTJMMjMuNDQsOS42NEwyMy43NiwxMC4xOEwyNC4wNSwxMC43NEwyNC4zMCwxMS4z
MkwyNC41MSwxMS45MUwyNC42OSwxMi41MUwyNC44MiwxMy4xM0wyNC45MiwxMy43NUwyNC45OCwx
NC4zNyJdCisgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMTcuNTAsMTI1
LjgzKSBzaXplIDV4NSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRh
PSJNMTMuNTAsMTIuMDBMMTMuNTAsMTIuMDlMMTMuNDksMTIuMTlMMTMuNDcsMTIuMjhMMTMuNDUs
MTIuMzdMMTMuNDMsMTIuNDZMMTMuMzksMTIuNTVMMTMuMzYsMTIuNjRMMTMuMzEsMTIuNzJMMTMu
MjcsMTIuODBMMTMuMjEsMTIuODhMMTMuMTYsMTIuOTZMMTMuMDksMTMuMDNMMTMuMDMsMTMuMDlM
MTIuOTYsMTMuMTZMMTIuODgsMTMuMjFMMTIuODAsMTMuMjdMMTIuNzIsMTMuMzFMMTIuNjQsMTMu
MzZMMTIuNTUsMTMuMzlMMTIuNDYsMTMuNDNMMTIuMzcsMTMuNDVMMTIuMjgsMTMuNDdMMTIuMTks
MTMuNDlMMTIuMDksMTMuNTBMMTIuMDAsMTMuNTBMMTEuOTEsMTMuNTBMMTEuODEsMTMuNDlMMTEu
NzIsMTMuNDdMMTEuNjMsMTMuNDVMMTEuNTQsMTMuNDNMMTEuNDUsMTMuMzlMMTEuMzYsMTMuMzZM
MTEuMjgsMTMuMzFMMTEuMjAsMTMuMjdMMTEuMTIsMTMuMjFMMTEuMDQsMTMuMTZMMTAuOTcsMTMu
MDlMMTAuOTEsMTMuMDNMMTAuODQsMTIuOTZMMTAuNzksMTIuODhMMTAuNzMsMTIuODBMMTAuNjks
MTIuNzJMMTAuNjQsMTIuNjRMMTAuNjEsMTIuNTVMMTAuNTcsMTIuNDZMMTAuNTUsMTIuMzdMMTAu
NTMsMTIuMjhMMTAuNTEsMTIuMTlMMTAuNTAsMTIuMDlMMTAuNTAsMTIuMDBMMTAuNTAsMTEuOTFM
MTAuNTEsMTEuODFMMTAuNTMsMTEuNzJMMTAuNTUsMTEuNjNMMTAuNTcsMTEuNTRMMTAuNjEsMTEu
NDVMMTAuNjQsMTEuMzZMMTAuNjksMTEuMjhMMTAuNzMsMTEuMjBMMTAuNzksMTEuMTJMMTAuODQs
MTEuMDRMMTAuOTEsMTAuOTdMMTAuOTcsMTAuOTFMMTEuMDQsMTAuODRMMTEuMTIsMTAuNzlMMTEu
MjAsMTAuNzNMMTEuMjgsMTAuNjlMMTEuMzYsMTAuNjRMMTEuNDUsMTAuNjFMMTEuNTQsMTAuNTdM
MTEuNjMsMTAuNTVMMTEuNzIsMTAuNTNMMTEuODEsMTAuNTFMMTEuOTEsMTAuNTBMMTIuMDAsMTAu
NTBMMTIuMDksMTAuNTBMMTIuMTksMTAuNTFMMTIuMjgsMTAuNTNMMTIuMzcsMTAuNTVMMTIuNDYs
MTAuNTdMMTIuNTUsMTAuNjFMMTIuNjQsMTAuNjRMMTIuNzIsMTAuNjlMMTIuODAsMTAuNzNMMTIu
ODgsMTAuNzlMMTIuOTYsMTAuODRMMTMuMDMsMTAuOTFMMTMuMDksMTAuOTdMMTMuMTYsMTEuMDRM
MTMuMjEsMTEuMTJMMTMuMjcsMTEuMjBMMTMuMzEsMTEuMjhMMTMuMzYsMTEuMzZMMTMuMzksMTEu
NDVMMTMuNDMsMTEuNTRMMTMuNDUsMTEuNjNMMTMuNDcsMTEuNzJMMTMuNDksMTEuODFMMTMuNTAs
MTEuOTEiXQorICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDI1LjgzLDEy
NS44Mykgc2l6ZSA1eDUgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0
YT0iTTE4LjUwLDEyLjAwTDE4LjUwLDEyLjA5TDE4LjQ5LDEyLjE5TDE4LjQ3LDEyLjI4TDE4LjQ1
LDEyLjM3TDE4LjQzLDEyLjQ2TDE4LjM5LDEyLjU1TDE4LjM2LDEyLjY0TDE4LjMxLDEyLjcyTDE4
LjI3LDEyLjgwTDE4LjIxLDEyLjg4TDE4LjE2LDEyLjk2TDE4LjA5LDEzLjAzTDE4LjAzLDEzLjA5
TDE3Ljk2LDEzLjE2TDE3Ljg4LDEzLjIxTDE3LjgwLDEzLjI3TDE3LjcyLDEzLjMxTDE3LjY0LDEz
LjM2TDE3LjU1LDEzLjM5TDE3LjQ2LDEzLjQzTDE3LjM3LDEzLjQ1TDE3LjI4LDEzLjQ3TDE3LjE5
LDEzLjQ5TDE3LjA5LDEzLjUwTDE3LjAwLDEzLjUwTDE2LjkxLDEzLjUwTDE2LjgxLDEzLjQ5TDE2
LjcyLDEzLjQ3TDE2LjYzLDEzLjQ1TDE2LjU0LDEzLjQzTDE2LjQ1LDEzLjM5TDE2LjM2LDEzLjM2
TDE2LjI4LDEzLjMxTDE2LjIwLDEzLjI3TDE2LjEyLDEzLjIxTDE2LjA0LDEzLjE2TDE1Ljk3LDEz
LjA5TDE1LjkxLDEzLjAzTDE1Ljg0LDEyLjk2TDE1Ljc5LDEyLjg4TDE1LjczLDEyLjgwTDE1LjY5
LDEyLjcyTDE1LjY0LDEyLjY0TDE1LjYxLDEyLjU1TDE1LjU3LDEyLjQ2TDE1LjU1LDEyLjM3TDE1
LjUzLDEyLjI4TDE1LjUxLDEyLjE5TDE1LjUwLDEyLjA5TDE1LjUwLDEyLjAwTDE1LjUwLDExLjkx
TDE1LjUxLDExLjgxTDE1LjUzLDExLjcyTDE1LjU1LDExLjYzTDE1LjU3LDExLjU0TDE1LjYxLDEx
LjQ1TDE1LjY0LDExLjM2TDE1LjY5LDExLjI4TDE1LjczLDExLjIwTDE1Ljc5LDExLjEyTDE1Ljg0
LDExLjA0TDE1LjkxLDEwLjk3TDE1Ljk3LDEwLjkxTDE2LjA0LDEwLjg0TDE2LjEyLDEwLjc5TDE2
LjIwLDEwLjczTDE2LjI4LDEwLjY5TDE2LjM2LDEwLjY0TDE2LjQ1LDEwLjYxTDE2LjU0LDEwLjU3
TDE2LjYzLDEwLjU1TDE2LjcyLDEwLjUzTDE2LjgxLDEwLjUxTDE2LjkxLDEwLjUwTDE3LjAwLDEw
LjUwTDE3LjA5LDEwLjUwTDE3LjE5LDEwLjUxTDE3LjI4LDEwLjUzTDE3LjM3LDEwLjU1TDE3LjQ2
LDEwLjU3TDE3LjU1LDEwLjYxTDE3LjY0LDEwLjY0TDE3LjcyLDEwLjY5TDE3LjgwLDEwLjczTDE3
Ljg4LDEwLjc5TDE3Ljk2LDEwLjg0TDE4LjAzLDEwLjkxTDE4LjA5LDEwLjk3TDE4LjE2LDExLjA0
TDE4LjIxLDExLjEyTDE4LjI3LDExLjIwTDE4LjMxLDExLjI4TDE4LjM2LDExLjM2TDE4LjM5LDEx
LjQ1TDE4LjQzLDExLjU0TDE4LjQ1LDExLjYzTDE4LjQ3LDExLjcyTDE4LjQ5LDExLjgxTDE4LjUw
LDExLjkxIl0KKyAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTUuNjMsMTM4
LjcwKSBzaXplIDE4Ljc1eDEwLjEwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAw
MF0gW3N0cm9rZSB3aWR0aD0yLjAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAw
MDBdfV0gW2RhdGE9Ik0xMC4wMCwxOS4wMEwxNS4wMCwyMy4wMEwyMC4wMCwxOS4wMCJdCisgICAg
ICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoODMuMzMsODMuMzMpIHNpemUgNTB4NjYu
NjcgW3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oNTAuMDAsNTAuMDAp
fV0KKyAgICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7c3ZnfSBhdCAoODMuMzMsMTAwLjAw
KSBzaXplIDUweDY2LjY3CisgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICg4My4z
MywxMDAuMDApIHNpemUgNTB4NjYuNjcgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jRkYw
MDAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0wLjUw
LDAuNTBMMjkuNTAsMC41MEwyOS41MCwzOS41MEwwLjUwLDM5LjUwIl0KKyAgICAgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoOTEuNjcsMTE2LjY3KSBzaXplIDMzLjMzeDMzLjMz
IFt0cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsNS4wMCl9XQor
ICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDkxLjY3LDExNi42Nykgc2l6
ZSAzMy4zM3gzMy4zMyBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZGRjAwXX1dIFtkYXRh
PSJNMjUuMDAsMTUuMDBMMjQuOTgsMTUuNjNMMjQuOTIsMTYuMjVMMjQuODIsMTYuODdMMjQuNjks
MTcuNDlMMjQuNTEsMTguMDlMMjQuMzAsMTguNjhMMjQuMDUsMTkuMjZMMjMuNzYsMTkuODJMMjMu
NDQsMjAuMzZMMjMuMDksMjAuODhMMjIuNzEsMjEuMzdMMjIuMjksMjEuODVMMjEuODUsMjIuMjlM
MjEuMzcsMjIuNzFMMjAuODgsMjMuMDlMMjAuMzYsMjMuNDRMMTkuODIsMjMuNzZMMTkuMjYsMjQu
MDVMMTguNjgsMjQuMzBMMTguMDksMjQuNTFMMTcuNDksMjQuNjlMMTYuODcsMjQuODJMMTYuMjUs
MjQuOTJMMTUuNjMsMjQuOThMMTUuMDAsMjUuMDBMMTQuMzcsMjQuOThMMTMuNzUsMjQuOTJMMTMu
MTMsMjQuODJMMTIuNTEsMjQuNjlMMTEuOTEsMjQuNTFMMTEuMzIsMjQuMzBMMTAuNzQsMjQuMDVM
MTAuMTgsMjMuNzZMOS42NCwyMy40NEw5LjEyLDIzLjA5TDguNjMsMjIuNzFMOC4xNSwyMi4yOUw3
LjcxLDIxLjg1TDcuMjksMjEuMzdMNi45MSwyMC44OEw2LjU2LDIwLjM2TDYuMjQsMTkuODJMNS45
NSwxOS4yNkw1LjcwLDE4LjY4TDUuNDksMTguMDlMNS4zMSwxNy40OUw1LjE4LDE2Ljg3TDUuMDgs
MTYuMjVMNS4wMiwxNS42M0w1LjAwLDE1LjAwTDUuMDIsMTQuMzdMNS4wOCwxMy43NUw1LjE4LDEz
LjEzTDUuMzEsMTIuNTFMNS40OSwxMS45MUw1LjcwLDExLjMyTDUuOTUsMTAuNzRMNi4yNCwxMC4x
OEw2LjU2LDkuNjRMNi45MSw5LjEyTDcuMjksOC42M0w3LjcxLDguMTVMOC4xNSw3LjcxTDguNjMs
Ny4yOUw5LjEyLDYuOTFMOS42NCw2LjU2TDEwLjE4LDYuMjRMMTAuNzQsNS45NUwxMS4zMiw1Ljcw
TDExLjkxLDUuNDlMMTIuNTEsNS4zMUwxMy4xMyw1LjE4TDEzLjc1LDUuMDhMMTQuMzcsNS4wMkwx
NS4wMCw1LjAwTDE1LjYzLDUuMDJMMTYuMjUsNS4wOEwxNi44Nyw1LjE4TDE3LjQ5LDUuMzFMMTgu
MDksNS40OUwxOC42OCw1LjcwTDE5LjI2LDUuOTVMMTkuODIsNi4yNEwyMC4zNiw2LjU2TDIwLjg4
LDYuOTFMMjEuMzcsNy4yOUwyMS44NSw3LjcxTDIyLjI5LDguMTVMMjIuNzEsOC42M0wyMy4wOSw5
LjEyTDIzLjQ0LDkuNjRMMjMuNzYsMTAuMThMMjQuMDUsMTAuNzRMMjQuMzAsMTEuMzJMMjQuNTEs
MTEuOTFMMjQuNjksMTIuNTFMMjQuODIsMTMuMTNMMjQuOTIsMTMuNzVMMjQuOTgsMTQuMzciXQor
ICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDEwMC44MywxMjUuODMpIHNp
emUgNXg1IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xMy41
MCwxMi4wMEwxMy41MCwxMi4wOUwxMy40OSwxMi4xOUwxMy40NywxMi4yOEwxMy40NSwxMi4zN0wx
My40MywxMi40NkwxMy4zOSwxMi41NUwxMy4zNiwxMi42NEwxMy4zMSwxMi43MkwxMy4yNywxMi44
MEwxMy4yMSwxMi44OEwxMy4xNiwxMi45NkwxMy4wOSwxMy4wM0wxMy4wMywxMy4wOUwxMi45Niwx
My4xNkwxMi44OCwxMy4yMUwxMi44MCwxMy4yN0wxMi43MiwxMy4zMUwxMi42NCwxMy4zNkwxMi41
NSwxMy4zOUwxMi40NiwxMy40M0wxMi4zNywxMy40NUwxMi4yOCwxMy40N0wxMi4xOSwxMy40OUwx
Mi4wOSwxMy41MEwxMi4wMCwxMy41MEwxMS45MSwxMy41MEwxMS44MSwxMy40OUwxMS43MiwxMy40
N0wxMS42MywxMy40NUwxMS41NCwxMy40M0wxMS40NSwxMy4zOUwxMS4zNiwxMy4zNkwxMS4yOCwx
My4zMUwxMS4yMCwxMy4yN0wxMS4xMiwxMy4yMUwxMS4wNCwxMy4xNkwxMC45NywxMy4wOUwxMC45
MSwxMy4wM0wxMC44NCwxMi45NkwxMC43OSwxMi44OEwxMC43MywxMi44MEwxMC42OSwxMi43Mkwx
MC42NCwxMi42NEwxMC42MSwxMi41NUwxMC41NywxMi40NkwxMC41NSwxMi4zN0wxMC41MywxMi4y
OEwxMC41MSwxMi4xOUwxMC41MCwxMi4wOUwxMC41MCwxMi4wMEwxMC41MCwxMS45MUwxMC41MSwx
MS44MUwxMC41MywxMS43MkwxMC41NSwxMS42M0wxMC41NywxMS41NEwxMC42MSwxMS40NUwxMC42
NCwxMS4zNkwxMC42OSwxMS4yOEwxMC43MywxMS4yMEwxMC43OSwxMS4xMkwxMC44NCwxMS4wNEwx
MC45MSwxMC45N0wxMC45NywxMC45MUwxMS4wNCwxMC44NEwxMS4xMiwxMC43OUwxMS4yMCwxMC43
M0wxMS4yOCwxMC42OUwxMS4zNiwxMC42NEwxMS40NSwxMC42MUwxMS41NCwxMC41N0wxMS42Mywx
MC41NUwxMS43MiwxMC41M0wxMS44MSwxMC41MUwxMS45MSwxMC41MEwxMi4wMCwxMC41MEwxMi4w
OSwxMC41MEwxMi4xOSwxMC41MUwxMi4yOCwxMC41M0wxMi4zNywxMC41NUwxMi40NiwxMC41N0wx
Mi41NSwxMC42MUwxMi42NCwxMC42NEwxMi43MiwxMC42OUwxMi44MCwxMC43M0wxMi44OCwxMC43
OUwxMi45NiwxMC44NEwxMy4wMywxMC45MUwxMy4wOSwxMC45N0wxMy4xNiwxMS4wNEwxMy4yMSwx
MS4xMkwxMy4yNywxMS4yMEwxMy4zMSwxMS4yOEwxMy4zNiwxMS4zNkwxMy4zOSwxMS40NUwxMy40
MywxMS41NEwxMy40NSwxMS42M0wxMy40NywxMS43MkwxMy40OSwxMS44MUwxMy41MCwxMS45MSJd
CisgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMTA5LjE3LDEyNS44Mykg
c2l6ZSA1eDUgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTE4
LjUwLDEyLjAwTDE4LjUwLDEyLjA5TDE4LjQ5LDEyLjE5TDE4LjQ3LDEyLjI4TDE4LjQ1LDEyLjM3
TDE4LjQzLDEyLjQ2TDE4LjM5LDEyLjU1TDE4LjM2LDEyLjY0TDE4LjMxLDEyLjcyTDE4LjI3LDEy
LjgwTDE4LjIxLDEyLjg4TDE4LjE2LDEyLjk2TDE4LjA5LDEzLjAzTDE4LjAzLDEzLjA5TDE3Ljk2
LDEzLjE2TDE3Ljg4LDEzLjIxTDE3LjgwLDEzLjI3TDE3LjcyLDEzLjMxTDE3LjY0LDEzLjM2TDE3
LjU1LDEzLjM5TDE3LjQ2LDEzLjQzTDE3LjM3LDEzLjQ1TDE3LjI4LDEzLjQ3TDE3LjE5LDEzLjQ5
TDE3LjA5LDEzLjUwTDE3LjAwLDEzLjUwTDE2LjkxLDEzLjUwTDE2LjgxLDEzLjQ5TDE2LjcyLDEz
LjQ3TDE2LjYzLDEzLjQ1TDE2LjU0LDEzLjQzTDE2LjQ1LDEzLjM5TDE2LjM2LDEzLjM2TDE2LjI4
LDEzLjMxTDE2LjIwLDEzLjI3TDE2LjEyLDEzLjIxTDE2LjA0LDEzLjE2TDE1Ljk3LDEzLjA5TDE1
LjkxLDEzLjAzTDE1Ljg0LDEyLjk2TDE1Ljc5LDEyLjg4TDE1LjczLDEyLjgwTDE1LjY5LDEyLjcy
TDE1LjY0LDEyLjY0TDE1LjYxLDEyLjU1TDE1LjU3LDEyLjQ2TDE1LjU1LDEyLjM3TDE1LjUzLDEy
LjI4TDE1LjUxLDEyLjE5TDE1LjUwLDEyLjA5TDE1LjUwLDEyLjAwTDE1LjUwLDExLjkxTDE1LjUx
LDExLjgxTDE1LjUzLDExLjcyTDE1LjU1LDExLjYzTDE1LjU3LDExLjU0TDE1LjYxLDExLjQ1TDE1
LjY0LDExLjM2TDE1LjY5LDExLjI4TDE1LjczLDExLjIwTDE1Ljc5LDExLjEyTDE1Ljg0LDExLjA0
TDE1LjkxLDEwLjk3TDE1Ljk3LDEwLjkxTDE2LjA0LDEwLjg0TDE2LjEyLDEwLjc5TDE2LjIwLDEw
LjczTDE2LjI4LDEwLjY5TDE2LjM2LDEwLjY0TDE2LjQ1LDEwLjYxTDE2LjU0LDEwLjU3TDE2LjYz
LDEwLjU1TDE2LjcyLDEwLjUzTDE2LjgxLDEwLjUxTDE2LjkxLDEwLjUwTDE3LjAwLDEwLjUwTDE3
LjA5LDEwLjUwTDE3LjE5LDEwLjUxTDE3LjI4LDEwLjUzTDE3LjM3LDEwLjU1TDE3LjQ2LDEwLjU3
TDE3LjU1LDEwLjYxTDE3LjY0LDEwLjY0TDE3LjcyLDEwLjY5TDE3LjgwLDEwLjczTDE3Ljg4LDEw
Ljc5TDE3Ljk2LDEwLjg0TDE4LjAzLDEwLjkxTDE4LjA5LDEwLjk3TDE4LjE2LDExLjA0TDE4LjIx
LDExLjEyTDE4LjI3LDExLjIwTDE4LjMxLDExLjI4TDE4LjM2LDExLjM2TDE4LjM5LDExLjQ1TDE4
LjQzLDExLjU0TDE4LjQ1LDExLjYzTDE4LjQ3LDExLjcyTDE4LjQ5LDExLjgxTDE4LjUwLDExLjkx
Il0KKyAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoOTguOTYsMTM4LjcwKSBz
aXplIDE4Ljc1eDEwLjEwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW3N0
cm9rZSB3aWR0aD0yLjAwXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0g
W2RhdGE9Ik0xMC4wMCwxOS4wMEwxNS4wMCwyMy4wMEwyMC4wMCwxOS4wMCJdCisgICAgICAgICAg
UmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTY2LjY3LDgzLjMzKSBzaXplIDUweDY2LjY3IFt0
cmFuc2Zvcm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDEwMC4wMCw1MC4wMCl9XQor
ICAgICAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtzdmd9IGF0ICgxNjYuNjcsMTAwLjAwKSBz
aXplIDUweDY2LjY3CisgICAgICAgICAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgxNjYuNjcs
MTAwLjAwKSBzaXplIDUweDY2LjY3IFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGMDAw
MF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMC41MCww
LjUwTDI5LjUwLDAuNTBMMjkuNTAsMzkuNTBMMC41MCwzOS41MCJdCisgICAgICAgICAgICAgIFJl
bmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDE3NS4wMCwxMTYuNjcpIHNpemUgMzMuMzN4MzMuMzMg
W3RyYW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMC4wMCw1LjAwKX1dCisg
ICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMTc1LjAwLDExNi42Nykgc2l6
ZSAzMy4zM3gzMy4zMyBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jRkZGRjAwXX1dIFtkYXRh
PSJNMjUuMDAsMTUuMDBMMjQuOTgsMTUuNjNMMjQuOTIsMTYuMjVMMjQuODIsMTYuODdMMjQuNjks
MTcuNDlMMjQuNTEsMTguMDlMMjQuMzAsMTguNjhMMjQuMDUsMTkuMjZMMjMuNzYsMTkuODJMMjMu
NDQsMjAuMzZMMjMuMDksMjAuODhMMjIuNzEsMjEuMzdMMjIuMjksMjEuODVMMjEuODUsMjIuMjlM
MjEuMzcsMjIuNzFMMjAuODgsMjMuMDlMMjAuMzYsMjMuNDRMMTkuODIsMjMuNzZMMTkuMjYsMjQu
MDVMMTguNjgsMjQuMzBMMTguMDksMjQuNTFMMTcuNDksMjQuNjlMMTYuODcsMjQuODJMMTYuMjUs
MjQuOTJMMTUuNjMsMjQuOThMMTUuMDAsMjUuMDBMMTQuMzcsMjQuOThMMTMuNzUsMjQuOTJMMTMu
MTMsMjQuODJMMTIuNTEsMjQuNjlMMTEuOTEsMjQuNTFMMTEuMzIsMjQuMzBMMTAuNzQsMjQuMDVM
MTAuMTgsMjMuNzZMOS42NCwyMy40NEw5LjEyLDIzLjA5TDguNjMsMjIuNzFMOC4xNSwyMi4yOUw3
LjcxLDIxLjg1TDcuMjksMjEuMzdMNi45MSwyMC44OEw2LjU2LDIwLjM2TDYuMjQsMTkuODJMNS45
NSwxOS4yNkw1LjcwLDE4LjY4TDUuNDksMTguMDlMNS4zMSwxNy40OUw1LjE4LDE2Ljg3TDUuMDgs
MTYuMjVMNS4wMiwxNS42M0w1LjAwLDE1LjAwTDUuMDIsMTQuMzdMNS4wOCwxMy43NUw1LjE4LDEz
LjEzTDUuMzEsMTIuNTFMNS40OSwxMS45MUw1LjcwLDExLjMyTDUuOTUsMTAuNzRMNi4yNCwxMC4x
OEw2LjU2LDkuNjRMNi45MSw5LjEyTDcuMjksOC42M0w3LjcxLDguMTVMOC4xNSw3LjcxTDguNjMs
Ny4yOUw5LjEyLDYuOTFMOS42NCw2LjU2TDEwLjE4LDYuMjRMMTAuNzQsNS45NUwxMS4zMiw1Ljcw
TDExLjkxLDUuNDlMMTIuNTEsNS4zMUwxMy4xMyw1LjE4TDEzLjc1LDUuMDhMMTQuMzcsNS4wMkwx
NS4wMCw1LjAwTDE1LjYzLDUuMDJMMTYuMjUsNS4wOEwxNi44Nyw1LjE4TDE3LjQ5LDUuMzFMMTgu
MDksNS40OUwxOC42OCw1LjcwTDE5LjI2LDUuOTVMMTkuODIsNi4yNEwyMC4zNiw2LjU2TDIwLjg4
LDYuOTFMMjEuMzcsNy4yOUwyMS44NSw3LjcxTDIyLjI5LDguMTVMMjIuNzEsOC42M0wyMy4wOSw5
LjEyTDIzLjQ0LDkuNjRMMjMuNzYsMTAuMThMMjQuMDUsMTAuNzRMMjQuMzAsMTEuMzJMMjQuNTEs
MTEuOTFMMjQuNjksMTIuNTFMMjQuODIsMTMuMTNMMjQuOTIsMTMuNzVMMjQuOTgsMTQuMzciXQor
ICAgICAgICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDE4NC4xNywxMjUuODMpIHNp
emUgNXg1IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xMy41
MCwxMi4wMEwxMy41MCwxMi4wOUwxMy40OSwxMi4xOUwxMy40NywxMi4yOEwxMy40NSwxMi4zN0wx
My40MywxMi40NkwxMy4zOSwxMi41NUwxMy4zNiwxMi42NEwxMy4zMSwxMi43MkwxMy4yNywxMi44
MEwxMy4yMSwxMi44OEwxMy4xNiwxMi45NkwxMy4wOSwxMy4wM0wxMy4wMywxMy4wOUwxMi45Niwx
My4xNkwxMi44OCwxMy4yMUwxMi44MCwxMy4yN0wxMi43MiwxMy4zMUwxMi42NCwxMy4zNkwxMi41
NSwxMy4zOUwxMi40NiwxMy40M0wxMi4zNywxMy40NUwxMi4yOCwxMy40N0wxMi4xOSwxMy40OUwx
Mi4wOSwxMy41MEwxMi4wMCwxMy41MEwxMS45MSwxMy41MEwxMS44MSwxMy40OUwxMS43MiwxMy40
N0wxMS42MywxMy40NUwxMS41NCwxMy40M0wxMS40NSwxMy4zOUwxMS4zNiwxMy4zNkwxMS4yOCwx
My4zMUwxMS4yMCwxMy4yN0wxMS4xMiwxMy4yMUwxMS4wNCwxMy4xNkwxMC45NywxMy4wOUwxMC45
MSwxMy4wM0wxMC44NCwxMi45NkwxMC43OSwxMi44OEwxMC43MywxMi44MEwxMC42OSwxMi43Mkwx
MC42NCwxMi42NEwxMC42MSwxMi41NUwxMC41NywxMi40NkwxMC41NSwxMi4zN0wxMC41MywxMi4y
OEwxMC41MSwxMi4xOUwxMC41MCwxMi4wOUwxMC41MCwxMi4wMEwxMC41MCwxMS45MUwxMC41MSwx
MS44MUwxMC41MywxMS43MkwxMC41NSwxMS42M0wxMC41NywxMS41NEwxMC42MSwxMS40NUwxMC42
NCwxMS4zNkwxMC42OSwxMS4yOEwxMC43MywxMS4yMEwxMC43OSwxMS4xMkwxMC44NCwxMS4wNEwx
MC45MSwxMC45N0wxMC45NywxMC45MUwxMS4wNCwxMC44NEwxMS4xMiwxMC43OUwxMS4yMCwxMC43
M0wxMS4yOCwxMC42OUwxMS4zNiwxMC42NEwxMS40NSwxMC42MUwxMS41NCwxMC41N0wxMS42Mywx
MC41NUwxMS43MiwxMC41M0wxMS44MSwxMC41MUwxMS45MSwxMC41MEwxMi4wMCwxMC41MEwxMi4w
OSwxMC41MEwxMi4xOSwxMC41MUwxMi4yOCwxMC41M0wxMi4zNywxMC41NUwxMi40NiwxMC41N0wx
Mi41NSwxMC42MUwxMi42NCwxMC42NEwxMi43MiwxMC42OUwxMi44MCwxMC43M0wxMi44OCwxMC43
OUwxMi45NiwxMC44NEwxMy4wMywxMC45MUwxMy4wOSwxMC45N0wxMy4xNiwxMS4wNEwxMy4yMSwx
MS4xMkwxMy4yNywxMS4yMEwxMy4zMSwxMS4yOEwxMy4zNiwxMS4zNkwxMy4zOSwxMS40NUwxMy40
MywxMS41NEwxMy40NSwxMS42M0wxMy40NywxMS43MkwxMy40OSwxMS44MUwxMy41MCwxMS45MSJd
CisgICAgICAgICAgICAgICAgUmVuZGVyUGF0aCB7Y2lyY2xlfSBhdCAoMTkyLjUwLDEyNS44Mykg
c2l6ZSA1eDUgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTE4
LjUwLDEyLjAwTDE4LjUwLDEyLjA5TDE4LjQ5LDEyLjE5TDE4LjQ3LDEyLjI4TDE4LjQ1LDEyLjM3
TDE4LjQzLDEyLjQ2TDE4LjM5LDEyLjU1TDE4LjM2LDEyLjY0TDE4LjMxLDEyLjcyTDE4LjI3LDEy
LjgwTDE4LjIxLDEyLjg4TDE4LjE2LDEyLjk2TDE4LjA5LDEzLjAzTDE4LjAzLDEzLjA5TDE3Ljk2
LDEzLjE2TDE3Ljg4LDEzLjIxTDE3LjgwLDEzLjI3TDE3LjcyLDEzLjMxTDE3LjY0LDEzLjM2TDE3
LjU1LDEzLjM5TDE3LjQ2LDEzLjQzTDE3LjM3LDEzLjQ1TDE3LjI4LDEzLjQ3TDE3LjE5LDEzLjQ5
TDE3LjA5LDEzLjUwTDE3LjAwLDEzLjUwTDE2LjkxLDEzLjUwTDE2LjgxLDEzLjQ5TDE2LjcyLDEz
LjQ3TDE2LjYzLDEzLjQ1TDE2LjU0LDEzLjQzTDE2LjQ1LDEzLjM5TDE2LjM2LDEzLjM2TDE2LjI4
LDEzLjMxTDE2LjIwLDEzLjI3TDE2LjEyLDEzLjIxTDE2LjA0LDEzLjE2TDE1Ljk3LDEzLjA5TDE1
LjkxLDEzLjAzTDE1Ljg0LDEyLjk2TDE1Ljc5LDEyLjg4TDE1LjczLDEyLjgwTDE1LjY5LDEyLjcy
TDE1LjY0LDEyLjY0TDE1LjYxLDEyLjU1TDE1LjU3LDEyLjQ2TDE1LjU1LDEyLjM3TDE1LjUzLDEy
LjI4TDE1LjUxLDEyLjE5TDE1LjUwLDEyLjA5TDE1LjUwLDEyLjAwTDE1LjUwLDExLjkxTDE1LjUx
LDExLjgxTDE1LjUzLDExLjcyTDE1LjU1LDExLjYzTDE1LjU3LDExLjU0TDE1LjYxLDExLjQ1TDE1
LjY0LDExLjM2TDE1LjY5LDExLjI4TDE1LjczLDExLjIwTDE1Ljc5LDExLjEyTDE1Ljg0LDExLjA0
TDE1LjkxLDEwLjk3TDE1Ljk3LDEwLjkxTDE2LjA0LDEwLjg0TDE2LjEyLDEwLjc5TDE2LjIwLDEw
LjczTDE2LjI4LDEwLjY5TDE2LjM2LDEwLjY0TDE2LjQ1LDEwLjYxTDE2LjU0LDEwLjU3TDE2LjYz
LDEwLjU1TDE2LjcyLDEwLjUzTDE2LjgxLDEwLjUxTDE2LjkxLDEwLjUwTDE3LjAwLDEwLjUwTDE3
LjA5LDEwLjUwTDE3LjE5LDEwLjUxTDE3LjI4LDEwLjUzTDE3LjM3LDEwLjU1TDE3LjQ2LDEwLjU3
TDE3LjU1LDEwLjYxTDE3LjY0LDEwLjY0TDE3LjcyLDEwLjY5TDE3LjgwLDEwLjczTDE3Ljg4LDEw
Ljc5TDE3Ljk2LDEwLjg0TDE4LjAzLDEwLjkxTDE4LjA5LDEwLjk3TDE4LjE2LDExLjA0TDE4LjIx
LDExLjEyTDE4LjI3LDExLjIwTDE4LjMxLDExLjI4TDE4LjM2LDExLjM2TDE4LjM5LDExLjQ1TDE4
LjQzLDExLjU0TDE4LjQ1LDExLjYzTDE4LjQ3LDExLjcyTDE4LjQ5LDExLjgxTDE4LjUwLDExLjkx
Il0KKyAgICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTgyLjI5LDEzOC43MCkg
c2l6ZSAxOC43NXgxMC4xMCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdIFtz
dHJva2Ugd2lkdGg9Mi4wMF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1d
IFtkYXRhPSJNMTAuMDAsMTkuMDBMMTUuMDAsMjMuMDBMMjAuMDAsMTkuMDAiXQorICAgICAgICAg
IFJlbmRlclNWR0NvbnRhaW5lciB7Z30gYXQgKDI1MCw4My4zMykgc2l6ZSA1MHg2Ni42NyBbdHJh
bnNmb3JtPXttPSgoMS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSgxNTAuMDAsNTAuMDApfV0KKyAg
ICAgICAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7c3ZnfSBhdCAoMjUwLDEwMC4wMCkgc2l6ZSA1
MHg2Ni42NworICAgICAgICAgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMjUwLDEwMC4wMCkg
c2l6ZSA1MHg2Ni42NyBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSNGRjAwMDBdfV0gW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0iTTAuNTAsMC41MEwyOS41
MCwwLjUwTDI5LjUwLDM5LjUwTDAuNTAsMzkuNTAiXQorICAgICAgICAgICAgICBSZW5kZXJTVkdD
b250YWluZXIge2d9IGF0ICgyNTguMzMsMTE2LjY3KSBzaXplIDMzLjMzeDMzLjMzIFt0cmFuc2Zv
cm09e209KCgxLjAwLDAuMDApKDAuMDAsMS4wMCkpIHQ9KDAuMDAsNS4wMCl9XQorICAgICAgICAg
ICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDI1OC4zMywxMTYuNjcpIHNpemUgMzMuMzN4
MzMuMzMgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9I0ZGRkYwMF19XSBbZGF0YT0iTTI1LjAw
LDE1LjAwTDI0Ljk4LDE1LjYzTDI0LjkyLDE2LjI1TDI0LjgyLDE2Ljg3TDI0LjY5LDE3LjQ5TDI0
LjUxLDE4LjA5TDI0LjMwLDE4LjY4TDI0LjA1LDE5LjI2TDIzLjc2LDE5LjgyTDIzLjQ0LDIwLjM2
TDIzLjA5LDIwLjg4TDIyLjcxLDIxLjM3TDIyLjI5LDIxLjg1TDIxLjg1LDIyLjI5TDIxLjM3LDIy
LjcxTDIwLjg4LDIzLjA5TDIwLjM2LDIzLjQ0TDE5LjgyLDIzLjc2TDE5LjI2LDI0LjA1TDE4LjY4
LDI0LjMwTDE4LjA5LDI0LjUxTDE3LjQ5LDI0LjY5TDE2Ljg3LDI0LjgyTDE2LjI1LDI0LjkyTDE1
LjYzLDI0Ljk4TDE1LjAwLDI1LjAwTDE0LjM3LDI0Ljk4TDEzLjc1LDI0LjkyTDEzLjEzLDI0Ljgy
TDEyLjUxLDI0LjY5TDExLjkxLDI0LjUxTDExLjMyLDI0LjMwTDEwLjc0LDI0LjA1TDEwLjE4LDIz
Ljc2TDkuNjQsMjMuNDRMOS4xMiwyMy4wOUw4LjYzLDIyLjcxTDguMTUsMjIuMjlMNy43MSwyMS44
NUw3LjI5LDIxLjM3TDYuOTEsMjAuODhMNi41NiwyMC4zNkw2LjI0LDE5LjgyTDUuOTUsMTkuMjZM
NS43MCwxOC42OEw1LjQ5LDE4LjA5TDUuMzEsMTcuNDlMNS4xOCwxNi44N0w1LjA4LDE2LjI1TDUu
MDIsMTUuNjNMNS4wMCwxNS4wMEw1LjAyLDE0LjM3TDUuMDgsMTMuNzVMNS4xOCwxMy4xM0w1LjMx
LDEyLjUxTDUuNDksMTEuOTFMNS43MCwxMS4zMkw1Ljk1LDEwLjc0TDYuMjQsMTAuMThMNi41Niw5
LjY0TDYuOTEsOS4xMkw3LjI5LDguNjNMNy43MSw4LjE1TDguMTUsNy43MUw4LjYzLDcuMjlMOS4x
Miw2LjkxTDkuNjQsNi41NkwxMC4xOCw2LjI0TDEwLjc0LDUuOTVMMTEuMzIsNS43MEwxMS45MSw1
LjQ5TDEyLjUxLDUuMzFMMTMuMTMsNS4xOEwxMy43NSw1LjA4TDE0LjM3LDUuMDJMMTUuMDAsNS4w
MEwxNS42Myw1LjAyTDE2LjI1LDUuMDhMMTYuODcsNS4xOEwxNy40OSw1LjMxTDE4LjA5LDUuNDlM
MTguNjgsNS43MEwxOS4yNiw1Ljk1TDE5LjgyLDYuMjRMMjAuMzYsNi41NkwyMC44OCw2LjkxTDIx
LjM3LDcuMjlMMjEuODUsNy43MUwyMi4yOSw4LjE1TDIyLjcxLDguNjNMMjMuMDksOS4xMkwyMy40
NCw5LjY0TDIzLjc2LDEwLjE4TDI0LjA1LDEwLjc0TDI0LjMwLDExLjMyTDI0LjUxLDExLjkxTDI0
LjY5LDEyLjUxTDI0LjgyLDEzLjEzTDI0LjkyLDEzLjc1TDI0Ljk4LDE0LjM3Il0KKyAgICAgICAg
ICAgICAgICBSZW5kZXJQYXRoIHtjaXJjbGV9IGF0ICgyNjcuNTAsMTI1LjgzKSBzaXplIDV4NSBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXX1dIFtkYXRhPSJNMTMuNTAsMTIuMDBM
MTMuNTAsMTIuMDlMMTMuNDksMTIuMTlMMTMuNDcsMTIuMjhMMTMuNDUsMTIuMzdMMTMuNDMsMTIu
NDZMMTMuMzksMTIuNTVMMTMuMzYsMTIuNjRMMTMuMzEsMTIuNzJMMTMuMjcsMTIuODBMMTMuMjEs
MTIuODhMMTMuMTYsMTIuOTZMMTMuMDksMTMuMDNMMTMuMDMsMTMuMDlMMTIuOTYsMTMuMTZMMTIu
ODgsMTMuMjFMMTIuODAsMTMuMjdMMTIuNzIsMTMuMzFMMTIuNjQsMTMuMzZMMTIuNTUsMTMuMzlM
MTIuNDYsMTMuNDNMMTIuMzcsMTMuNDVMMTIuMjgsMTMuNDdMMTIuMTksMTMuNDlMMTIuMDksMTMu
NTBMMTIuMDAsMTMuNTBMMTEuOTEsMTMuNTBMMTEuODEsMTMuNDlMMTEuNzIsMTMuNDdMMTEuNjMs
MTMuNDVMMTEuNTQsMTMuNDNMMTEuNDUsMTMuMzlMMTEuMzYsMTMuMzZMMTEuMjgsMTMuMzFMMTEu
MjAsMTMuMjdMMTEuMTIsMTMuMjFMMTEuMDQsMTMuMTZMMTAuOTcsMTMuMDlMMTAuOTEsMTMuMDNM
MTAuODQsMTIuOTZMMTAuNzksMTIuODhMMTAuNzMsMTIuODBMMTAuNjksMTIuNzJMMTAuNjQsMTIu
NjRMMTAuNjEsMTIuNTVMMTAuNTcsMTIuNDZMMTAuNTUsMTIuMzdMMTAuNTMsMTIuMjhMMTAuNTEs
MTIuMTlMMTAuNTAsMTIuMDlMMTAuNTAsMTIuMDBMMTAuNTAsMTEuOTFMMTAuNTEsMTEuODFMMTAu
NTMsMTEuNzJMMTAuNTUsMTEuNjNMMTAuNTcsMTEuNTRMMTAuNjEsMTEuNDVMMTAuNjQsMTEuMzZM
MTAuNjksMTEuMjhMMTAuNzMsMTEuMjBMMTAuNzksMTEuMTJMMTAuODQsMTEuMDRMMTAuOTEsMTAu
OTdMMTAuOTcsMTAuOTFMMTEuMDQsMTAuODRMMTEuMTIsMTAuNzlMMTEuMjAsMTAuNzNMMTEuMjgs
MTAuNjlMMTEuMzYsMTAuNjRMMTEuNDUsMTAuNjFMMTEuNTQsMTAuNTdMMTEuNjMsMTAuNTVMMTEu
NzIsMTAuNTNMMTEuODEsMTAuNTFMMTEuOTEsMTAuNTBMMTIuMDAsMTAuNTBMMTIuMDksMTAuNTBM
MTIuMTksMTAuNTFMMTIuMjgsMTAuNTNMMTIuMzcsMTAuNTVMMTIuNDYsMTAuNTdMMTIuNTUsMTAu
NjFMMTIuNjQsMTAuNjRMMTIuNzIsMTAuNjlMMTIuODAsMTAuNzNMMTIuODgsMTAuNzlMMTIuOTYs
MTAuODRMMTMuMDMsMTAuOTFMMTMuMDksMTAuOTdMMTMuMTYsMTEuMDRMMTMuMjEsMTEuMTJMMTMu
MjcsMTEuMjBMMTMuMzEsMTEuMjhMMTMuMzYsMTEuMzZMMTMuMzksMTEuNDVMMTMuNDMsMTEuNTRM
MTMuNDUsMTEuNjNMMTMuNDcsMTEuNzJMMTMuNDksMTEuODFMMTMuNTAsMTEuOTEiXQorICAgICAg
ICAgICAgICAgIFJlbmRlclBhdGgge2NpcmNsZX0gYXQgKDI3NS44MywxMjUuODMpIHNpemUgNXg1
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW2RhdGE9Ik0xOC41MCwxMi4w
MEwxOC41MCwxMi4wOUwxOC40OSwxMi4xOUwxOC40NywxMi4yOEwxOC40NSwxMi4zN0wxOC40Mywx
Mi40NkwxOC4zOSwxMi41NUwxOC4zNiwxMi42NEwxOC4zMSwxMi43MkwxOC4yNywxMi44MEwxOC4y
MSwxMi44OEwxOC4xNiwxMi45NkwxOC4wOSwxMy4wM0wxOC4wMywxMy4wOUwxNy45NiwxMy4xNkwx
Ny44OCwxMy4yMUwxNy44MCwxMy4yN0wxNy43MiwxMy4zMUwxNy42NCwxMy4zNkwxNy41NSwxMy4z
OUwxNy40NiwxMy40M0wxNy4zNywxMy40NUwxNy4yOCwxMy40N0wxNy4xOSwxMy40OUwxNy4wOSwx
My41MEwxNy4wMCwxMy41MEwxNi45MSwxMy41MEwxNi44MSwxMy40OUwxNi43MiwxMy40N0wxNi42
MywxMy40NUwxNi41NCwxMy40M0wxNi40NSwxMy4zOUwxNi4zNiwxMy4zNkwxNi4yOCwxMy4zMUwx
Ni4yMCwxMy4yN0wxNi4xMiwxMy4yMUwxNi4wNCwxMy4xNkwxNS45NywxMy4wOUwxNS45MSwxMy4w
M0wxNS44NCwxMi45NkwxNS43OSwxMi44OEwxNS43MywxMi44MEwxNS42OSwxMi43MkwxNS42NCwx
Mi42NEwxNS42MSwxMi41NUwxNS41NywxMi40NkwxNS41NSwxMi4zN0wxNS41MywxMi4yOEwxNS41
MSwxMi4xOUwxNS41MCwxMi4wOUwxNS41MCwxMi4wMEwxNS41MCwxMS45MUwxNS41MSwxMS44MUwx
NS41MywxMS43MkwxNS41NSwxMS42M0wxNS41NywxMS41NEwxNS42MSwxMS40NUwxNS42NCwxMS4z
NkwxNS42OSwxMS4yOEwxNS43MywxMS4yMEwxNS43OSwxMS4xMkwxNS44NCwxMS4wNEwxNS45MSwx
MC45N0wxNS45NywxMC45MUwxNi4wNCwxMC44NEwxNi4xMiwxMC43OUwxNi4yMCwxMC43M0wxNi4y
OCwxMC42OUwxNi4zNiwxMC42NEwxNi40NSwxMC42MUwxNi41NCwxMC41N0wxNi42MywxMC41NUwx
Ni43MiwxMC41M0wxNi44MSwxMC41MUwxNi45MSwxMC41MEwxNy4wMCwxMC41MEwxNy4wOSwxMC41
MEwxNy4xOSwxMC41MUwxNy4yOCwxMC41M0wxNy4zNywxMC41NUwxNy40NiwxMC41N0wxNy41NSwx
MC42MUwxNy42NCwxMC42NEwxNy43MiwxMC42OUwxNy44MCwxMC43M0wxNy44OCwxMC43OUwxNy45
NiwxMC44NEwxOC4wMywxMC45MUwxOC4wOSwxMC45N0wxOC4xNiwxMS4wNEwxOC4yMSwxMS4xMkwx
OC4yNywxMS4yMEwxOC4zMSwxMS4yOEwxOC4zNiwxMS4zNkwxOC4zOSwxMS40NUwxOC40MywxMS41
NEwxOC40NSwxMS42M0wxOC40NywxMS43MkwxOC40OSwxMS44MUwxOC41MCwxMS45MSJdCisgICAg
ICAgICAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDI2NS42MywxMzguNzApIHNpemUgMTgu
NzV4MTAuMTAgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbc3Ryb2tlIHdp
ZHRoPTIuMDBdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbZGF0YT0i
TTEwLjAwLDE5LjAwTDE1LjAwLDIzLjAwTDIwLjAwLDE5LjAwIl0KSW5kZXg6IExheW91dFRlc3Rz
L3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC5zdmcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tc3ludGF4LnN2
ZwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vcHJlc2VydmUtYXNwZWN0
LXJhdGlvLXN5bnRheC5zdmcJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzMgQEAKKzw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8v
VzNDLy9EVEQgU1ZHIDEuMSBCYXNpYy8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9T
VkcvMS4xL0RURC9zdmcxMS1iYXNpYy5kdGQiIFsKKwk8IUVOVElUWSBTbWlsZSAiCis8cmVjdCB4
PScuNScgeT0nLjUnIHdpZHRoPScyOScgaGVpZ2h0PSczOScgZmlsbD0nYmxhY2snIHN0cm9rZT0n
cmVkJy8+Cis8ZyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLCA1KSc+Cis8Y2lyY2xlIGN4PScxNScg
Y3k9JzE1JyByPScxMCcgZmlsbD0neWVsbG93Jy8+Cis8Y2lyY2xlIGN4PScxMicgY3k9JzEyJyBy
PScxLjUnIGZpbGw9J2JsYWNrJy8+Cis8Y2lyY2xlIGN4PScxNycgY3k9JzEyJyByPScxLjUnIGZp
bGw9J2JsYWNrJy8+Cis8cGF0aCBkPSdNIDEwIDE5IEwgMTUgMjMgMjAgMTknIHN0cm9rZT0nYmxh
Y2snIHN0cm9rZS13aWR0aD0nMicvPgorPC9nPgorIj4KKwk8IUVOVElUWSBWaWV3cG9ydDIgIjxy
ZWN0IHg9Jy41JyB5PScuNScgd2lkdGg9JzI5JyBoZWlnaHQ9JzU5JworZmlsbD0nbm9uZScgc3Ry
b2tlPSdibHVlJy8+Ij4KK10+Cis8c3ZnIHZlcnNpb249IjEuMSIgYmFzZVByb2ZpbGU9ImJhc2lj
IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnLXJvb3QiIHdpZHRoPSIxMDAlIiBoZWlnaHQ9
IjEwMCUiIHZpZXdCb3g9IjAgMCA0ODAgMzYwIj4KKwk8ZyBpZD0idGVzdC1ib2R5LWNvbnRlbnQi
IHRyYW5zZm9ybT0idHJhbnNsYXRlKDAsIDApIj4KKwkJPGcgZm9udC1zaXplPSI5Ij4KKwkJCTx0
ZXh0IHg9IjAiIHk9IjMwIj5BbGwgc3ZncyBiZWxvdyBzaG91bGQgbG9vayB0aGUgc2FtZSwgc2lu
Y2UgYWxsIGhhdmUgcHJlc2VydmVBc3BlY3RSYXRpbyB3aXRoIHN5bnRheCBlcnJvcnMgYW5kIGRl
ZmF1bHQgc2hvdWxkIGJlIGNob3Nlbi48L3RleHQ+CisJCTxnIGlkPSJtZWV0LWdyb3VwLTIiIHRy
YW5zZm9ybT0idHJhbnNsYXRlKDAsIDUwKSI+CisgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3
dy53My5vcmcvMTk5OS94bGluayIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSIgdmlld0JveD0i
MCAwIDMwIDQwIiB3aWR0aD0iMzAiIGhlaWdodD0iNjAiPiZTbWlsZTs8L3N2Zz4KKwkJCTwvZz4K
KwkJCTxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUwLCA1MCkiPgorICAgICAgICAgPHN2ZyB2ZXJz
aW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9
Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89ImRlZmVy
IiB2aWV3Qm94PSIwIDAgMzAgNDAiIHdpZHRoPSIzMCIgaGVpZ2h0PSI2MCI+JlNtaWxlOzwvc3Zn
PgorCQkJPC9nPgorCQkJPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAwLCA1MCkiPgorICAgICAg
ICAgPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIg
eG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0
UmF0aW89ImRlZmVyIG1lZXQiIHZpZXdCb3g9IjAgMCAzMCA0MCIgd2lkdGg9IjMwIiBoZWlnaHQ9
IjYwIj4mU21pbGU7PC9zdmc+CisJCQk8L2c+CisJCQk8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgx
NTAsIDUwKSI+CisgICAgICAgICA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu
ayIgcHJlc2VydmVBc3BlY3RSYXRpbz0iZGVmZXIgeE1pZFlNaWQgbWVldCBhIiB2aWV3Qm94PSIw
IDAgMzAgNDAiIHdpZHRoPSIzMCIgaGVpZ2h0PSI2MCI+JlNtaWxlOzwvc3ZnPgorCQkJPC9nPgor
ICAgICAgICAgICAgPC9nPgorCTwvZz4KKzwvc3ZnPgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4NDA4KQorKysgV2Vi
Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw5MiBAQAorMjAwNi0xMi0y
NCAgUm9iIEJ1aXMgIDxidWlzQGtkZS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTExMDgKKyAgICAgICAgUmVwbGFjZSB1c2FnZSBvZiBzcGxpdCBieSBwcm9wZXIgcGFyc2Vy
cworCisgICAgICAgIEdldCByaWQgb2YgYWxsIHVzZXMgb2Ygc3BsaXQoKSBpbiBrc3ZnIGFuZCBy
ZW9yZ2FuaXplCisgICAgICAgIHN2ZyBwYXJzaW5nIGZ1bmN0aW9ucyBpbiB0aGUgcHJvY2Vzcy4K
KworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
LSByZW5hbWUgc3ZncGF0aHBhcnNlci4qIHRvIFNWR1BhcnNlclV0aWxzLioKKworICAgICAgICAq
IGtzdmcyL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R0FuaW1hdGlvbkVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgLSB1c2Ug
U1ZHU3RyaW5nTGlzdDo6cGFyc2UgaW5zdGVhZCBvZiBwYXJzZVNlcGFyYXRlZExpc3QKKworICAg
ICAgICAqIGtzdmcyL3N2Zy9TVkdDb2xvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdDb2xv
cjo6c2V0UkdCQ29sb3IpOgorICAgICAgICAtIHVzZSBmdW5jdGlvbnMgZnJvbSBTVkdQYXJzZXJV
dGlscyBpbnN0ZWFkIG9mIHNwbGl0CisKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHRkVEaWZmdXNl
TGlnaHRpbmdFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZFRGlmZnVzZUxpZ2h0
aW5nRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAgICAgICAqIGtzdmcyL3N2Zy9T
VkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRkVHYXVz
c2lhbkJsdXJFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0ZSk6CisgICAgICAgICoga3N2ZzIv
c3ZnL1NWR0ZFU3BlY3VsYXJMaWdodGluZ0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHRkVTcGVjdWxhckxpZ2h0aW5nRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWJ1dGUpOgorICAg
ICAgICAqIGtzdmcyL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAg
ICAgICAgLSB1c2UgU1ZHU3RyaW5nTGlzdDo6cGFyc2UgaW5zdGVhZCBvZiBzcGxpdAorCisgICAg
ICAgICoga3N2ZzIvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
VkdGaXRUb1ZpZXdCb3g6OnBhcnNlVmlld0JveCk6CisgICAgICAgIC0gcmV3cml0ZSBwYXJzZXIg
dXNpbmcgZnVuY3Rpb25zIGZyb20gU1ZHUGFyc2VyVXRpbHMgaW5zdGVhZCBvZiBzcGxpdAorCisg
ICAgICAgICoga3N2ZzIvc3ZnL1NWR0xlbmd0aC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdM
ZW5ndGg6OnNldFZhbHVlQXNTdHJpbmcpOgorICAgICAgICAtIHVzZSBmdW5jdGlvbnMgZnJvbSBT
VkdQYXJzZXJVdGlscyBpbnN0ZWFkIG9mIHNwbGl0CisKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZH
TGVuZ3RoTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdMZW5ndGhMaXN0OjpwYXJzZSk6
CisgICAgICAgICoga3N2ZzIvc3ZnL1NWR051bWJlckxpc3QuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHTnVtYmVyTGlzdDo6cGFyc2UpOgorICAgICAgICAtIHVzZSBmdW5jdGlvbnMgZnJvbSBT
VkdQYXJzZXJVdGlscyBpbnN0ZWFkIG9mIHNwbGl0CisKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZH
UGFyc2VyVXRpbHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlTnVtYmVyKToK
KyAgICAgICAgKFdlYkNvcmU6OnBhcnNlTnVtYmVyT3B0aW9uYWxOdW1iZXIpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHUG9seVBhcnNlcjo6cGFyc2VQb2ludHMpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUGF0aFBhcnNlcjo6cGFyc2VTVkcpOgorICAgICAgICAqIGtzdmcyL3N2Zy9TVkdQYXJzZXJV
dGlscy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OmlzV2hpdGVzcGFjZSk6CisgICAgICAg
IChXZWJDb3JlOjpza2lwT3B0aW9uYWxTcGFjZXMpOgorICAgICAgICAoV2ViQ29yZTo6c2tpcE9w
dGlvbmFsU3BhY2VzT3JEZWxpbWl0ZXIpOgorICAgICAgICAtIG1vdmUgcHJpdmF0ZSBwYXJzaW5n
IGhlbHBlciBmdW5jdGlvbnMgaW50byB0aGUgaGVhZGVyCisgICAgICAgIC0gdXNlIFVDaGFyKiBp
bnN0ZWFkIG9mIGNoYXIqCisKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRl
KToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQuaDoKKyAgICAgICAgKiBrc3Zn
Mi9zdmcvU1ZHUG9seUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUG9seUVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHUG9seUVs
ZW1lbnQuaDoKKyAgICAgICAgLSBhZGp1c3QgdG8gc3ZncGF0aHBhcnNlciByZW5hbWUKKworICAg
ICAgICAqIGtzdmcyL3N2Zy9TVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNWR1ByZXNlcnZlQXNwZWN0UmF0aW86OnBhcnNlUHJlc2VydmVBc3BlY3RSYXRpbyk6
CisgICAgICAgIC0gcmV3cml0ZSBwYXJzZXIgdXNpbmcgZnVuY3Rpb25zIGZyb20gU1ZHUGFyc2Vy
VXRpbHMgaW5zdGVhZCBvZiBzcGxpdAorICAgICAgICAtIHRha2UgaW50byBhY2NvdW50IHRoZSBr
ZXl3b3JkICdkZWZlcicsIHRob3VnaCB3ZSBkbyBub3QgdXNlIGl0IHlldAorCisgICAgICAgICog
a3N2ZzIvc3ZnL1NWR1N0cmluZ0xpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3RyaW5n
TGlzdDo6cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHU3RyaW5nTGlzdDo6cGFyc2UpOgor
ICAgICAgICAqIGtzdmcyL3N2Zy9TVkdTdHJpbmdMaXN0Lmg6CisgICAgICAgIC0gYWRkIG1ldGhv
ZCBwYXJzZQorICAgICAgICAtIHVzZSBmdW5jdGlvbnMgZnJvbSBTVkdQYXJzZXJVdGlscyBpbnN0
ZWFkIG9mIHNwbGl0CisKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHVGVzdHMuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHVGVzdHM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgLSBy
ZW1vdmFsIG9mIGRlcHJlY2F0ZWRTdHJpbmcgdXNhZ2UKKworICAgICAgICAqIGtzdmcyL3N2Zy9T
VkdUcmFuc2Zvcm1hYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBhcnNlVHJhbnNmb3JtUGFy
YW1MaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1RyYW5zZm9ybWFibGU6OnBhcnNlVHJhbnNm
b3JtQXR0cmlidXRlKToKKyAgICAgICAgLSByZXdyaXRlIHBhcnNlciB1c2luZyBmdW5jdGlvbnMg
ZnJvbSBTVkdQYXJzZXJVdGlscyBpbnN0ZWFkIG9mIHNwbGl0CisKKyAgICAgICAgKiBrc3ZnMi9z
dmcvc3ZncGF0aHBhcnNlci5jcHA6IFJlbW92ZWQuCisgICAgICAgICoga3N2ZzIvc3ZnL3N2Z3Bh
dGhwYXJzZXIuaDogUmVtb3ZlZC4KKwogMjAwNi0xMi0yMyAgQWxleGV5IFByb3NrdXJ5YWtvdiAg
PGFwQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2VvZmYuCkluZGV4OiBXZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTg0MDgpCisr
KyBXZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5
KQpAQCAtMTk2Miw4ICsxOTYyLDYgQEAKIAkJQTg4QUQ0QTkwOTUyNDhGMDAwMUREMTk2IC8qIFNW
R1BhaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
OEMwRjg4QjA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGFpbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBODhBRDRBQTA5NTI0OEYwMDAxREQxOTYg
LyogU1ZHUGF0aEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQThDMEY4OEMwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhFbGVtZW50LmNw
cCAqLzsgfTsKIAkJQTg4QUQ0QUIwOTUyNDhGMDAwMUREMTk2IC8qIFNWR1BhdGhFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEMwRjg4RDA4
OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0aEVsZW1lbnQuaCAqLzsgfTsKLQkJQTg4QUQ0QUMwOTUy
NDhGMDAwMUREMTk2IC8qIHN2Z3BhdGhwYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThDMEY4OEUwODk3MDFGMzAwQkE1MTE0IC8qIHN2Z3Bh
dGhwYXJzZXIuY3BwICovOyB9OwotCQlBODhBRDRBRDA5NTI0OEYwMDAxREQxOTYgLyogc3ZncGF0
aHBhcnNlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QThDMEY4OEYwODk3MDFGMzAwQkE1MTE0IC8qIHN2Z3BhdGhwYXJzZXIuaCAqLzsgfTsKIAkJQTg4
QUQ0QUUwOTUyNDhGMDAwMUREMTk2IC8qIFNWR1BhdGhTZWdBcmMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThDMEY4OTAwODk3MDFGMzAwQkE1MTE0
IC8qIFNWR1BhdGhTZWdBcmMuY3BwICovOyB9OwogCQlBODhBRDRBRjA5NTI0OEYwMDAxREQxOTYg
LyogU1ZHUGF0aFNlZ0FyYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQThDMEY4OTEwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhTZWdBcmMuaCAqLzsg
fTsKIAkJQTg4QUQ0QjAwOTUyNDhGMDAwMUREMTk2IC8qIFNWR1BhdGhTZWdDbG9zZVBhdGguY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThDMEY4OTIw
ODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhTZWdDbG9zZVBhdGguY3BwICovOyB9OwpAQCAtMjE5
OCw2ICsyMTk2LDggQEAKIAkJQUEyMUVDQ0QwQUJGMEZDNjAwMkI4MzRDIC8qIENTU0N1cnNvcklt
YWdlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEFBMDk3OEVFMEFCQUE2RTEwMDg3NDQ4MCAvKiBDU1NDdXJzb3JJbWFnZVZhbHVlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQUE0QzNBNzYwQjJC
MTY3OTAwMjMzNEEyIC8qIFN0eWxlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTRDM0E3NDBCMkIxNjc5MDAyMzM0QTIgLyogU3R5bGVF
bGVtZW50LmNwcCAqLzsgfTsKIAkJQUE0QzNBNzcwQjJCMTY3OTAwMjMzNEEyIC8qIFN0eWxlRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUE0
QzNBNzUwQjJCMTY3OTAwMjMzNEEyIC8qIFN0eWxlRWxlbWVudC5oICovOyB9OworCQlBQTU1Mjk0
NDBCM0M3MDdCMDA0OEFCOEIgLyogU1ZHUGFyc2VyVXRpbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUE1NTI5NDIwQjNDNzA3QjAwNDhBQjhCIC8q
IFNWR1BhcnNlclV0aWxzLmNwcCAqLzsgfTsKKwkJQUE1NTI5NDUwQjNDNzA3QjAwNDhBQjhCIC8q
IFNWR1BhcnNlclV0aWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBQTU1Mjk0MzBCM0M3MDdCMDA0OEFCOEIgLyogU1ZHUGFyc2VyVXRpbHMuaCAqLzsg
fTsKIAkJQUFDOERBQjEwQUExMDAyMDAwREMwOTA3IC8qIFNWR01ldGFkYXRhRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUM4REFBRjBB
QTEwMDIwMDBEQzA5MDcgLyogU1ZHTWV0YWRhdGFFbGVtZW50LmNwcCAqLzsgfTsKIAkJQUFDOERB
QjIwQUExMDAyMDAwREMwOTA3IC8qIFNWR01ldGFkYXRhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQUFDOERBQjAwQUExMDAyMDAwREMwOTA3
IC8qIFNWR01ldGFkYXRhRWxlbWVudC5oICovOyB9OwogCQlBQjIzQTMxMjA5QkJBNzc2MDA2N0ND
NTMgLyogSFRNTFRleHRGaWVsZElubmVyRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQjIzQTMxMDA5QkJBNzc2MDA2N0NDNTMgLyogSFRN
TFRleHRGaWVsZElubmVyRWxlbWVudC5jcHAgKi87IH07CkBAIC00OTIxLDggKzQ5MjEsNiBAQAog
CQlBOEMwRjg4QjA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGFpbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdQYWludC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJQThDMEY4OEMw
ODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUGF0aEVsZW1lbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJ
QThDMEY4OEQwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhFbGVtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgaW5kZW50V2lkdGggPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHUGF0aEVsZW1lbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07Ci0J
CUE4QzBGODhFMDg5NzAxRjMwMEJBNTExNCAvKiBzdmdwYXRocGFyc2VyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gc3ZncGF0aHBhcnNl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAw
OyB9OwotCQlBOEMwRjg4RjA4OTcwMUYzMDBCQTUxMTQgLyogc3ZncGF0aHBhcnNlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdpZHRoID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IHN2Z3BhdGhwYXJz
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7
IH07CiAJCUE4QzBGODkwMDg5NzAxRjMwMEJBNTExNCAvKiBTVkdQYXRoU2VnQXJjLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUGF0
aFNlZ0FyYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1Rh
YnMgPSAwOyB9OwogCQlBOEMwRjg5MTA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0aFNlZ0FyYy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdp
ZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1Bh
dGhTZWdBcmMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFi
cyA9IDA7IH07CiAJCUE4QzBGODkyMDg5NzAxRjMwMEJBNTExNCAvKiBTVkdQYXRoU2VnQ2xvc2VQ
YXRoLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBp
bmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gU1ZHUGF0aFNlZ0Nsb3NlUGF0aC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRh
YldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwpAQCAtNTE2OCw2ICs1MTY2LDggQEAKIAkJQUEw
OTc4RUUwQUJBQTZFMTAwODc0NDgwIC8qIENTU0N1cnNvckltYWdlVmFsdWUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0N1cnNvckltYWdlVmFsdWUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUE0QzNBNzQwQjJCMTY3OTAwMjMzNEEyIC8qIFN0eWxlRWxl
bWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVFbGVt
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQUE0QzNBNzUwQjJCMTY3OTAw
MjMzNEEyIC8qIFN0eWxlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU3R5bGVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBNTUyOTQy
MEIzQzcwN0IwMDQ4QUI4QiAvKiBTVkdQYXJzZXJVdGlscy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUGFyc2VyVXRpbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBQTU1Mjk0MzBCM0M3MDdCMDA0OEFCOEIgLyogU1ZHUGFyc2VyVXRpbHMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR1BhcnNlclV0aWxzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBQzhEQUFGMEFBMTAwMjAwMERDMDkwNyAvKiBT
VkdNZXRhZGF0YUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNWR01ldGFkYXRhRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUFBQzhEQUIwMEFBMTAwMjAwMERDMDkwNyAvKiBTVkdNZXRhZGF0YUVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR01ldGFkYXRhRWxlbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBQjIzQTMxMDA5QkJBNzc2MDA2N0NDNTMgLyogSFRNTFRl
eHRGaWVsZElubmVyRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSFRNTFRleHRGaWVsZElubmVyRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC04MDM2LDYgKzgwMzYsOCBAQAogCQlBOEMwRjdGQzA4OTcwMUYzMDBCQTUxMTQg
Lyogc3ZnICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlB
QTU1Mjk0MjBCM0M3MDdCMDA0OEFCOEIgLyogU1ZHUGFyc2VyVXRpbHMuY3BwICovLAorCQkJCUFB
NTUyOTQzMEIzQzcwN0IwMDQ4QUI4QiAvKiBTVkdQYXJzZXJVdGlscy5oICovLAogCQkJCUIyMDk2
NEJEMEFCNzZFRjYwMEU0Qzc0MCAvKiBTVkdBbmdsZS5jcHAgKi8sCiAJCQkJQjIwOTY0QkUwQUI3
NkVGNjAwRTRDNzQwIC8qIFNWR0FuZ2xlLmggKi8sCiAJCQkJQjJDQjQxMUYwQUI3NTkwNDAwNEQ5
QzQ1IC8qIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQuaWRsICovLApAQCAtODI5Miw4ICs4
Mjk0LDYgQEAKIAkJCQlCMkU5NTQ4RTBBQjVGQkEzMDA3NkRFMzcgLyogU1ZHUHJlc2VydmVBc3Bl
Y3RSYXRpby5pZGwgKi8sCiAJCQkJQThDMEY4OEMwODk3MDFGMzAwQkE1MTE0IC8qIFNWR1BhdGhF
bGVtZW50LmNwcCAqLywKIAkJCQlBOEMwRjg4RDA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0aEVs
ZW1lbnQuaCAqLywKLQkJCQlBOEMwRjg4RTA4OTcwMUYzMDBCQTUxMTQgLyogc3ZncGF0aHBhcnNl
ci5jcHAgKi8sCi0JCQkJQThDMEY4OEYwODk3MDFGMzAwQkE1MTE0IC8qIHN2Z3BhdGhwYXJzZXIu
aCAqLywKIAkJCQlBOEMwRjg5RDA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0aFNlZy5oICovLAog
CQkJCUE4QzBGODkwMDg5NzAxRjMwMEJBNTExNCAvKiBTVkdQYXRoU2VnQXJjLmNwcCAqLywKIAkJ
CQlBOEMwRjg5MTA4OTcwMUYzMDBCQTUxMTQgLyogU1ZHUGF0aFNlZ0FyYy5oICovLApAQCAtOTUz
Miw3ICs5NTMyLDYgQEAKIAkJCQlBODhBRDRBNzA5NTI0OEYwMDAxREQxOTYgLyogU1ZHTnVtYmVy
TGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg4QUQ0QTkwOTUyNDhGMDAwMUREMTk2IC8qIFNW
R1BhaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODhBRDRBQjA5NTI0OEYwMDAxREQxOTYgLyog
U1ZHUGF0aEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAotCQkJCUE4OEFENEFEMDk1MjQ4RjAwMDFE
RDE5NiAvKiBzdmdwYXRocGFyc2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODhBRDRBRjA5NTI0
OEYwMDAxREQxOTYgLyogU1ZHUGF0aFNlZ0FyYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg4QUQ0
QjEwOTUyNDhGMDAwMUREMTk2IC8qIFNWR1BhdGhTZWdDbG9zZVBhdGguaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4OEFENEIzMDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXRoU2VnQ3VydmV0b0N1Ymlj
LmggaW4gSGVhZGVycyAqLywKQEAgLTEwODU0LDYgKzEwODUzLDcgQEAKIAkJCQlFMTJFREI3QjBC
MzA4QTc4MDAyNzA0QjYgLyogRXZlbnRUYXJnZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUFCQzEy
ODc3MEIzM0FBNkQwMEM2OTNENSAvKiBQb3B1cE1lbnVDbGllbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUIyQTEwQjkyMEIzODE4QkQwMDA5OUFBNCAvKiBJbWFnZUJ1ZmZlci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJQUE1NTI5NDUwQjNDNzA3QjAwNDhBQjhCIC8qIFNWR1BhcnNlclV0aWxzLmggaW4g
SGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKQEAgLTExMTE2LDcgKzExMTE2LDYgQEAKIAkJCQlBODhBRDRBNjA5NTI0OEYw
MDAxREQxOTYgLyogU1ZHTnVtYmVyTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODhBRDRB
ODA5NTI0OEYwMDAxREQxOTYgLyogU1ZHUGFpbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg4
QUQ0QUEwOTUyNDhGMDAwMUREMTk2IC8qIFNWR1BhdGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCUE4OEFENEFDMDk1MjQ4RjAwMDFERDE5NiAvKiBzdmdwYXRocGFyc2VyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE4OEFENEFFMDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQYXRoU2VnQXJj
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4OEFENEIwMDk1MjQ4RjAwMDFERDE5NiAvKiBTVkdQ
YXRoU2VnQ2xvc2VQYXRoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4OEFENEIyMDk1MjQ4RjAw
MDFERDE5NiAvKiBTVkdQYXRoU2VnQ3VydmV0b0N1YmljLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
MTIxNzcsNiArMTIxNzYsNyBAQAogCQkJCUIyM0JDQ0U1MEIzODI5QzkwMDVCMjQxNSAvKiBJbWFn
ZUJ1ZmZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkM5NkQ4RDBCM0FGMkI3MDA1RTgwRUMg
LyogSlNTVkdQYXRoU2VnQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyOTdCQzcwMEIz
QzE0Q0YwMDQ1QTU5MCAvKiBKU1NWR1BhdGhTZWdMaXN0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCUFBNTUyOTQ0MEIzQzcwN0IwMDQ4QUI4QiAvKiBTVkdQYXJzZXJVdGlscy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5n
ID0gMDsKIAkJfTsKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQu
Y3BwCShyZXZpc2lvbiAxODQwOCkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0FuaW1hdGlvbkVs
ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MiwyMCArNDIsNiBAQCB1c2luZyBuYW1lc3Bh
Y2Ugc3RkOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLS8vIEhlbHBlciBmdW5jdGlvbgotc3Rh
dGljIHZvaWQgcGFyc2VTZXBhcmF0ZWRMaXN0KFNWR1N0cmluZ0xpc3QqIGxpc3QsIGNvbnN0IFN0
cmluZyYgZGF0YSwgVUNoYXIgZGVsaW1pdGVyKQotewotICAgIC8vIFRPRE8gOiBtb3JlIGVycm9y
IGNoZWNraW5nL3JlcG9ydGluZwotICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIGxpc3Qt
PmNsZWFyKGVjKTsKLQotICAgIFZlY3RvcjxTdHJpbmc+IHN1YnN0cmluZ3MgPSBTdHJpbmcoZGF0
YSkuc3BsaXQoZGVsaW1pdGVyKTsKLSAgICAKLSAgICBWZWN0b3I8U3RyaW5nPjo6Y29uc3RfaXRl
cmF0b3IgZW5kID0gc3Vic3RyaW5ncy5lbmQoKTsKLSAgICBmb3IgKFZlY3RvcjxTdHJpbmc+Ojpj
b25zdF9pdGVyYXRvciBpdCA9IHN1YnN0cmluZ3MuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQot
ICAgICAgICBsaXN0LT5hcHBlbmRJdGVtKCppdCwgZWMpOwotfQotCiBTVkdBbmltYXRpb25FbGVt
ZW50OjpTVkdBbmltYXRpb25FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERv
Y3VtZW50KiBkb2MpCiAgICAgOiBTVkdFbGVtZW50KHRhZ05hbWUsIGRvYykKICAgICAsIFNWR1Rl
c3RzKCkKQEAgLTEzMiwyMiArMTE4LDE5IEBAIHZvaWQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6cGFy
c2VNYXBwZWRBdHQKICAgICAgICAgbV9ocmVmID0gdmFsdWU7CiAgICAgZWxzZSBpZiAoYXR0ci0+
bmFtZSgpID09IFNWR05hbWVzOjphdHRyaWJ1dGVOYW1lQXR0cikKICAgICAgICAgbV9hdHRyaWJ1
dGVOYW1lID0gdmFsdWU7Ci0gICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjph
dHRyaWJ1dGVUeXBlQXR0cikKLSAgICB7CisgICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNW
R05hbWVzOjphdHRyaWJ1dGVUeXBlQXR0cikgewogICAgICAgICBpZiAodmFsdWUgPT0gIkNTUyIp
CiAgICAgICAgICAgICBtX2F0dHJpYnV0ZVR5cGUgPSBBVFRSSUJVVEVUWVBFX0NTUzsKICAgICAg
ICAgZWxzZSBpZiAodmFsdWUgPT0gIlhNTCIpCiAgICAgICAgICAgICBtX2F0dHJpYnV0ZVR5cGUg
PSBBVFRSSUJVVEVUWVBFX1hNTDsKICAgICAgICAgZWxzZSBpZiAodmFsdWUgPT0gImF1dG8iKQog
ICAgICAgICAgICAgbV9hdHRyaWJ1dGVUeXBlID0gQVRUUklCVVRFVFlQRV9BVVRPOwotICAgIH0K
LSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OmJlZ2luQXR0ciB8fCBhdHRy
LT5uYW1lKCkgPT0gU1ZHTmFtZXM6OmVuZEF0dHIpCi0gICAgeworICAgIH0gZWxzZSBpZiAoYXR0
ci0+bmFtZSgpID09IFNWR05hbWVzOjpiZWdpbkF0dHIgfHwgYXR0ci0+bmFtZSgpID09IFNWR05h
bWVzOjplbmRBdHRyKSB7CiAgICAgICAgIC8vIENyZWF0ZSBsaXN0CiAgICAgICAgIFJlZlB0cjxT
VkdTdHJpbmdMaXN0PiB0ZW1wID0gbmV3IFNWR1N0cmluZ0xpc3QoKTsKIAogICAgICAgICAvLyBG
ZWVkIGRhdGEgaW50byBsaXN0Ci0gICAgICAgIHBhcnNlU2VwYXJhdGVkTGlzdCh0ZW1wLmdldCgp
LCB2YWx1ZSwgJzsnKTsKKyAgICAgICAgdGVtcC0+cGFyc2UodmFsdWUsICc7Jyk7CiAKICAgICAg
ICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAKQEAgLTE3Niw4ICsxNTksNyBAQCB2b2lkIFNWR0Fu
aW1hdGlvbkVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0CiAgICAgICAgICAgICAgICAgICAgIGNsb2Nr
VmFsdWUgPSBjdXJyZW50LnN1YnN0cmluZyhkb3RQb3NpdGlvbiArIDQpOwogICAgICAgICAgICAg
ICAgIGVsc2UgaWYgKGN1cnJlbnQuY29udGFpbnMoInJlcGVhdCIpKQogICAgICAgICAgICAgICAg
ICAgICBjbG9ja1ZhbHVlID0gY3VycmVudC5zdWJzdHJpbmcoZG90UG9zaXRpb24gKyA3KTsKLSAg
ICAgICAgICAgICAgICBlbHNlIC8vIERPTTIgRXZlbnQgUmVmZXJlbmNlCi0gICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIGVsc2UgeyAvLyBET00yIEV2ZW50IFJlZmVyZW5jZQogICAg
ICAgICAgICAgICAgICAgICBpbnQgcGx1c01pbnVzUG9zaXRpb24gPSAtMTsKIAogICAgICAgICAg
ICAgICAgICAgICBpZiAoY3VycmVudC5jb250YWlucygnKycpKQpAQCAtMjAzLDUyICsxODUsMzgg
QEAgdm9pZCBTVkdBbmltYXRpb25FbGVtZW50OjpwYXJzZU1hcHBlZEF0dAogICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIH0KLSAgICBlbHNlIGlmIChhdHRy
LT5uYW1lKCkgPT0gU1ZHTmFtZXM6OmR1ckF0dHIpCi0gICAgeworICAgIH0gZWxzZSBpZiAoYXR0
ci0+bmFtZSgpID09IFNWR05hbWVzOjpkdXJBdHRyKSB7CiAgICAgICAgIG1fc2ltcGxlRHVyYXRp
b24gPSBwYXJzZUNsb2NrVmFsdWUodmFsdWUpOwogICAgICAgICBpZiAoIWlzSW5kZWZpbml0ZSht
X3NpbXBsZUR1cmF0aW9uKSkKICAgICAgICAgICAgIG1fc2ltcGxlRHVyYXRpb24gKj0gMTAwMC4w
OwotICAgIH0KLSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6Om1pbkF0dHIp
Ci0gICAgeworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjptaW5BdHRy
KSB7CiAgICAgICAgIG1fbWluID0gcGFyc2VDbG9ja1ZhbHVlKHZhbHVlKTsKICAgICAgICAgaWYg
KCFpc0luZGVmaW5pdGUobV9taW4pKQogICAgICAgICAgICAgbV9taW4gKj0gMTAwMC4wOwotICAg
IH0KLSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6Om1heEF0dHIpCi0gICAg
eworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjptYXhBdHRyKSB7CiAg
ICAgICAgIG1fbWF4ID0gcGFyc2VDbG9ja1ZhbHVlKHZhbHVlKTsKICAgICAgICAgaWYgKCFpc0lu
ZGVmaW5pdGUobV9tYXgpKQogICAgICAgICAgICAgbV9tYXggKj0gMTAwMC4wOwotICAgIH0KLSAg
ICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OnJlc3RhcnRBdHRyKQotICAgIHsK
KyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6cmVzdGFydEF0dHIpIHsK
ICAgICAgICAgaWYgKHZhbHVlID09ICJ3aGVuTm90QWN0aXZlIikKICAgICAgICAgICAgIG1fcmVz
dGFydCA9IFJFU1RBUlRfV0hFTk5PVEFDVElWRTsKICAgICAgICAgZWxzZSBpZiAodmFsdWUgPT0g
Im5ldmVyIikKICAgICAgICAgICAgIG1fcmVzdGFydCA9IFJFU1RBUlRfTkVWRVI7CiAgICAgICAg
IGVsc2UgaWYgKHZhbHVlID09ICJhbHdheXMiKQogICAgICAgICAgICAgbV9yZXN0YXJ0ID0gUkVT
VEFSVF9BTFdBWVM7Ci0gICAgfQotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1l
czo6cmVwZWF0Q291bnRBdHRyKQotICAgIHsKKyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9
PSBTVkdOYW1lczo6cmVwZWF0Q291bnRBdHRyKSB7CiAgICAgICAgIGlmICh2YWx1ZSA9PSAiaW5k
ZWZpbml0ZSIpCiAgICAgICAgICAgICBtX3JlcGVhdENvdW50ID0gREJMX01BWDsKICAgICAgICAg
ZWxzZQogICAgICAgICAgICAgbV9yZXBlYXRDb3VudCA9IHZhbHVlLnRvRG91YmxlKCk7Ci0gICAg
fQotICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6cmVwZWF0RHVyQXR0cikK
KyAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6cmVwZWF0RHVyQXR0cikK
ICAgICAgICAgbV9yZXBlYXREdXIgPSB2YWx1ZTsKLSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkg
PT0gU1ZHTmFtZXM6OmZpbGxBdHRyKQotICAgIHsKKyAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkg
PT0gU1ZHTmFtZXM6OmZpbGxBdHRyKSB7CiAgICAgICAgIGlmICh2YWx1ZSA9PSAiZnJlZXplIikK
ICAgICAgICAgICAgIG1fZmlsbCA9IEZJTExfRlJFRVpFOwogICAgICAgICBlbHNlIGlmICh2YWx1
ZSA9PSAicmVtb3ZlIikKICAgICAgICAgICAgIG1fZmlsbCA9IEZJTExfUkVNT1ZFOwotICAgIH0K
LSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OmNhbGNNb2RlQXR0cikKLSAg
ICB7CisgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OmNhbGNNb2RlQXR0
cikgewogICAgICAgICBpZiAodmFsdWUgPT0gImRpc2NyZXRlIikKICAgICAgICAgICAgIG1fY2Fs
Y01vZGUgPSBDQUxDTU9ERV9ESVNDUkVURTsKICAgICAgICAgZWxzZSBpZiAodmFsdWUgPT0gImxp
bmVhciIpCkBAIC0yNTcsMjEgKzIyNSwxNyBAQCB2b2lkIFNWR0FuaW1hdGlvbkVsZW1lbnQ6OnBh
cnNlTWFwcGVkQXR0CiAgICAgICAgICAgICBtX2NhbGNNb2RlID0gQ0FMQ01PREVfU1BMSU5FOwog
ICAgICAgICBlbHNlIGlmICh2YWx1ZSA9PSAicGFjZWQiKQogICAgICAgICAgICAgbV9jYWxjTW9k
ZSA9IENBTENNT0RFX1BBQ0VEOwotICAgIH0KLSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0g
U1ZHTmFtZXM6OnZhbHVlc0F0dHIpCi0gICAgeworICAgIH0gZWxzZSBpZiAoYXR0ci0+bmFtZSgp
ID09IFNWR05hbWVzOjp2YWx1ZXNBdHRyKSB7CiAgICAgICAgIG1fdmFsdWVzID0gbmV3IFNWR1N0
cmluZ0xpc3QoKTsKLSAgICAgICAgcGFyc2VTZXBhcmF0ZWRMaXN0KG1fdmFsdWVzLmdldCgpLCB2
YWx1ZSwgJzsnKTsKKyAgICAgICAgbV92YWx1ZXMtPnBhcnNlKHZhbHVlLCAnOycpOwogICAgIH0K
LSAgICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OmtleVRpbWVzQXR0cikKLSAg
ICB7CisgICAgZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjprZXlUaW1lc0F0dHIp
IHsKICAgICAgICAgbV9rZXlUaW1lcyA9IG5ldyBTVkdTdHJpbmdMaXN0KCk7Ci0gICAgICAgIHBh
cnNlU2VwYXJhdGVkTGlzdChtX2tleVRpbWVzLmdldCgpLCB2YWx1ZSwgJzsnKTsKKyAgICAgICAg
bV9rZXlUaW1lcy0+cGFyc2UodmFsdWUsICc7Jyk7CiAgICAgfQotICAgIGVsc2UgaWYgKGF0dHIt
Pm5hbWUoKSA9PSBTVkdOYW1lczo6a2V5U3BsaW5lc0F0dHIpCi0gICAgeworICAgIGVsc2UgaWYg
KGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6a2V5U3BsaW5lc0F0dHIpIHsKICAgICAgICAgbV9r
ZXlTcGxpbmVzID0gbmV3IFNWR1N0cmluZ0xpc3QoKTsKLSAgICAgICAgcGFyc2VTZXBhcmF0ZWRM
aXN0KG1fa2V5U3BsaW5lcy5nZXQoKSwgdmFsdWUsICc7Jyk7CisgICAgICAgIG1fa2V5U3BsaW5l
cy0+cGFyc2UodmFsdWUsICc7Jyk7CiAgICAgfQogICAgIGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9
PSBTVkdOYW1lczo6ZnJvbUF0dHIpCiAgICAgICAgIG1fZnJvbSA9IHZhbHVlOwpJbmRleDogV2Vi
Q29yZS9rc3ZnMi9zdmcvU1ZHQ29sb3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIv
c3ZnL1NWR0NvbG9yLmNwcAkocmV2aXNpb24gMTg0MDgpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9T
VkdDb2xvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzLDYgKzIzLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpZmRlZiBTVkdfU1VQUE9SVAogI2luY2x1ZGUgIlNWR0NvbG9yLmgiCisjaW5j
bHVkZSAiU1ZHUGFyc2VyVXRpbHMuaCIKIAogI2luY2x1ZGUgIlNWR0V4Y2VwdGlvbi5oIgogCkBA
IC0yMjYsMjcgKzIyNyw1MCBAQCB2b2lkIFNWR0NvbG9yOjpzZXRSR0JDb2xvcihjb25zdCBTdHJp
bmcmCiAKICAgICBTdHJpbmcgcGFyc2UgPSBtX3JnYkNvbG9yLnN0cmlwV2hpdGVTcGFjZSgpOwog
ICAgIGlmIChwYXJzZS5zdGFydHNXaXRoKCJyZ2IoIikpIHsKLSAgICAgICAgVmVjdG9yPFN0cmlu
Zz4gY29sb3JzID0gcGFyc2Uuc3BsaXQoJywnKTsKLSAgICAgICAgU3RyaW5nIHIgPSBjb2xvcnNb
MF0ucmlnaHQoKGNvbG9yc1swXS5sZW5ndGgoKSAtIDQpKTsKLSAgICAgICAgU3RyaW5nIGcgPSBj
b2xvcnNbMV07Ci0gICAgICAgIFN0cmluZyBiID0gY29sb3JzWzJdLmxlZnQoKGNvbG9yc1syXS5s
ZW5ndGgoKSAtIDEpKTsKLSAgICAKLSAgICAgICAgaWYgKHIuY29udGFpbnMoIiUiKSkgewotICAg
ICAgICAgICAgciA9IHIubGVmdChyLmxlbmd0aCgpIC0gMSk7Ci0gICAgICAgICAgICByID0gU3Ry
aW5nOjpudW1iZXIoaW50KCgoMjU1LjAgKiByLnRvRG91YmxlKCkpIC8gMTAwLjApKSk7Ci0gICAg
ICAgIH0KLQotICAgICAgICBpZiAoZy5jb250YWlucygiJSIpKSB7Ci0gICAgICAgICAgICBnID0g
Zy5sZWZ0KGcubGVuZ3RoKCkgLSAxKTsKLSAgICAgICAgICAgIGcgPSBTdHJpbmc6Om51bWJlcihp
bnQoKCgyNTUuMCAqIGcudG9Eb3VibGUoKSkgLyAxMDAuMCkpKTsKLSAgICAgICAgfQotICAgIAot
ICAgICAgICBpZiAoYi5jb250YWlucygiJSIpKSB7Ci0gICAgICAgICAgICBiID0gYi5sZWZ0KGIu
bGVuZ3RoKCkgLSAxKTsKLSAgICAgICAgICAgIGIgPSBTdHJpbmc6Om51bWJlcihpbnQoKCgyNTUu
MCAqIGIudG9Eb3VibGUoKSkgLyAxMDAuMCkpKTsKLSAgICAgICAgfQotCi0gICAgICAgIG1fY29s
b3IgPSBDb2xvcihyLnRvSW50KCksIGcudG9JbnQoKSwgYi50b0ludCgpKTsKKyAgICAgICAgaW50
IG5vcm1hbCA9IDAsIHBlcmNlbnRhZ2VzID0gMDsKKyAgICAgICAgZG91YmxlIHIgPSAtMSwgZyA9
IC0xLCBiID0gLTE7CisgICAgICAgIGNvbnN0IFVDaGFyKiBwdHIgPSBwYXJzZS5jaGFyYWN0ZXJz
KCkgKyA0OworICAgICAgICBjb25zdCBVQ2hhciogZW5kID0gcGFyc2UuY2hhcmFjdGVycygpICsg
cGFyc2UubGVuZ3RoKCk7CisgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIsIGVuZCk7Cisg
ICAgICAgIGlmICghcGFyc2VOdW1iZXIocHRyLCBlbmQsIHIpKQorICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICBpZiAoKnB0ciA9PSAnJScpIHsKKyAgICAgICAgICAgIHBlcmNlbnRhZ2VzKys7
CisgICAgICAgICAgICBwdHIrKzsKKyAgICAgICAgICAgIGlmICghc2tpcE9wdGlvbmFsU3BhY2Vz
T3JEZWxpbWl0ZXIocHRyLCBlbmQpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fSBlbHNlCisgICAgICAgICAgICBub3JtYWwrKzsKKworICAgICAgICBpZiAoIXBhcnNlTnVtYmVy
KHB0ciwgZW5kLCBnKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKCpwdHIgPT0g
JyUnKSB7CisgICAgICAgICAgICBwZXJjZW50YWdlcysrOworICAgICAgICAgICAgcHRyKys7Cisg
ICAgICAgICAgICBpZiAoIXNraXBPcHRpb25hbFNwYWNlc09yRGVsaW1pdGVyKHB0ciwgZW5kKSkK
KyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgbm9y
bWFsKys7CisKKyAgICAgICAgaWYgKCFwYXJzZU51bWJlcihwdHIsIGVuZCwgYikpCisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIGlmICgqcHRyID09ICclJykgeworICAgICAgICAgICAgcGVy
Y2VudGFnZXMrKzsKKyAgICAgICAgICAgIHB0cisrOworICAgICAgICAgICAgaWYgKCFza2lwT3B0
aW9uYWxTcGFjZXNPckRlbGltaXRlcihwdHIsIGVuZCkpCisgICAgICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIG5vcm1hbCsrOworCisgICAgICAgIGlmICgq
cHRyKysgIT0gJyknKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGlmIChwZXJjZW50
YWdlcyA9PSAzKQorICAgICAgICAgICAgbV9jb2xvciA9IENvbG9yKGludCgoMjU1LjAgKiByKSAv
IDEwMC4wKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQoKDI1NS4wICogZykgLyAx
MDAuMCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50KCgyNTUuMCAqIGIpIC8gMTAw
LjApKTsKKyAgICAgICAgZWxzZSBpZiAobm9ybWFsID09IDMpCisgICAgICAgICAgICBtX2NvbG9y
ID0gQ29sb3IoaW50KHIpLCBpbnQoZyksIGludChiKSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAg
U3RyaW5nIGNvbG9yTmFtZSA9IG1fcmdiQ29sb3IubG93ZXIoKTsKIC8vICAgICAgICBpbnQgY29s
ID0gV2ViQ29yZTo6Z2V0VmFsdWVJRChuYW1lLmFzY2lpKCksIG5hbWUubGVuZ3RoKCkpOwpJbmRl
eDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRURpZmZ1c2VMaWdodGluZ0VsZW1lbnQu
Y3BwCShyZXZpc2lvbiAxODQwOCkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0ZFRGlmZnVzZUxp
Z2h0aW5nRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0LDEwICsyNCwxMSBAQAogCiAj
aW5jbHVkZSAiQXR0ci5oIgogI2luY2x1ZGUgIlNWR0NvbG9yLmgiCisjaW5jbHVkZSAiU1ZHRkVE
aWZmdXNlTGlnaHRpbmcuaCIKICNpbmNsdWRlICJTVkdGRUxpZ2h0RWxlbWVudC5oIgogI2luY2x1
ZGUgIlNWR05hbWVzLmgiCisjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbHMuaCIKICNpbmNsdWRlICJT
VkdSZW5kZXJTdHlsZS5oIgotI2luY2x1ZGUgIlNWR0ZFRGlmZnVzZUxpZ2h0aW5nLmgiCiAjaW5j
bHVkZSAiU1ZHUmVzb3VyY2VGaWx0ZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjUs
MTIgKzY2LDExIEBAIHZvaWQgU1ZHRkVEaWZmdXNlTGlnaHRpbmdFbGVtZW50OjpwYXJzZU0KICAg
ICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OmRpZmZ1c2VDb25zdGFudEF0dHIp
CiAgICAgICAgIHNldERpZmZ1c2VDb25zdGFudEJhc2VWYWx1ZSh2YWx1ZS50b0ludCgpKTsKICAg
ICBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6Omtlcm5lbFVuaXRMZW5ndGhBdHRy
KSB7Ci0gICAgICAgIFZlY3RvcjxTdHJpbmc+IG51bWJlcnMgPSB2YWx1ZS5zcGxpdCgnICcpOwot
ICAgICAgICBzZXRLZXJuZWxVbml0TGVuZ3RoWEJhc2VWYWx1ZShudW1iZXJzWzBdLnRvRG91Ymxl
KCkpOwotICAgICAgICBpZiAobnVtYmVycy5zaXplKCkgPT0gMSkKLSAgICAgICAgICAgIHNldEtl
cm5lbFVuaXRMZW5ndGhZQmFzZVZhbHVlKG51bWJlcnNbMF0udG9Eb3VibGUoKSk7Ci0gICAgICAg
IGVsc2UKLSAgICAgICAgICAgIHNldEtlcm5lbFVuaXRMZW5ndGhZQmFzZVZhbHVlKG51bWJlcnNb
MV0udG9Eb3VibGUoKSk7CisgICAgICAgIGRvdWJsZSB4LCB5OworICAgICAgICBpZiAocGFyc2VO
dW1iZXJPcHRpb25hbE51bWJlcih2YWx1ZSwgeCwgeSkpIHsKKyAgICAgICAgICAgIHNldEtlcm5l
bFVuaXRMZW5ndGhYQmFzZVZhbHVlKHgpOworICAgICAgICAgICAgc2V0S2VybmVsVW5pdExlbmd0
aFlCYXNlVmFsdWUoeSk7CisgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9
PSBTVkdOYW1lczo6bGlnaHRpbmdfY29sb3JBdHRyKQogICAgICAgICBzZXRMaWdodGluZ0NvbG9y
QmFzZVZhbHVlKG5ldyBTVkdDb2xvcih2YWx1ZSkpOwogICAgIGVsc2UKSW5kZXg6IFdlYkNvcmUv
a3N2ZzIvc3ZnL1NWR0ZFR2F1c3NpYW5CbHVyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9rc3ZnMi9zdmcvU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50LmNwcAkocmV2aXNpb24gMTg0
MDgpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRUdhdXNzaWFuQmx1ckVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiU1ZHRkVHYXVzc2lhbkJs
dXJFbGVtZW50LmgiCiAKICNpbmNsdWRlICJTVkdOYW1lcy5oIgorI2luY2x1ZGUgIlNWR1BhcnNl
clV0aWxzLmgiCiAjaW5jbHVkZSAiU1ZHUmVzb3VyY2VGaWx0ZXIuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtNTUsMTIgKzU2LDExIEBAIHZvaWQgU1ZHRkVHYXVzc2lhbkJsdXJFbGVtZW50
OjpwYXJzZU1hcHAKIHsKICAgICBjb25zdCBTdHJpbmcmIHZhbHVlID0gYXR0ci0+dmFsdWUoKTsK
ICAgICBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpzdGREZXZpYXRpb25BdHRyKSB7Ci0g
ICAgICAgIFZlY3RvcjxTdHJpbmc+IG51bWJlcnMgPSB2YWx1ZS5zcGxpdCgnICcpOwotICAgICAg
ICBzZXRTdGREZXZpYXRpb25YQmFzZVZhbHVlKG51bWJlcnNbMF0udG9Eb3VibGUoKSk7Ci0gICAg
ICAgIGlmIChudW1iZXJzLnNpemUoKSA9PSAxKQotICAgICAgICAgICAgc2V0U3RkRGV2aWF0aW9u
WUJhc2VWYWx1ZShudW1iZXJzWzBdLnRvRG91YmxlKCkpOwotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBzZXRTdGREZXZpYXRpb25ZQmFzZVZhbHVlKG51bWJlcnNbMV0udG9Eb3VibGUoKSk7Cisg
ICAgICAgIGRvdWJsZSB4LCB5OworICAgICAgICBpZiAocGFyc2VOdW1iZXJPcHRpb25hbE51bWJl
cih2YWx1ZSwgeCwgeSkpIHsKKyAgICAgICAgICAgIHNldFN0ZERldmlhdGlvblhCYXNlVmFsdWUo
eCk7CisgICAgICAgICAgICBzZXRTdGREZXZpYXRpb25ZQmFzZVZhbHVlKHkpOworICAgICAgICB9
CiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OmluQXR0cikKICAgICAg
ICAgc2V0SW4xQmFzZVZhbHVlKHZhbHVlKTsKICAgICBlbHNlCkluZGV4OiBXZWJDb3JlL2tzdmcy
L3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2tzdmcyL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50LmNwcAkocmV2aXNpb24g
MTg0MDgpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsOCArMjUsOSBAQAogI2luY2x1ZGUgIlNWR0ZFU3Bl
Y3VsYXJMaWdodGluZ0VsZW1lbnQuaCIKIAogI2luY2x1ZGUgIlNWR0NvbG9yLmgiCi0jaW5jbHVk
ZSAiU1ZHTmFtZXMuaCIKICNpbmNsdWRlICJTVkdGRUxpZ2h0RWxlbWVudC5oIgorI2luY2x1ZGUg
IlNWR05hbWVzLmgiCisjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbHMuaCIKICNpbmNsdWRlICJTVkdS
ZXNvdXJjZUZpbHRlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02OCwxMiArNjksMTEg
QEAgdm9pZCBTVkdGRVNwZWN1bGFyTGlnaHRpbmdFbGVtZW50OjpwYXJzZQogICAgIGVsc2UgaWYg
KGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6c3BlY3VsYXJFeHBvbmVudEF0dHIpCiAgICAgICAg
IHNldFNwZWN1bGFyRXhwb25lbnRCYXNlVmFsdWUodmFsdWUudG9Eb3VibGUoKSk7CiAgICAgZWxz
ZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjprZXJuZWxVbml0TGVuZ3RoQXR0cikgewot
ICAgICAgICBWZWN0b3I8U3RyaW5nPiBudW1iZXJzID0gdmFsdWUuc3BsaXQoJyAnKTsKLSAgICAg
ICAgc2V0S2VybmVsVW5pdExlbmd0aFhCYXNlVmFsdWUobnVtYmVyc1swXS50b0RvdWJsZSgpKTsK
LSAgICAgICAgaWYgKG51bWJlcnMuc2l6ZSgpID09IDEpCi0gICAgICAgICAgICBzZXRLZXJuZWxV
bml0TGVuZ3RoWUJhc2VWYWx1ZShudW1iZXJzWzBdLnRvRG91YmxlKCkpOwotICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBzZXRLZXJuZWxVbml0TGVuZ3RoWUJhc2VWYWx1ZShudW1iZXJzWzFdLnRv
RG91YmxlKCkpOworICAgICAgICBkb3VibGUgeCwgeTsKKyAgICAgICAgaWYgKHBhcnNlTnVtYmVy
T3B0aW9uYWxOdW1iZXIodmFsdWUsIHgsIHkpKSB7CisgICAgICAgICAgICBzZXRLZXJuZWxVbml0
TGVuZ3RoWEJhc2VWYWx1ZSh4KTsKKyAgICAgICAgICAgIHNldEtlcm5lbFVuaXRMZW5ndGhZQmFz
ZVZhbHVlKHkpOworICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZH
TmFtZXM6OmxpZ2h0aW5nX2NvbG9yQXR0cikKICAgICAgICAgc2V0TGlnaHRpbmdDb2xvckJhc2VW
YWx1ZShuZXcgU1ZHQ29sb3IodmFsdWUpKTsKICAgICBlbHNlCkluZGV4OiBXZWJDb3JlL2tzdmcy
L3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tz
dmcyL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcAkocmV2aXNpb24gMTg0MDgpCisrKyBX
ZWJDb3JlL2tzdmcyL3N2Zy9TVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjQsNiArMjQsOCBAQAogCiAjaWZkZWYgU1ZHX1NVUFBPUlQKICNpbmNsdWRlICJTVkdG
RVR1cmJ1bGVuY2VFbGVtZW50LmgiCisKKyNpbmNsdWRlICJTVkdQYXJzZXJVdGlscy5oIgogI2lu
Y2x1ZGUgIlNWR1Jlc291cmNlRmlsdGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTY2
LDEyICs2OCwxMSBAQCB2b2lkIFNWR0ZFVHVyYnVsZW5jZUVsZW1lbnQ6OnBhcnNlTWFwcGVkCiAg
ICAgICAgIGVsc2UgaWYgKHZhbHVlID09ICJub3N0aXRjaCIpCiAgICAgICAgICAgICBzZXRTdGl0
Y2hUaWxlc0Jhc2VWYWx1ZShTVkdfU1RJVENIVFlQRV9OT1NUSVRDSCk7CiAgICAgfSBlbHNlIGlm
IChhdHRyLT5uYW1lKCkgPT0gU1ZHTmFtZXM6OmJhc2VGcmVxdWVuY3lBdHRyKSB7Ci0gICAgICAg
IFZlY3RvcjxTdHJpbmc+IG51bWJlcnMgPSB2YWx1ZS5zcGxpdCgnICcpOwotICAgICAgICBzZXRC
YXNlRnJlcXVlbmN5WEJhc2VWYWx1ZShudW1iZXJzWzBdLnRvRG91YmxlKCkpOwotICAgICAgICBp
ZiAobnVtYmVycy5zaXplKCkgPT0gMSkKLSAgICAgICAgICAgIHNldEJhc2VGcmVxdWVuY3lZQmFz
ZVZhbHVlKG51bWJlcnNbMF0udG9Eb3VibGUoKSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAg
IHNldEJhc2VGcmVxdWVuY3lZQmFzZVZhbHVlKG51bWJlcnNbMV0udG9Eb3VibGUoKSk7CisgICAg
ICAgIGRvdWJsZSB4LCB5OworICAgICAgICBpZiAocGFyc2VOdW1iZXJPcHRpb25hbE51bWJlcih2
YWx1ZSwgeCwgeSkpIHsKKyAgICAgICAgICAgIHNldEJhc2VGcmVxdWVuY3lYQmFzZVZhbHVlKHgp
OworICAgICAgICAgICAgc2V0QmFzZUZyZXF1ZW5jeVlCYXNlVmFsdWUoeSk7CisgICAgICAgIH0K
ICAgICB9IGVsc2UgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6c2VlZEF0dHIpCiAgICAg
ICAgIHNldFNlZWRCYXNlVmFsdWUodmFsdWUudG9Eb3VibGUoKSk7CiAgICAgZWxzZSBpZiAoYXR0
ci0+bmFtZSgpID09IFNWR05hbWVzOjpudW1PY3RhdmVzQXR0cikKSW5kZXg6IFdlYkNvcmUva3N2
ZzIvc3ZnL1NWR0ZpdFRvVmlld0JveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9z
dmcvU1ZHRml0VG9WaWV3Qm94LmNwcAkocmV2aXNpb24gMTg0MDgpCisrKyBXZWJDb3JlL2tzdmcy
L3N2Zy9TVkdGaXRUb1ZpZXdCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiwxMCArMjYsMTAg
QEAKIAogI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCisjaW5j
bHVkZSAiU1ZHUGFyc2VyVXRpbHMuaCIKICNpbmNsdWRlICJTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlv
LmgiCiAjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlN0cmluZ0ltcGwuaCIK
LSNpbmNsdWRlICJzdmdwYXRocGFyc2VyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
NDksMzIgKzQ5LDIzIEBAIEFOSU1BVEVEX1BST1BFUlRZX0RFRklOSVRJT05TX1dJVEhfQ09OVEUK
IHZvaWQgU1ZHRml0VG9WaWV3Qm94OjpwYXJzZVZpZXdCb3goY29uc3QgU3RyaW5nJiBzdHIpCiB7
CiAgICAgZG91YmxlIHggPSAwLCB5ID0gMCwgdyA9IDAsIGggPSAwOwotICAgIERlcHJlY2F0ZWRT
dHJpbmcgdmlld2JveCA9IHN0ci5kZXByZWNhdGVkU3RyaW5nKCk7Ci0gICAgY29uc3QgY2hhciog
cCA9IHZpZXdib3gubGF0aW4xKCk7Ci0gICAgY29uc3QgY2hhciogZW5kID0gcCArIHZpZXdib3gu
bGVuZ3RoKCk7Ci0gICAgY29uc3QgY2hhciogYyA9IHA7Ci0gICAgcCA9IHBhcnNlQ29vcmQoYywg
eCk7Ci0gICAgaWYgKHAgPT0gYykKKyAgICBjb25zdCBVQ2hhciogYyA9IHN0ci5jaGFyYWN0ZXJz
KCk7CisgICAgY29uc3QgVUNoYXIqIGVuZCA9IGMgKyBzdHIubGVuZ3RoKCk7CisgICAgaWYgKCFw
YXJzZU51bWJlcihjLCBlbmQsIHgpKQogICAgICAgICBnb3RvIGJhaWxfb3V0OwogCi0gICAgYyA9
IHA7Ci0gICAgcCA9IHBhcnNlQ29vcmQoYywgeSk7Ci0gICAgaWYgKHAgPT0gYykKKyAgICBpZiAo
IXBhcnNlTnVtYmVyKGMsIGVuZCwgeSkpCiAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CiAKLSAgICBj
ID0gcDsKLSAgICBwID0gcGFyc2VDb29yZChjLCB3KTsKLSAgICBpZiAodyA8IDAuMCB8fCBwID09
IGMpIC8vIGNoZWNrIHRoYXQgd2lkdGggaXMgcG9zaXRpdmUKKyAgICBpZiAoIXBhcnNlTnVtYmVy
KGMsIGVuZCwgdykgfHwgdyA8IDAuMCkgLy8gY2hlY2sgdGhhdCB3aWR0aCBpcyBwb3NpdGl2ZQog
ICAgICAgICBnb3RvIGJhaWxfb3V0OwogCi0gICAgYyA9IHA7Ci0gICAgcCA9IHBhcnNlQ29vcmQo
YywgaCk7Ci0gICAgaWYgKGggPCAwLjAgfHwgcCA9PSBjKSAvLyBjaGVjayB0aGF0IGhlaWdodCBp
cyBwb3NpdGl2ZQorICAgIGlmICghcGFyc2VOdW1iZXIoYywgZW5kLCBoLCBmYWxzZSkgfHwgaCA8
IDAuMCkgLy8gY2hlY2sgdGhhdCBoZWlnaHQgaXMgcG9zaXRpdmUKICAgICAgICAgZ290byBiYWls
X291dDsKLSAgICAKLSAgICBpZiAocCA8IGVuZCkgLy8gbm90aGluZyBzaG91bGQgY29tZSBhZnRl
ciB0aGUgbGFzdCwgZm91cnRoIG51bWJlcgorCisgICAgaWYgKGMgPCBlbmQpIC8vIG5vdGhpbmcg
c2hvdWxkIGNvbWUgYWZ0ZXIgdGhlIGxhc3QsIGZvdXJ0aCBudW1iZXIKICAgICAgICAgZ290byBi
YWlsX291dDsKLSAgICAKKwogICAgIHNldFZpZXdCb3hCYXNlVmFsdWUoRmxvYXRSZWN0KHgsIHks
IHcsIGgpKTsKICAgICByZXR1cm47CiAKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR0xlbmd0
aC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHTGVuZ3RoLmNwcAkocmV2
aXNpb24gMTg0MDgpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdMZW5ndGguY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSw5ICsyOSw5IEBACiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorI2luY2x1ZGUgIlNW
R1BhcnNlclV0aWxzLmgiCiAjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNW
R1N0eWxlZEVsZW1lbnQuaCIKLSNpbmNsdWRlICJzdmdwYXRocGFyc2VyLmgiCiAKICNpbmNsdWRl
IDxtYXRoLmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KQEAgLTIzNSwxMCArMjM1LDEw
IEBAIHZvaWQgU1ZHTGVuZ3RoOjpzZXRWYWx1ZUFzU3RyaW5nKGNvbnN0IFMKICAgICAgICAgcmV0
dXJuOwogCiAgICAgZG91YmxlIGNvbnZlcnRlZE51bWJlciA9IDA7Ci0gICAgRGVwcmVjYXRlZFN0
cmluZyBkZXBTdHJpbmcgPSBzLmRlcHJlY2F0ZWRTdHJpbmcoKTsKLSAgICBjb25zdCBjaGFyKiBz
dGFydCA9IGRlcFN0cmluZy5sYXRpbjEoKTsKLSAgICBwYXJzZUNvb3JkKHN0YXJ0LCBjb252ZXJ0
ZWROdW1iZXIpOwotICAgIAorICAgIGNvbnN0IFVDaGFyKiBwdHIgPSBzLmNoYXJhY3RlcnMoKTsK
KyAgICBjb25zdCBVQ2hhciogZW5kID0gcHRyICsgcy5sZW5ndGgoKTsKKyAgICBwYXJzZU51bWJl
cihwdHIsIGVuZCwgY29udmVydGVkTnVtYmVyKTsKKwogICAgIG1fdW5pdCA9IHN0b3JlVW5pdChl
eHRyYWN0TW9kZShtX3VuaXQpLCBzdHJpbmdUb0xlbmd0aFR5cGUocykpOwogICAgIG1fdmFsdWVJ
blNwZWNpZmllZFVuaXRzID0gY29udmVydGVkTnVtYmVyOwogfQpJbmRleDogV2ViQ29yZS9rc3Zn
Mi9zdmcvU1ZHTGVuZ3RoTGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcv
U1ZHTGVuZ3RoTGlzdC5jcHAJKHJldmlzaW9uIDE4NDA4KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcv
U1ZHTGVuZ3RoTGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDggQEAKIAogI2lm
ZGVmIFNWR19TVVBQT1JUCiAjaW5jbHVkZSAiU1ZHTGVuZ3RoTGlzdC5oIgorCisjaW5jbHVkZSAi
U1ZHUGFyc2VyVXRpbHMuaCIKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50LmgiCiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKQEAgLTQxLDEwICs0MywxNyBAQCB2b2lkIFNWR0xlbmd0aExpc3Q6OnBhcnNl
KGNvbnN0IFN0cmluZyYgCiB7CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAKLSAgICBWZWN0
b3I8U3RyaW5nPiBsZW5ndGhzID0gdmFsdWUuc3BsaXQoJyAnKTsKLSAgICBWZWN0b3I8U3RyaW5n
Pjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbGVuZ3Rocy5lbmQoKTsKLSAgICBmb3IgKFZlY3RvcjxT
dHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGxlbmd0aHMuYmVnaW4oKTsgaXQgIT0gZW5kOyAr
K2l0KQotICAgICAgICBhcHBlbmRJdGVtKFNWR0xlbmd0aChjb250ZXh0LCBtb2RlLCAqaXQpLCBl
Yyk7CisgICAgY29uc3QgVUNoYXIqIHB0ciA9IHZhbHVlLmNoYXJhY3RlcnMoKTsKKyAgICBjb25z
dCBVQ2hhciogZW5kID0gcHRyICsgdmFsdWUubGVuZ3RoKCk7CisgICAgd2hpbGUgKHB0ciA8IGVu
ZCkgeworICAgICAgICBjb25zdCBVQ2hhciogc3RhcnQgPSBwdHI7CisgICAgICAgIHdoaWxlIChw
dHIgPCBlbmQgJiYgKnB0ciAhPSAnLCcgJiYgIWlzV2hpdGVzcGFjZSgqcHRyKSkKKyAgICAgICAg
ICAgIHB0cisrOworICAgICAgICBpZiAocHRyID09IHN0YXJ0KQorICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgIGFwcGVuZEl0ZW0oU1ZHTGVuZ3RoKGNvbnRleHQsIG1vZGUsIFN0cmluZyhzdGFy
dCwgcHRyIC0gc3RhcnQpKSwgZWMpOworICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXNPckRlbGlt
aXRlcihwdHIsIGVuZCk7CisgICAgfQogfQogCiB9CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9T
VkdOdW1iZXJMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdOdW1i
ZXJMaXN0LmNwcAkocmV2aXNpb24gMTg0MDgpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdOdW1i
ZXJMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNiArMjUsNyBAQAogI2lmZGVmIFNWR19T
VVBQT1JUCiAjaW5jbHVkZSAiU1ZHTnVtYmVyTGlzdC5oIgogCisjaW5jbHVkZSAiU1ZHUGFyc2Vy
VXRpbHMuaCIKICNpbmNsdWRlICJTVkdTVkdFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTQyLDkgKzQzLDE1IEBAIHZvaWQgU1ZHTnVtYmVyTGlzdDo6cGFyc2UoY29uc3QgU3Ry
aW5nJiAKIHsKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKIAotICAgIFZlY3RvcjxTdHJpbmc+
IG51bWJlcnMgPSB2YWx1ZS5zcGxpdCgnICcpOwotICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAw
OyBpIDwgbnVtYmVycy5zaXplKCk7IGkrKykKLSAgICAgICAgYXBwZW5kSXRlbShudW1iZXJzW2ld
LnRvRG91YmxlKCksIGVjKTsKKyAgICBkb3VibGUgbnVtYmVyID0gMDsKKyAgIAorICAgIGNvbnN0
IFVDaGFyKiBwdHIgPSB2YWx1ZS5jaGFyYWN0ZXJzKCk7CisgICAgY29uc3QgVUNoYXIqIGVuZCA9
IHB0ciArIHZhbHVlLmxlbmd0aCgpOworICAgIHdoaWxlIChwdHIgPCBlbmQpIHsKKyAgICAgICAg
aWYgKCFwYXJzZU51bWJlcihwdHIsIGVuZCwgbnVtYmVyKSkKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgYXBwZW5kSXRlbShudW1iZXIsIGVjKTsKKyAgICB9CiB9CiAKIH0KSW5kZXg6IFdl
YkNvcmUva3N2ZzIvc3ZnL1NWR1BhcnNlclV0aWxzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdQYXJzZXJVdGlscy5jcHAJKHJldmlzaW9uIDE4MzkwKQorKysgV2ViQ29y
ZS9rc3ZnMi9zdmcvU1ZHUGFyc2VyVXRpbHMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDYgKzEs
NyBAQAogLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CiAgICBDb3B5cmln
aHQgKEMpIDIwMDIsIDIwMDMgVGhlIEthcmJvbiBEZXZlbG9wZXJzCiAgICAgICAgICAgICAgICAg
IDIwMDYgICAgICAgQWxleGFuZGVyIEtlbGxldHQgPGx5cGFub3ZAa2RlLm9yZz4KKyAgICAgICAg
ICAgICAgICAgMjAwNiAgICAgICBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogCiAgICBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAg
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwpAQCAtMjAsNDcgKzIxLDIyIEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKICNpZmRlZiBT
VkdfU1VQUE9SVAotI2luY2x1ZGUgInN2Z3BhdGhwYXJzZXIuaCIKLSNpbmNsdWRlICJEZXByZWNh
dGVkU3RyaW5nLmgiCisjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbHMuaCIKKworI2luY2x1ZGUgIlN0
cmluZy5oIgogI2luY2x1ZGUgPG1hdGguaD4KICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLS8vIFNWRyBhbGxvd3Mgc2V2ZXJhbCBkaWZmZXJlbnQg
d2hpdGVzcGFjZSBjaGFyYWN0ZXJzOgotLy8gaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHL3BhdGhz
Lmh0bWwjUGF0aERhdGFCTkYKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc1doaXRlc3BhY2UoY2hhciBj
KSB7Ci0gICAgcmV0dXJuIChjID09ICcgJyB8fCBjID09ICdcdCcgfHwgYyA9PSAnXG4nIHx8IGMg
PT0gJ1xyJyk7Ci19Ci0KLS8vIEFsbCBzdHJpbmdzIGFyZSBhc3N1bWVkIHRvIGJlIG51bGwgdGVy
bWluYXRlZAotc3RhdGljIGlubGluZSBib29sIHNraXBPcHRpb25hbFNwYWNlcyhjb25zdCBjaGFy
KiYgcHRyKSAvLyB0cnVlIG1lYW5zICJmb3VuZCBzcGFjZSIKLXsKLSAgICBpZiAoIWlzV2hpdGVz
cGFjZSgqcHRyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHdoaWxlIChpc1doaXRlc3Bh
Y2UoKnB0cikpCi0gICAgICAgIHB0cisrOwotICAgIHJldHVybiB0cnVlOwotfQotCi1zdGF0aWMg
aW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU3BhY2VzT3JDb21tYShjb25zdCBjaGFyKiYgcHRyKQor
Ym9vbCBwYXJzZU51bWJlcihjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIqIGVuZCwgZG91
YmxlICZudW1iZXIsIGJvb2wgc2tpcCkKIHsKLSAgICBpZiAoIWlzV2hpdGVzcGFjZSgqcHRyKSAm
JiAqcHRyICE9ICcsJykKKyAgICBpZiAoZW5kIDw9IDApCiAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsKLSAgICBpZiAoKnB0ciA9PSAnLCcpIHsKLSAg
ICAgICAgcHRyKys7Ci0gICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIpOwotICAgIH0KLSAg
ICByZXR1cm4gdHJ1ZTsKLX0KLQotCi1jb25zdCBjaGFyKiBwYXJzZUNvb3JkKGNvbnN0IGNoYXIq
IHB0ciwgZG91YmxlICZudW1iZXIpCi17CiAgICAgaW50IGludGVnZXIsIGV4cG9uZW50OwogICAg
IGRvdWJsZSBkZWNpbWFsLCBmcmFjOwogICAgIGludCBzaWduLCBleHBzaWduOworICAgIGNvbnN0
IFVDaGFyKiBzdGFydCA9IHB0cjsKIAogICAgIGV4cG9uZW50ID0gMDsKICAgICBpbnRlZ2VyID0g
MDsKQEAgLTcwLDM1ICs0NiwzNSBAQCBjb25zdCBjaGFyKiBwYXJzZUNvb3JkKGNvbnN0IGNoYXIq
IHB0ciwgCiAgICAgZXhwc2lnbiA9IDE7CiAKICAgICAvLyByZWFkIHRoZSBzaWduCi0gICAgaWYg
KCpwdHIgPT0gJysnKQorICAgIGlmIChwdHIgPCBlbmQgJiYgKnB0ciA9PSAnKycpCiAgICAgICAg
IHB0cisrOwotICAgIGVsc2UgaWYgKCpwdHIgPT0gJy0nKSB7CisgICAgZWxzZSBpZiAocHRyIDwg
ZW5kICYmICpwdHIgPT0gJy0nKSB7CiAgICAgICAgIHB0cisrOwogICAgICAgICBzaWduID0gLTE7
CiAgICAgfQogICAgIC8vIHJlYWQgdGhlIGludGVnZXIgcGFydAotICAgIHdoaWxlKCpwdHIgIT0g
J1wwJyAmJiAqcHRyID49ICcwJyAmJiAqcHRyIDw9ICc5JykKKyAgICB3aGlsZShwdHIgPCBlbmQg
JiYgKnB0ciA+PSAnMCcgJiYgKnB0ciA8PSAnOScpCiAgICAgICAgIGludGVnZXIgPSAoaW50ZWdl
ciAqIDEwKSArICoocHRyKyspIC0gJzAnOwogCi0gICAgaWYgKCpwdHIgPT0gJy4nKSB7IC8vIHJl
YWQgdGhlIGRlY2ltYWxzCisgICAgaWYgKHB0ciA8IGVuZCAmJiAqcHRyID09ICcuJykgeyAvLyBy
ZWFkIHRoZSBkZWNpbWFscwogICAgICAgICBwdHIrKzsKLSAgICAgICAgd2hpbGUoKnB0ciAhPSAn
XDAnICYmICpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzknKQorICAgICAgICB3aGlsZShwdHIgPCBl
bmQgJiYgKnB0ciA+PSAnMCcgJiYgKnB0ciA8PSAnOScpCiAgICAgICAgICAgICBkZWNpbWFsICs9
ICgqKHB0cisrKSAtICcwJykgKiAoZnJhYyAqPSAwLjEpOwogICAgIH0KIAotICAgIGlmICgqcHRy
ID09ICdlJyB8fCAqcHRyID09ICdFJykgeyAvLyByZWFkIHRoZSBleHBvbmVudCBwYXJ0CisgICAg
aWYgKHB0ciA8IGVuZCAmJiAqcHRyID09ICdlJyB8fCAqcHRyID09ICdFJykgeyAvLyByZWFkIHRo
ZSBleHBvbmVudCBwYXJ0CiAgICAgICAgIHB0cisrOwogCiAgICAgICAgIC8vIHJlYWQgdGhlIHNp
Z24gb2YgdGhlIGV4cG9uZW50Ci0gICAgICAgIGlmICgqcHRyID09ICcrJykKKyAgICAgICAgaWYg
KHB0ciA8IGVuZCAmJiAqcHRyID09ICcrJykKICAgICAgICAgICAgIHB0cisrOwotICAgICAgICBl
bHNlIGlmICgqcHRyID09ICctJykgeworICAgICAgICBlbHNlIGlmIChwdHIgPCBlbmQgJiYgKnB0
ciA9PSAnLScpIHsKICAgICAgICAgICAgIHB0cisrOwogICAgICAgICAgICAgZXhwc2lnbiA9IC0x
OwogICAgICAgICB9CiAKICAgICAgICAgZXhwb25lbnQgPSAwOwotICAgICAgICB3aGlsZSgqcHRy
ICE9ICdcMCcgJiYgKnB0ciA+PSAnMCcgJiYgKnB0ciA8PSAnOScpIHsKKyAgICAgICAgd2hpbGUg
KHB0ciA8IGVuZCAmJiAqcHRyID49ICcwJyAmJiAqcHRyIDw9ICc5JykgewogICAgICAgICAgICAg
ZXhwb25lbnQgKj0gMTA7CiAgICAgICAgICAgICBleHBvbmVudCArPSAqcHRyIC0gJzAnOwogICAg
ICAgICAgICAgcHRyKys7CkBAIC0xMDgsNTcgKzg0LDczIEBAIGNvbnN0IGNoYXIqIHBhcnNlQ29v
cmQoY29uc3QgY2hhciogcHRyLCAKICAgICBudW1iZXIgPSBpbnRlZ2VyICsgZGVjaW1hbDsKICAg
ICBudW1iZXIgKj0gc2lnbiAqIHBvdygxMC4wLCBleHBzaWduICogZXhwb25lbnQpOwogCi0gICAg
c2tpcE9wdGlvbmFsU3BhY2VzT3JDb21tYShwdHIpOworICAgIGlmIChzdGFydCA9PSBwdHIpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIHJldHVybiBwdHI7CisgICAgaWYgKHNraXApCisg
ICAgICAgIHNraXBPcHRpb25hbFNwYWNlc09yRGVsaW1pdGVyKHB0ciwgZW5kKTsKKworICAgIHJl
dHVybiB0cnVlOworfQorCitib29sIHBhcnNlTnVtYmVyT3B0aW9uYWxOdW1iZXIoY29uc3QgU3Ry
aW5nJiBzLCBkb3VibGUmIHgsIGRvdWJsZSYgeSkKK3sKKyAgICBpZiAocy5pc0VtcHR5KCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBjb25zdCBVQ2hhciogY3VyID0gcy5jaGFyYWN0ZXJz
KCk7CisgICAgY29uc3QgVUNoYXIqIGVuZCA9IGN1ciArIHMubGVuZ3RoKCk7CisKKyAgICBpZiAo
IXBhcnNlTnVtYmVyKGN1ciwgZW5kLCB4KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
aWYgKGN1ciA9PSBlbmQpCisgICAgICAgIHkgPSB4OworICAgIGVsc2UgaWYgKCFwYXJzZU51bWJl
cihjdXIsIGVuZCwgeSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBjdXIg
PT0gZW5kOwogfQogCi12b2lkIFNWR1BvbHlQYXJzZXI6OnBhcnNlUG9pbnRzKGNvbnN0IERlcHJl
Y2F0ZWRTdHJpbmcmIHMpIGNvbnN0Cit2b2lkIFNWR1BvbHlQYXJzZXI6OnBhcnNlUG9pbnRzKGNv
bnN0IFN0cmluZyYgcykgY29uc3QKIHsKICAgICBpZiAocy5pc0VtcHR5KCkpCiAgICAgICAgIHJl
dHVybjsKLSAgICBEZXByZWNhdGVkU3RyaW5nIHBvaW50RGF0YSA9IHM7Ci0gICAgY29uc3QgY2hh
ciogY3VyclNlZ21lbnQgPSBwb2ludERhdGEubGF0aW4xKCk7Ci0gICAgY29uc3QgY2hhciogZW9T
dHJpbmcgPSBwb2ludERhdGEubGF0aW4xKCkgKyBwb2ludERhdGEubGVuZ3RoKCk7Ci0gICAgCi0g
ICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJTZWdtZW50KTsKLSAgICAKKyAgICBjb25zdCBVQ2hh
ciogY3VyID0gcy5jaGFyYWN0ZXJzKCk7CisgICAgY29uc3QgVUNoYXIqIGVuZCA9IGN1ciArIHMu
bGVuZ3RoKCk7CisKKyAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyLCBlbmQpOworCiAgICAgaW50
IHNlZ21lbnROdW0gPSAwOwotICAgIHdoaWxlIChjdXJyU2VnbWVudCA8IGVvU3RyaW5nKSB7Ci0g
ICAgICAgIGNvbnN0IGNoYXIqIHByZXZTZWdtZW50ID0gY3VyclNlZ21lbnQ7CisgICAgd2hpbGUg
KDEpIHsKICAgICAgICAgZG91YmxlIHhQb3MgPSAwOwotICAgICAgICBjdXJyU2VnbWVudCA9IHBh
cnNlQ29vcmQoY3VyclNlZ21lbnQsIHhQb3MpOyAKLSAgICAgICAgaWYgKGN1cnJTZWdtZW50ID09
IHByZXZTZWdtZW50KQorICAgICAgICBpZiAoIXBhcnNlTnVtYmVyKGN1ciwgZW5kLCB4UG9zKSkK
ICAgICAgICAgICAgIGJyZWFrOwogCi0gICAgICAgIHByZXZTZWdtZW50ID0gY3VyclNlZ21lbnQ7
CiAgICAgICAgIGRvdWJsZSB5UG9zID0gMDsKLSAgICAgICAgY3VyclNlZ21lbnQgPSBwYXJzZUNv
b3JkKGN1cnJTZWdtZW50LCB5UG9zKTsKLSAgICAgICAgaWYgKGN1cnJTZWdtZW50ID09IHByZXZT
ZWdtZW50KQorICAgICAgICBpZiAoIXBhcnNlTnVtYmVyKGN1ciwgZW5kLCB5UG9zKSkKICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgCisKICAgICAgICAgc3ZnUG9seVRvKHhQb3MsIHlQ
b3MsIHNlZ21lbnROdW0rKyk7CiAgICAgfQogfQogCi12b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNl
U1ZHKGNvbnN0IERlcHJlY2F0ZWRTdHJpbmcmIHMsIGJvb2wgcHJvY2VzcykKK3ZvaWQgU1ZHUGF0
aFBhcnNlcjo6cGFyc2VTVkcoY29uc3QgU3RyaW5nJiBzLCBib29sIHByb2Nlc3MpCiB7CiAgICAg
aWYgKHMuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBEZXByZWNhdGVkU3RyaW5n
IGQgPSBzOwotICAgIGNvbnN0IGNoYXIqIHB0ciA9IGQubGF0aW4xKCk7Ci0gICAgY29uc3QgY2hh
ciogZW5kID0gZC5sYXRpbjEoKSArIGQubGVuZ3RoKCkgKyAxOworICAgIGNvbnN0IFVDaGFyKiBw
dHIgPSBzLmNoYXJhY3RlcnMoKTsKKyAgICBjb25zdCBVQ2hhciogZW5kID0gcHRyICsgcy5sZW5n
dGgoKTsKIAogICAgIGRvdWJsZSBjb250cmx4LCBjb250cmx5LCBjdXJ4LCBjdXJ5LCBzdWJwYXRo
eCwgc3VicGF0aHksIHRveCwgdG95LCB4MSwgeTEsIHgyLCB5MiwgeGMsIHljOwogICAgIGRvdWJs
ZSBweDEsIHB5MSwgcHgyLCBweTIsIHB4MywgcHkzOwogICAgIGJvb2wgY2xvc2VkID0gdHJ1ZTsK
LSAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsgLy8gc2tpcCBhbnkgbGVhZGluZyBzcGFjZXMK
KyAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyLCBlbmQpOyAvLyBza2lwIGFueSBsZWFkaW5nIHNw
YWNlcwogICAgIGNoYXIgY29tbWFuZCA9ICoocHRyKyspLCBsYXN0Q29tbWFuZCA9ICcgJzsKIAog
ICAgIHN1YnBhdGh4ID0gc3VicGF0aHkgPSBjdXJ4ID0gY3VyeSA9IGNvbnRybHggPSBjb250cmx5
ID0gMC4wOwotICAgIHdoaWxlKHB0ciA8IGVuZCkgewotICAgICAgICBza2lwT3B0aW9uYWxTcGFj
ZXMocHRyKTsgLy8gc2tpcCBzcGFjZXMgYmV0d2VlbiBjb21tYW5kIGFuZCBmaXJzdCBjb29yZAor
ICAgIHdoaWxlICgxKSB7CisgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIsIGVuZCk7IC8v
IHNraXAgc3BhY2VzIGJldHdlZW4gY29tbWFuZCBhbmQgZmlyc3QgY29vcmQKIAogICAgICAgICBi
b29sIHJlbGF0aXZlID0gZmFsc2U7CiAKQEAgLTE2OCw4ICsxNjAsMTAgQEAgdm9pZCBTVkdQYXRo
UGFyc2VyOjpwYXJzZVNWRyhjb25zdCBEZXByZQogICAgICAgICAgICAgICAgIHJlbGF0aXZlID0g
dHJ1ZTsKICAgICAgICAgICAgIGNhc2UgJ00nOgogICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3gpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBh
cnNlQ29vcmQocHRyLCB0b3kpOworICAgICAgICAgICAgICAgIGlmICghcGFyc2VOdW1iZXIocHRy
LCBlbmQsIHRveCkpCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAg
IGlmICghcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveSkpCisgICAgICAgICAgICAgICAgICAgIGJy
ZWFrOwogCiAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsKICAgICAgICAgICAgICAgICAg
ICAgc3VicGF0aHggPSBjdXJ4ID0gcmVsYXRpdmUgPyBjdXJ4ICsgdG94IDogdG94OwpAQCAtMTg1
LDggKzE3OSw4IEBAIHZvaWQgU1ZHUGF0aFBhcnNlcjo6cGFyc2VTVkcoY29uc3QgRGVwcmUKICAg
ICAgICAgICAgICAgICByZWxhdGl2ZSA9IHRydWU7CiAgICAgICAgICAgICBjYXNlICdMJzoKICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG94KTsK
LSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95KTsKKyAgICAgICAgICAg
ICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgdG94KTsKKyAgICAgICAgICAgICAgICBwYXJzZU51
bWJlcihwdHIsIGVuZCwgdG95KTsKIAogICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzKSB7CiAg
ICAgICAgICAgICAgICAgICAgIGN1cnggPSByZWxhdGl2ZSA/IGN1cnggKyB0b3ggOiB0b3g7CkBA
IC0yMDAsNyArMTk0LDcgQEAgdm9pZCBTVkdQYXRoUGFyc2VyOjpwYXJzZVNWRyhjb25zdCBEZXBy
ZQogICAgICAgICAgICAgfQogICAgICAgICAgICAgY2FzZSAnaCc6CiAgICAgICAgICAgICB7Ci0g
ICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7CisgICAgICAgICAgICAg
ICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveCk7CiAgICAgICAgICAgICAgICAgaWYgKHByb2Nl
c3MpIHsKICAgICAgICAgICAgICAgICAgICAgY3VyeCA9IGN1cnggKyB0b3g7CiAgICAgICAgICAg
ICAgICAgICAgIHN2Z0xpbmVUbyhjdXJ4LCBjdXJ5KTsKQEAgLTIxMSw3ICsyMDUsNyBAQCB2b2lk
IFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZHKGNvbnN0IERlcHJlCiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBjYXNlICdIJzoKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHIgPSBw
YXJzZUNvb3JkKHB0ciwgdG94KTsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVu
ZCwgdG94KTsKICAgICAgICAgICAgICAgICBpZiAocHJvY2VzcykgewogICAgICAgICAgICAgICAg
ICAgICBjdXJ4ID0gdG94OwogICAgICAgICAgICAgICAgICAgICBzdmdMaW5lVG8oY3VyeCwgY3Vy
eSk7CkBAIC0yMjIsNyArMjE2LDcgQEAgdm9pZCBTVkdQYXRoUGFyc2VyOjpwYXJzZVNWRyhjb25z
dCBEZXByZQogICAgICAgICAgICAgfQogICAgICAgICAgICAgY2FzZSAndic6CiAgICAgICAgICAg
ICB7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7CisgICAgICAg
ICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveSk7CiAgICAgICAgICAgICAgICAgaWYg
KHByb2Nlc3MpIHsKICAgICAgICAgICAgICAgICAgICAgY3VyeSA9IGN1cnkgKyB0b3k7CiAgICAg
ICAgICAgICAgICAgICAgIHN2Z0xpbmVUbyhjdXJ4LCBjdXJ5KTsKQEAgLTIzMyw3ICsyMjcsNyBA
QCB2b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZHKGNvbnN0IERlcHJlCiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBjYXNlICdWJzoKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBw
dHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95KTsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJlcihw
dHIsIGVuZCwgdG95KTsKICAgICAgICAgICAgICAgICBpZiAocHJvY2VzcykgewogICAgICAgICAg
ICAgICAgICAgICBjdXJ5ID0gdG95OwogICAgICAgICAgICAgICAgICAgICBzdmdMaW5lVG8oY3Vy
eCwgY3VyeSk7CkBAIC0yNTgsMTIgKzI1MiwxMiBAQCB2b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNl
U1ZHKGNvbnN0IERlcHJlCiAgICAgICAgICAgICAgICAgcmVsYXRpdmUgPSB0cnVlOwogICAgICAg
ICAgICAgY2FzZSAnQyc6CiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFy
c2VDb29yZChwdHIsIHgxKTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwg
eTEpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB4Mik7Ci0gICAgICAg
ICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHkyKTsKLSAgICAgICAgICAgICAgICBwdHIg
PSBwYXJzZUNvb3JkKHB0ciwgdG94KTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3Jk
KHB0ciwgdG95KTsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgeDEpOwor
ICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCB5MSk7CisgICAgICAgICAgICAg
ICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHgyKTsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJl
cihwdHIsIGVuZCwgeTIpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCB0
b3gpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCB0b3kpOwogCiAgICAg
ICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsKICAgICAgICAgICAgICAgICAgICAgcHgxID0gcmVs
YXRpdmUgPyBjdXJ4ICsgeDEgOiB4MTsKQEAgLTI4OSwxMCArMjgzLDEwIEBAIHZvaWQgU1ZHUGF0
aFBhcnNlcjo6cGFyc2VTVkcoY29uc3QgRGVwcmUKICAgICAgICAgICAgICAgICByZWxhdGl2ZSA9
IHRydWU7CiAgICAgICAgICAgICBjYXNlICdTJzoKICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgeDIpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBh
cnNlQ29vcmQocHRyLCB5Mik7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIs
IHRveCk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7CisgICAg
ICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHgyKTsKKyAgICAgICAgICAgICAgICBw
YXJzZU51bWJlcihwdHIsIGVuZCwgeTIpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0
ciwgZW5kLCB0b3gpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCB0b3kp
OwogICAgICAgICAgICAgICAgIGlmICghKGxhc3RDb21tYW5kID09ICdjJyB8fCBsYXN0Q29tbWFu
ZCA9PSAnQycgfHwKICAgICAgICAgICAgICAgICAgICAgIGxhc3RDb21tYW5kID09ICdzJyB8fCBs
YXN0Q29tbWFuZCA9PSAnUycpKSB7CiAgICAgICAgICAgICAgICAgICAgIGNvbnRybHggPSBjdXJ4
OwpAQCAtMzIyLDEwICszMTYsMTAgQEAgdm9pZCBTVkdQYXRoUGFyc2VyOjpwYXJzZVNWRyhjb25z
dCBEZXByZQogICAgICAgICAgICAgICAgIHJlbGF0aXZlID0gdHJ1ZTsKICAgICAgICAgICAgIGNh
c2UgJ1EnOgogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQo
cHRyLCB4MSk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHkxKTsKLSAg
ICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG94KTsKLSAgICAgICAgICAgICAg
ICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95KTsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJl
cihwdHIsIGVuZCwgeDEpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCB5
MSk7CisgICAgICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveCk7CisgICAgICAg
ICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveSk7CiAKICAgICAgICAgICAgICAgICBp
ZiAocHJvY2VzcykgewogICAgICAgICAgICAgICAgICAgICBweDEgPSByZWxhdGl2ZSA/IChjdXJ4
ICsgMiAqICh4MSArIGN1cngpKSAqICgxLjAgLyAzLjApIDogKGN1cnggKyAyICogeDEpICogKDEu
MCAvIDMuMCk7CkBAIC0zNTAsOCArMzQ0LDggQEAgdm9pZCBTVkdQYXRoUGFyc2VyOjpwYXJzZVNW
Ryhjb25zdCBEZXByZQogICAgICAgICAgICAgICAgIHJlbGF0aXZlID0gdHJ1ZTsKICAgICAgICAg
ICAgIGNhc2UgJ1QnOgogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNl
Q29vcmQocHRyLCB0b3gpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0
b3kpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCB0b3gpOworICAgICAg
ICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCB0b3kpOwogICAgICAgICAgICAgICAgIGlm
ICghKGxhc3RDb21tYW5kID09ICdxJyB8fCBsYXN0Q29tbWFuZCA9PSAnUScgfHwKICAgICAgICAg
ICAgICAgICAgICAgIGxhc3RDb21tYW5kID09ICd0JyB8fCBsYXN0Q29tbWFuZCA9PSAnVCcpKSB7
CiAgICAgICAgICAgICAgICAgICAgIGNvbnRybHggPSBjdXJ4OwpAQCAtMzg2LDE1ICszODAsMTUg
QEAgdm9pZCBTVkdQYXRoUGFyc2VyOjpwYXJzZVNWRyhjb25zdCBEZXByZQogICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgIGJvb2wgbGFyZ2VBcmMsIHN3ZWVwOwogICAgICAgICAgICAgICAg
IGRvdWJsZSBhbmdsZSwgcngsIHJ5OwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQo
cHRyLCByeCk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHJ5KTsKLSAg
ICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgYW5nbGUpOwotICAgICAgICAgICAg
ICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3gpOworICAgICAgICAgICAgICAgIHBhcnNlTnVt
YmVyKHB0ciwgZW5kLCByeCk7CisgICAgICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQs
IHJ5KTsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgYW5nbGUpOworICAg
ICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCB0b3gpOwogICAgICAgICAgICAgICAg
IGxhcmdlQXJjID0gdG94ID09IDE7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChw
dHIsIHRveCk7CisgICAgICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveCk7CiAg
ICAgICAgICAgICAgICAgc3dlZXAgPSB0b3ggPT0gMTsKLSAgICAgICAgICAgICAgICBwdHIgPSBw
YXJzZUNvb3JkKHB0ciwgdG94KTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0
ciwgdG95KTsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgdG94KTsKKyAg
ICAgICAgICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgdG95KTsKIAogICAgICAgICAgICAg
ICAgIC8vIFNwZWM6IHJhZGlpIGFyZSBub25uZWdhdGl2ZSBudW1iZXJzCiAgICAgICAgICAgICAg
ICAgcnggPSBmYWJzKHJ4KTsKQEAgLTQxMiw2ICs0MDYsOSBAQCB2b2lkIFNWR1BhdGhQYXJzZXI6
OnBhcnNlU1ZHKGNvbnN0IERlcHJlCiAgICAgICAgIH0KICAgICAgICAgbGFzdENvbW1hbmQgPSBj
b21tYW5kOwogCisgICAgICAgIGlmIChwdHIgPj0gZW5kKQorICAgICAgICAgICAgcmV0dXJuOwor
CiAgICAgICAgIGlmICgqcHRyID09ICcrJyB8fCAqcHRyID09ICctJyB8fCAoKnB0ciA+PSAnMCcg
JiYgKnB0ciA8PSAnOScpKSB7CiAgICAgICAgICAgICAvLyB0aGVyZSBhcmUgc3RpbGwgY29vcmRz
IGluIHRoaXMgY29tbWFuZAogICAgICAgICAgICAgaWYgKGNvbW1hbmQgPT0gJ00nKQpJbmRleDog
V2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGFyc2VyVXRpbHMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdQYXJzZXJVdGlscy5oCShyZXZpc2lvbiAxODM5MCkKKysrIFdlYkNvcmUv
a3N2ZzIvc3ZnL1NWR1BhcnNlclV0aWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBA
CiAvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIHByb2plY3QKICAgIENvcHlyaWdodCAo
QykgMjAwMiwgMjAwMyBUaGUgS2FyYm9uIERldmVsb3BlcnMKKyAgICAgICAgICAgICAgICAgMjAw
NiAgICAgICBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgogCiAgICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgICBtb2RpZnkgaXQg
dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTcs
MjQgKzE4LDUxIEBACiAgICBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KICovCiAKLSNpZm5k
ZWYgX19TVkdQQVRIUEFSU0VSX0hfXwotI2RlZmluZSBfX1NWR1BBVEhQQVJTRVJfSF9fCisjaWZu
ZGVmIFNWR1BBUlNFUlVJTFNfSAorI2RlZmluZSBTVkdQQVJTRVJVSUxTX0gKICNpZmRlZiBTVkdf
U1VQUE9SVAogCisjaW5jbHVkZSA8UGxhdGZvcm1TdHJpbmcuaD4KKwogbmFtZXNwYWNlIFdlYkNv
cmUKIHsKLSAgICBjbGFzcyBEZXByZWNhdGVkU3RyaW5nOworICAgIGJvb2wgcGFyc2VOdW1iZXIo
Y29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyICplbmQsIGRvdWJsZSYgbnVtYmVyLCBib29s
IHNraXAgPSB0cnVlKTsKKyAgICBib29sIHBhcnNlTnVtYmVyT3B0aW9uYWxOdW1iZXIoY29uc3Qg
U3RyaW5nJiBzLCBkb3VibGUmIGgsIGRvdWJsZSYgdik7CisKKyAgICAvLyBTVkcgYWxsb3dzIHNl
dmVyYWwgZGlmZmVyZW50IHdoaXRlc3BhY2UgY2hhcmFjdGVyczoKKyAgICAvLyBodHRwOi8vd3d3
LnczLm9yZy9UUi9TVkcvcGF0aHMuaHRtbCNQYXRoRGF0YUJORgorICAgIHN0YXRpYyBpbmxpbmUg
Ym9vbCBpc1doaXRlc3BhY2UoY29uc3QgVUNoYXImIGMpIHsKKyAgICAgICAgcmV0dXJuIChjID09
ICcgJyB8fCBjID09ICdcdCcgfHwgYyA9PSAnXG4nIHx8IGMgPT0gJ1xyJyk7CisgICAgfQogCi0g
ICAgY29uc3QgY2hhciAqcGFyc2VDb29yZChjb25zdCBjaGFyICpwdHIsIGRvdWJsZSAmbnVtYmVy
KTsKKyAgICBzdGF0aWMgaW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU3BhY2VzKGNvbnN0IFVDaGFy
KiYgcHRyLCBjb25zdCBVQ2hhciogZW5kKSAvLyB0cnVlIG1lYW5zICJmb3VuZCBzcGFjZSIKKyAg
ICB7CisgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgaXNXaGl0ZXNwYWNlKCpwdHIpKQorICAg
ICAgICAgICAgcHRyKys7CisgICAgICAgIHJldHVybiBwdHIgPCBlbmQ7CisgICAgfQorCisgICAg
c3RhdGljIGlubGluZSBib29sIHNraXBPcHRpb25hbFNwYWNlc09yRGVsaW1pdGVyKGNvbnN0IFVD
aGFyKiYgcHRyLCBjb25zdCBVQ2hhciAqZW5kLCBVQ2hhciBkZWxpbWl0ZXIgPSAnLCcpCisgICAg
eworICAgICAgICBpZiAocHRyIDwgZW5kICYmICFpc1doaXRlc3BhY2UoKnB0cikgJiYgKnB0ciAh
PSBkZWxpbWl0ZXIpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmIChza2lw
T3B0aW9uYWxTcGFjZXMocHRyLCBlbmQpKSB7CisgICAgICAgICAgICBpZiAoKnB0ciA9PSBkZWxp
bWl0ZXIpIHsKKyAgICAgICAgICAgICAgICBwdHIrKzsKKyAgICAgICAgICAgICAgICBza2lwT3B0
aW9uYWxTcGFjZXMocHRyLCBlbmQpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAg
IHJldHVybiBwdHIgPCBlbmQ7CisgICAgfQogCiAgICAgY2xhc3MgU1ZHUG9seVBhcnNlcgogICAg
IHsKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgflNWR1BvbHlQYXJzZXIoKSB7IH0KLSAg
ICAgICAgdm9pZCBwYXJzZVBvaW50cyggY29uc3QgRGVwcmVjYXRlZFN0cmluZyAmcG9pbnRzICkg
Y29uc3Q7CisgICAgICAgIHZvaWQgcGFyc2VQb2ludHMoY29uc3QgU3RyaW5nICZwb2ludHMpIGNv
bnN0OwogCiAgICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnUG9seVRvKCBk
b3VibGUgeDEsIGRvdWJsZSB5MSwgaW50IG5yICkgY29uc3QgPSAwOworICAgICAgICB2aXJ0dWFs
IHZvaWQgc3ZnUG9seVRvKGRvdWJsZSB4MSwgZG91YmxlIHkxLCBpbnQgbnIpIGNvbnN0ID0gMDsK
ICAgICB9OwogCiAgICAgLyoqCkBAIC01MiwyMSArODAsMjEgQEAgbmFtZXNwYWNlIFdlYkNvcmUK
ICAgICB7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0dWFsIH5TVkdQYXRoUGFyc2VyKCkgeyB9
Ci0gICAgICAgIHZvaWQgcGFyc2VTVkcoIGNvbnN0IERlcHJlY2F0ZWRTdHJpbmcgJmQsIGJvb2wg
cHJvY2VzcyA9IGZhbHNlICk7CisgICAgICAgIHZvaWQgcGFyc2VTVkcoY29uc3QgU3RyaW5nICZk
LCBib29sIHByb2Nlc3MgPSBmYWxzZSk7CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIHZpcnR1
YWwgdm9pZCBzdmdNb3ZlVG8oIGRvdWJsZSB4MSwgZG91YmxlIHkxLCBib29sIGNsb3NlZCwgYm9v
bCBhYnMgPSB0cnVlICkgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnTGluZVRvKCBkb3Vi
bGUgeDEsIGRvdWJsZSB5MSwgYm9vbCBhYnMgPSB0cnVlICkgPSAwOwotICAgICAgICB2aXJ0dWFs
IHZvaWQgc3ZnTGluZVRvSG9yaXpvbnRhbCggZG91YmxlIHgsIGJvb2wgYWJzID0gdHJ1ZSApOwot
ICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnTGluZVRvVmVydGljYWwoIGRvdWJsZSB5LCBib29sIGFi
cyA9IHRydWUgKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0N1cnZlVG9DdWJpYyggZG91Ymxl
IHgxLCBkb3VibGUgeTEsIGRvdWJsZSB4MiwgZG91YmxlIHkyLCBkb3VibGUgeCwgZG91YmxlIHks
IGJvb2wgYWJzID0gdHJ1ZSApID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0N1cnZlVG9D
dWJpY1Ntb290aCggZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgeDIsIGRvdWJsZSB5MiwgYm9v
bCBhYnMgPSB0cnVlICk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzdmdDdXJ2ZVRvUXVhZHJhdGlj
KCBkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSB4MSwgZG91YmxlIHkxLCBib29sIGFicyA9IHRy
dWUgKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0N1cnZlVG9RdWFkcmF0aWNTbW9vdGgoIGRv
dWJsZSB4LCBkb3VibGUgeSwgYm9vbCBhYnMgPSB0cnVlICk7Ci0gICAgICAgIHZpcnR1YWwgdm9p
ZCBzdmdBcmNUbyggZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgcjEsIGRvdWJsZSByMiwgZG91
YmxlIGFuZ2xlLCBib29sIGxhcmdlQXJjRmxhZywgYm9vbCBzd2VlcEZsYWcsIGJvb2wgYWJzID0g
dHJ1ZSApOworICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnTW92ZVRvKGRvdWJsZSB4MSwgZG91Ymxl
IHkxLCBib29sIGNsb3NlZCwgYm9vbCBhYnMgPSB0cnVlKSA9IDA7CisgICAgICAgIHZpcnR1YWwg
dm9pZCBzdmdMaW5lVG8oZG91YmxlIHgxLCBkb3VibGUgeTEsIGJvb2wgYWJzID0gdHJ1ZSkgPSAw
OworICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnTGluZVRvSG9yaXpvbnRhbChkb3VibGUgeCwgYm9v
bCBhYnMgPSB0cnVlKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0xpbmVUb1ZlcnRpY2FsKGRv
dWJsZSB5LCBib29sIGFicyA9IHRydWUpOworICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQ3VydmVU
b0N1YmljKGRvdWJsZSB4MSwgZG91YmxlIHkxLCBkb3VibGUgeDIsIGRvdWJsZSB5MiwgZG91Ymxl
IHgsIGRvdWJsZSB5LCBib29sIGFicyA9IHRydWUpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lk
IHN2Z0N1cnZlVG9DdWJpY1Ntb290aChkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSB4MiwgZG91
YmxlIHkyLCBib29sIGFicyA9IHRydWUpOworICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQ3VydmVU
b1F1YWRyYXRpYyhkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSB4MSwgZG91YmxlIHkxLCBib29s
IGFicyA9IHRydWUpOworICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQ3VydmVUb1F1YWRyYXRpY1Nt
b290aChkb3VibGUgeCwgZG91YmxlIHksIGJvb2wgYWJzID0gdHJ1ZSk7CisgICAgICAgIHZpcnR1
YWwgdm9pZCBzdmdBcmNUbyhkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSByMSwgZG91YmxlIHIy
LCBkb3VibGUgYW5nbGUsIGJvb2wgbGFyZ2VBcmNGbGFnLCBib29sIHN3ZWVwRmxhZywgYm9vbCBh
YnMgPSB0cnVlKTsKICAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0Nsb3NlUGF0aCgpID0gMDsKICAg
ICBwcml2YXRlOgotICAgICAgICB2b2lkIGNhbGN1bGF0ZUFyYyggYm9vbCByZWxhdGl2ZSwgZG91
YmxlICZjdXJ4LCBkb3VibGUgJmN1cnksIGRvdWJsZSBhbmdsZSwgZG91YmxlIHgsIGRvdWJsZSB5
LCBkb3VibGUgcjEsIGRvdWJsZSByMiwgYm9vbCBsYXJnZUFyY0ZsYWcsIGJvb2wgc3dlZXBGbGFn
ICk7CisgICAgICAgIHZvaWQgY2FsY3VsYXRlQXJjKGJvb2wgcmVsYXRpdmUsIGRvdWJsZSAmY3Vy
eCwgZG91YmxlICZjdXJ5LCBkb3VibGUgYW5nbGUsIGRvdWJsZSB4LCBkb3VibGUgeSwgZG91Ymxl
IHIxLCBkb3VibGUgcjIsIGJvb2wgbGFyZ2VBcmNGbGFnLCBib29sIHN3ZWVwRmxhZyk7CiAgICAg
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZH
UGF0aEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhdGhF
bGVtZW50LmNwcAkocmV2aXNpb24gMTg0MDgpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXRo
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1NSw3ICszNTUsNyBAQCB2b2lkIFNWR1Bh
dGhFbGVtZW50OjpwYXJzZU1hcHBlZEF0dHJpYnV0CiAgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBT
VkdOYW1lczo6ZEF0dHIpIHsKICAgICAgICAgRXhjZXB0aW9uQ29kZSBlYzsKICAgICAgICAgcGF0
aFNlZ0xpc3QoKS0+Y2xlYXIoZWMpOwotICAgICAgICBwYXJzZVNWRyhhdHRyLT52YWx1ZSgpLmRl
cHJlY2F0ZWRTdHJpbmcoKSwgdHJ1ZSk7CisgICAgICAgIHBhcnNlU1ZHKGF0dHItPnZhbHVlKCks
IHRydWUpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmIChTVkdUZXN0czo6cGFyc2VNYXBwZWRB
dHRyaWJ1dGUoYXR0cikpIHJldHVybjsKICAgICAgICAgaWYgKFNWR0xhbmdTcGFjZTo6cGFyc2VN
YXBwZWRBdHRyaWJ1dGUoYXR0cikpIHJldHVybjsKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NW
R1BhdGhFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0aEVs
ZW1lbnQuaAkocmV2aXNpb24gMTg0MDgpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXRoRWxl
bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw5ICsyOCw5IEBACiAjaW5jbHVkZSAiU1ZHQW5p
bWF0ZWRQYXRoRGF0YS5oIgogI2luY2x1ZGUgIlNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQu
aCIKICNpbmNsdWRlICJTVkdMYW5nU3BhY2UuaCIKKyNpbmNsdWRlICJTVkdQYXJzZXJVdGlscy5o
IgogI2luY2x1ZGUgIlNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50LmgiCiAjaW5jbHVkZSAi
U1ZHVGVzdHMuaCIKLSNpbmNsdWRlICJzdmdwYXRocGFyc2VyLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlCiB7CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQb2x5RWxlbWVudC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUG9seUVsZW1lbnQuY3BwCShyZXZpc2lvbiAx
ODQwOCkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BvbHlFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjIsNyArNjIsNyBAQCB2b2lkIFNWR1BvbHlFbGVtZW50OjpwYXJzZU1hcHBlZEF0
dHJpYnV0CiAgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6cG9pbnRzQXR0cikgewog
ICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICAgICAgcG9pbnRzKCktPmNsZWFyKGVj
KTsKLSAgICAgICAgcGFyc2VQb2ludHMoYXR0ci0+dmFsdWUoKS5kZXByZWNhdGVkU3RyaW5nKCkp
OworICAgICAgICBwYXJzZVBvaW50cyhhdHRyLT52YWx1ZSgpKTsKICAgICB9IGVsc2UgewogICAg
ICAgICBpZiAoU1ZHVGVzdHM6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKSByZXR1cm47CiAg
ICAgICAgIGlmIChTVkdMYW5nU3BhY2U6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpKSByZXR1
cm47CkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQb2x5RWxlbWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BvbHlFbGVtZW50LmgJKHJldmlzaW9uIDE4NDA4KQor
KysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUG9seUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
MjcsOSArMjcsOSBAQAogI2luY2x1ZGUgIlNWR0FuaW1hdGVkUG9pbnRzLmgiCiAjaW5jbHVkZSAi
U1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZC5oIgogI2luY2x1ZGUgIlNWR0xhbmdTcGFjZS5o
IgorI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxzLmgiCiAjaW5jbHVkZSAiU1ZHU3R5bGVkVHJhbnNm
b3JtYWJsZUVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUZXN0cy5oIgotI2luY2x1ZGUgInN2Z3Bh
dGhwYXJzZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUKIHsKSW5kZXg6IFdlYkNvcmUva3N2ZzIv
c3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2
ZzIvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3BwCShyZXZpc2lvbiAxODQwOCkKKysrIFdl
YkNvcmUva3N2ZzIvc3ZnL1NWR1ByZXNlcnZlQXNwZWN0UmF0aW8uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNCw2ICsyNCw3IEBACiAjaWZkZWYgU1ZHX1NVUFBPUlQKICNpbmNsdWRlICJTVkdQcmVz
ZXJ2ZUFzcGVjdFJhdGlvLmgiCiAKKyNpbmNsdWRlICJTVkdQYXJzZXJVdGlscy5oIgogI2luY2x1
ZGUgIlNWR1NWR0VsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNjMsMzkgKzY0
LDEwOSBAQCB1bnNpZ25lZCBzaG9ydCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvOjptCiB2b2lkIFNW
R1ByZXNlcnZlQXNwZWN0UmF0aW86OnBhcnNlUHJlc2VydmVBc3BlY3RSYXRpbyhjb25zdCBTdHJp
bmcmIHN0cmluZykKIHsKICAgICAvLyBTcGVjOiBzZXQgdGhlIGRlZmF1bHRzCi0gICAgc2V0QWxp
Z24oU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORSk7Ci0gICAgc2V0TWVldE9yU2xpY2UoU1ZH
X01FRVRPUlNMSUNFX01FRVQpOwotICAgIAotICAgIFZlY3RvcjxTdHJpbmc+IHBhcmFtcyA9IHN0
cmluZy5zaW1wbGlmeVdoaXRlU3BhY2UoKS5zcGxpdCgnICcpOworICAgIFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW9UeXBlIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORTsKKyAgICBT
VkdNZWV0T3JTbGljZVR5cGUgbWVldE9yU2xpY2UgPSBTVkdfTUVFVE9SU0xJQ0VfTUVFVDsKIAot
ICAgIGlmIChwYXJhbXNbMF0gPT0gIm5vbmUiKQotICAgICAgICBtX2FsaWduID0gU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fTk9ORTsKLSAgICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNaW5ZTWlu
IikKLSAgICAgICAgbV9hbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlOOwot
ICAgIGVsc2UgaWYgKHBhcmFtc1swXSA9PSAieE1pZFlNaW4iKQotICAgICAgICBtX2FsaWduID0g
U1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSU47Ci0gICAgZWxzZSBpZiAocGFyYW1zWzBd
ID09ICJ4TWF4WU1pbiIpCi0gICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJ
T19YTUFYWU1JTjsKLSAgICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNaW5ZTWlkIikKLSAgICAg
ICAgbV9hbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUlEOwotICAgIGVsc2Ug
aWYgKHBhcmFtc1swXSA9PSAieE1pZFlNaWQiKQotICAgICAgICBtX2FsaWduID0gU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1JRFlNSUQ7Ci0gICAgZWxzZSBpZiAocGFyYW1zWzBdID09ICJ4TWF4
WU1pZCIpCi0gICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1J
RDsKLSAgICBlbHNlIGlmIChwYXJhbXNbMF0gPT0gInhNaW5ZTWF4IikKLSAgICAgICAgbV9hbGln
biA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUFYOwotICAgIGVsc2UgaWYgKHBhcmFt
c1swXSA9PSAieE1pZFlNYXgiKQotICAgICAgICBtX2FsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNU
UkFUSU9fWE1JRFlNQVg7Ci0gICAgZWxzZSBpZiAocGFyYW1zWzBdID09ICJ4TWF4WU1heCIpCi0g
ICAgICAgIG1fYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1BWDsKLQotICAg
IGlmIChtX2FsaWduICE9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX05PTkUpIHsKLSAgICAgICAg
aWYgKChwYXJhbXMuc2l6ZSgpID4gMSkgJiYgKHBhcmFtc1sxXSA9PSAic2xpY2UiKSkKLSAgICAg
ICAgICAgIG1fbWVldE9yU2xpY2UgPSBTVkdfTUVFVE9SU0xJQ0VfU0xJQ0U7Ci0gICAgICAgIGVs
c2UKLSAgICAgICAgICAgIG1fbWVldE9yU2xpY2UgPSBTVkdfTUVFVE9SU0xJQ0VfTUVFVDsKKyAg
ICBjb25zdCBVQ2hhciogY3VyclBhcmFtID0gc3RyaW5nLmNoYXJhY3RlcnMoKTsKKyAgICBjb25z
dCBVQ2hhciogZW5kID0gY3VyclBhcmFtICsgc3RyaW5nLmxlbmd0aCgpOworCisgICAgaWYgKCFz
a2lwT3B0aW9uYWxTcGFjZXMoY3VyclBhcmFtLCBlbmQpKQorICAgICAgICBnb3RvIGJhaWxfb3V0
OworCisgICAgaWYgKCpjdXJyUGFyYW0gPT0gJ2QnKSB7CisgICAgICAgIGlmICghKChlbmQgLSBj
dXJyUGFyYW0pID4gNCkgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFtWzFdID09ICdlJyAmJgor
ICAgICAgICAgICAgICBjdXJyUGFyYW1bMl0gPT0gJ2YnICYmCisgICAgICAgICAgICAgIGN1cnJQ
YXJhbVszXSA9PSAnZScgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFtWzRdID09ICdyJykKKyAg
ICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgIGN1cnJQYXJhbSArPSA1OworICAgICAg
ICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyclBhcmFtLCBlbmQpOworICAgIH0KKworICAgIGlmICgq
Y3VyclBhcmFtID09ICduJykgeworICAgICAgICBpZiAoISgoZW5kIC0gY3VyclBhcmFtKSA+IDMp
ICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVsxXSA9PSAnbycgJiYKKyAgICAgICAgICAgICAg
Y3VyclBhcmFtWzJdID09ICduJyAmJgorICAgICAgICAgICAgICBjdXJyUGFyYW1bM10gPT0gJ2Un
KQorICAgICAgICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgY3VyclBhcmFtICs9IDQ7Cisg
ICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhjdXJyUGFyYW0sIGVuZCk7CisgICAgICAgIGFsaWdu
ID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fTk9ORTsKKyAgICB9IGVsc2UgaWYgKCpjdXJyUGFy
YW0gPT0gJ3gnKSB7CisgICAgICAgIGlmICgoZW5kIC0gY3VyclBhcmFtKSA8IDgpCisgICAgICAg
ICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICBpZiAoY3VyclBhcmFtWzFdICE9ICdNJyB8fCBj
dXJyUGFyYW1bNF0gIT0gJ1knIHx8IGN1cnJQYXJhbVs1XSAhPSAnTScpCisgICAgICAgICAgICBn
b3RvIGJhaWxfb3V0OworICAgICAgICBpZiAoY3VyclBhcmFtWzJdID09ICdpJyAmJiBjdXJyUGFy
YW1bM10gPT0gJ24nKSB7CisgICAgICAgICAgICBpZiAoY3VyclBhcmFtWzZdID09ICdpJyAmJiBj
dXJyUGFyYW1bN10gPT0gJ24nKQorICAgICAgICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZF
QVNQRUNUUkFUSU9fWE1JTllNSU47CisgICAgICAgICAgICBlbHNlIGlmIChjdXJyUGFyYW1bNl0g
PT0gJ2knICYmIGN1cnJQYXJhbVs3XSA9PSAnZCcpCisgICAgICAgICAgICAgICAgYWxpZ24gPSBT
VkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlOWU1JRDsKKyAgICAgICAgICAgIGVsc2UgaWYgKGN1
cnJQYXJhbVs2XSA9PSAnYScgJiYgY3VyclBhcmFtWzddID09ICd4JykKKyAgICAgICAgICAgICAg
ICBhbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNSU5ZTUFYOworICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgIH0gZWxzZSBpZiAo
Y3VyclBhcmFtWzJdID09ICdpJyAmJiBjdXJyUGFyYW1bM10gPT0gJ2QnKSB7CisgICAgICAgICAg
ICBpZiAoY3VyclBhcmFtWzZdID09ICdpJyAmJiBjdXJyUGFyYW1bN10gPT0gJ24nKQorICAgICAg
ICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNFUlZFQVNQRUNUUkFUSU9fWE1JRFlNSU47CisgICAg
ICAgICAgICBlbHNlIGlmIChjdXJyUGFyYW1bNl0gPT0gJ2knICYmIGN1cnJQYXJhbVs3XSA9PSAn
ZCcpCisgICAgICAgICAgICAgICAgYWxpZ24gPSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUlE
WU1JRDsKKyAgICAgICAgICAgIGVsc2UgaWYgKGN1cnJQYXJhbVs2XSA9PSAnYScgJiYgY3VyclBh
cmFtWzddID09ICd4JykKKyAgICAgICAgICAgICAgICBhbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVD
VFJBVElPX1hNSURZTUFYOworICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIGdvdG8g
YmFpbF9vdXQ7CisgICAgICAgIH0gZWxzZSBpZiAoY3VyclBhcmFtWzJdID09ICdhJyAmJiBjdXJy
UGFyYW1bM10gPT0gJ3gnKSB7CisgICAgICAgICAgICBpZiAoY3VyclBhcmFtWzZdID09ICdpJyAm
JiBjdXJyUGFyYW1bN10gPT0gJ24nKQorICAgICAgICAgICAgICAgIGFsaWduID0gU1ZHX1BSRVNF
UlZFQVNQRUNUUkFUSU9fWE1BWFlNSU47CisgICAgICAgICAgICBlbHNlIGlmIChjdXJyUGFyYW1b
Nl0gPT0gJ2knICYmIGN1cnJQYXJhbVs3XSA9PSAnZCcpCisgICAgICAgICAgICAgICAgYWxpZ24g
PSBTVkdfUFJFU0VSVkVBU1BFQ1RSQVRJT19YTUFYWU1JRDsKKyAgICAgICAgICAgIGVsc2UgaWYg
KGN1cnJQYXJhbVs2XSA9PSAnYScgJiYgY3VyclBhcmFtWzddID09ICd4JykKKyAgICAgICAgICAg
ICAgICBhbGlnbiA9IFNWR19QUkVTRVJWRUFTUEVDVFJBVElPX1hNQVhZTUFYOworICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgY3VyclBhcmFtICs9IDg7CisgICAg
ICAgIHNraXBPcHRpb25hbFNwYWNlcyhjdXJyUGFyYW0sIGVuZCk7CisgICAgfQorCisgICAgaWYg
KCpjdXJyUGFyYW0gPT0gJ20nKSB7CisgICAgICAgIGlmICghKChlbmQgLSBjdXJyUGFyYW0pID4g
MykgJiYKKyAgICAgICAgICAgICAgY3VyclBhcmFtWzFdID09ICdlJyAmJgorICAgICAgICAgICAg
ICBjdXJyUGFyYW1bMl0gPT0gJ2UnICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVszXSA9PSAn
dCcpCisgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICBjdXJyUGFyYW0gKz0gNDsK
KyAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJQYXJhbSwgZW5kKTsKKyAgICAgICAgbWVl
dE9yU2xpY2UgPSBTVkdfTUVFVE9SU0xJQ0VfTUVFVDsKKyAgICB9IGVsc2UgaWYgKCpjdXJyUGFy
YW0gPT0gJ3MnKSB7CisgICAgICAgIGlmICghKChlbmQgLSBjdXJyUGFyYW0pID4gNCkgJiYKKyAg
ICAgICAgICAgICAgY3VyclBhcmFtWzFdID09ICdsJyAmJgorICAgICAgICAgICAgICBjdXJyUGFy
YW1bMl0gPT0gJ2knICYmCisgICAgICAgICAgICAgIGN1cnJQYXJhbVszXSA9PSAnYycgJiYKKyAg
ICAgICAgICAgICAgY3VyclBhcmFtWzRdID09ICdlJykKKyAgICAgICAgICAgIGdvdG8gYmFpbF9v
dXQ7CisgICAgICAgIGN1cnJQYXJhbSArPSA1OworICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMo
Y3VyclBhcmFtLCBlbmQpOworICAgICAgICBpZiAobV9hbGlnbiAhPSBTVkdfUFJFU0VSVkVBU1BF
Q1RSQVRJT19OT05FKQorICAgICAgICAgICAgbWVldE9yU2xpY2UgPSBTVkdfTUVFVE9SU0xJQ0Vf
U0xJQ0U7ICAgIAogICAgIH0KIAorICAgIGlmIChlbmQgIT0gY3VyclBhcmFtKQorICAgICAgICBn
b3RvIGJhaWxfb3V0OyAvLyBGSVhNRTogbWF5IG5lZWQgdG8gcHJpbnQgYW4gZXJyb3IgaGVyZQor
CisgICAgc2V0QWxpZ24oYWxpZ24pOworICAgIHNldE1lZXRPclNsaWNlKG1lZXRPclNsaWNlKTsK
KworICAgIGlmIChtX2NvbnRleHQpCisgICAgICAgIG1fY29udGV4dC0+bm90aWZ5QXR0cmlidXRl
Q2hhbmdlKCk7CisgICAgcmV0dXJuOworCitiYWlsX291dDoKKyAgICBzZXRBbGlnbihTVkdfUFJF
U0VSVkVBU1BFQ1RSQVRJT19OT05FKTsKKyAgICBzZXRNZWV0T3JTbGljZShTVkdfTUVFVE9SU0xJ
Q0VfTUVFVCk7CisKICAgICBpZiAobV9jb250ZXh0KQogICAgICAgICBtX2NvbnRleHQtPm5vdGlm
eUF0dHJpYnV0ZUNoYW5nZSgpOwogfQpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHU3RyaW5n
TGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHU3RyaW5nTGlzdC5j
cHAJKHJldmlzaW9uIDE4NDA4KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHU3RyaW5nTGlzdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI0LDYgKzI0LDggQEAKICNpZmRlZiBTVkdfU1VQUE9SVAog
I2luY2x1ZGUgIlNWR1N0cmluZ0xpc3QuaCIKIAorI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxzLmgi
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogU1ZHU3RyaW5nTGlzdDo6U1ZHU3RyaW5nTGlzdCgp
CkBAIC0zOSwxMyArNDEsMjcgQEAgdm9pZCBTVkdTdHJpbmdMaXN0OjpyZXNldChjb25zdCBTdHJp
bmcmIAogewogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogCi0gICAgVmVjdG9yPFN0cmluZz4g
dmVjdG9yID0gc3RyLnNwbGl0KCcgJyk7Ci0gICAgaWYgKHZlY3Rvci5zaXplKCkgPT0gMCkgewor
ICAgIHBhcnNlKHN0ciwgJyAnKTsKKyAgICBpZiAobnVtYmVyT2ZJdGVtcygpID09IDApCiAgICAg
ICAgIGFwcGVuZEl0ZW0oU3RyaW5nKCIiKSwgZWMpOyAvLyBDcmVhdGUgZW1wdHkgc3RyaW5nLi4u
Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgVmVjdG9yPFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGVu
ZCA9IHZlY3Rvci5lbmQoKTsKLSAgICAgICAgZm9yIChWZWN0b3I8U3RyaW5nPjo6Y29uc3RfaXRl
cmF0b3IgaXQgPSB2ZWN0b3IuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICAgICAg
YXBwZW5kSXRlbSgqaXQsIGVjKTsKK30KKwordm9pZCBTVkdTdHJpbmdMaXN0OjpwYXJzZShjb25z
dCBTdHJpbmcmIGRhdGEsIFVDaGFyIGRlbGltaXRlcikKK3sKKyAgICAvLyBUT0RPIDogbW9yZSBl
cnJvciBjaGVja2luZy9yZXBvcnRpbmcKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBj
bGVhcihlYyk7CisKKyAgICBjb25zdCBVQ2hhciogcHRyID0gZGF0YS5jaGFyYWN0ZXJzKCk7Cisg
ICAgY29uc3QgVUNoYXIqIGVuZCA9IHB0ciArIGRhdGEubGVuZ3RoKCk7CisgICAgd2hpbGUgKHB0
ciA8IGVuZCkgeworICAgICAgICBjb25zdCBVQ2hhciogc3RhcnQgPSBwdHI7CisgICAgICAgIHdo
aWxlIChwdHIgPCBlbmQgJiYgKnB0ciAhPSAnLCcgJiYgIWlzV2hpdGVzcGFjZSgqcHRyKSkKKyAg
ICAgICAgICAgIHB0cisrOworICAgICAgICBpZiAocHRyID09IHN0YXJ0KQorICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGFwcGVuZEl0ZW0oU3RyaW5nKHN0YXJ0LCBwdHIgLSBzdGFydCksIGVj
KTsKKyAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzT3JEZWxpbWl0ZXIocHRyLCBlbmQpOwogICAg
IH0KIH0KIApJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHU3RyaW5nTGlzdC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1N0cmluZ0xpc3QuaAkocmV2aXNpb24gMTg0MDgp
CisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdTdHJpbmdMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTM4LDYgKzM4LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAKICAgICAgICAgLy8g
SW50ZXJuYWwKICAgICAgICAgdm9pZCByZXNldChjb25zdCBTdHJpbmcmIHN0cik7CisKKyAgICAg
ICAgdm9pZCBwYXJzZShjb25zdCBTdHJpbmcmIGRhdGEsIFVDaGFyIGRlbGltaXRlciA9ICcsJyk7
CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9rc3ZnMi9z
dmcvU1ZHVGVzdHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1Rlc3Rz
LmNwcAkocmV2aXNpb24gMTg0MDgpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUZXN0cy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTk2LDEzICs5NiwxMyBAQCBib29sIFNWR1Rlc3RzOjpwYXJzZU1h
cHBlZEF0dHJpYnV0ZShNYXBwCiB7CiAgICAgY29uc3QgU3RyaW5nJiB2YWx1ZSA9IGF0dHItPnZh
bHVlKCk7CiAgICAgaWYgKGF0dHItPm5hbWUoKSA9PSBTVkdOYW1lczo6cmVxdWlyZWRGZWF0dXJl
c0F0dHIpIHsKLSAgICAgICAgcmVxdWlyZWRGZWF0dXJlcygpLT5yZXNldCh2YWx1ZS5kZXByZWNh
dGVkU3RyaW5nKCkpOworICAgICAgICByZXF1aXJlZEZlYXR1cmVzKCktPnJlc2V0KHZhbHVlKTsK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfSBlbHNlIGlmIChhdHRyLT5uYW1lKCkgPT0gU1ZH
TmFtZXM6OnJlcXVpcmVkRXh0ZW5zaW9uc0F0dHIpIHsKLSAgICAgICAgcmVxdWlyZWRFeHRlbnNp
b25zKCktPnJlc2V0KHZhbHVlLmRlcHJlY2F0ZWRTdHJpbmcoKSk7CisgICAgICAgIHJlcXVpcmVk
RXh0ZW5zaW9ucygpLT5yZXNldCh2YWx1ZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0g
ZWxzZSBpZiAoYXR0ci0+bmFtZSgpID09IFNWR05hbWVzOjpzeXN0ZW1MYW5ndWFnZUF0dHIpIHsK
LSAgICAgICAgc3lzdGVtTGFuZ3VhZ2UoKS0+cmVzZXQodmFsdWUuZGVwcmVjYXRlZFN0cmluZygp
KTsKKyAgICAgICAgc3lzdGVtTGFuZ3VhZ2UoKS0+cmVzZXQodmFsdWUpOwogICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICB9CiAgICAgCkluZGV4OiBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUcmFuc2Zv
cm1hYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUcmFuc2Zvcm1h
YmxlLmNwcAkocmV2aXNpb24gMTg0MDgpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdUcmFuc2Zv
cm1hYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgIlJl
Z3VsYXJFeHByZXNzaW9uLmgiCiAjaW5jbHVkZSAiQWZmaW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVk
ZSAiU1ZHTmFtZXMuaCIKKyNpbmNsdWRlICJTVkdQYXJzZXJVdGlscy5oIgogI2luY2x1ZGUgIlNW
R1N0eWxlZEVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdUcmFuc2Zvcm1MaXN0LmgiCiAKQEAgLTUy
LDgwICs1MywxNTQgQEAgQWZmaW5lVHJhbnNmb3JtIFNWR1RyYW5zZm9ybWFibGU6OmdldFNjcgog
ICAgIHJldHVybiBsb2NhbE1hdHJpeCgpICogY3RtOwogfQogCi1ib29sIFNWR1RyYW5zZm9ybWFi
bGU6OnBhcnNlVHJhbnNmb3JtQXR0cmlidXRlKFNWR1RyYW5zZm9ybUxpc3QqIGxpc3QsIGNvbnN0
IEF0b21pY1N0cmluZyYgdHJhbnNmb3JtKQoraW50IHBhcnNlVHJhbnNmb3JtUGFyYW1MaXN0KGNv
bnN0IFVDaGFyKiYgcHRyLCBjb25zdCBVQ2hhciogZW5kLCBkb3VibGUqIHgsIGludCByZXF1aXJl
ZCwgaW50IG9wdGlvbmFsKQogewotICAgIC8vIFNwbGl0IHN0cmluZyBmb3IgaGFuZGxpbmcgMSB0
cmFuc2Zvcm0gc3RhdGVtZW50IGF0IGEgdGltZQotICAgIFZlY3RvcjxTdHJpbmc+IHN1YnRyYW5z
Zm9ybXMgPSB0cmFuc2Zvcm0uZG9tU3RyaW5nKCkuc2ltcGxpZnlXaGl0ZVNwYWNlKCkuc3BsaXQo
JyknKTsKLSAgICBWZWN0b3I8U3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gc3VidHJhbnNm
b3Jtcy5lbmQoKTsKLSAgICBmb3IgKFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9
IHN1YnRyYW5zZm9ybXMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIFZlY3Rv
cjxTdHJpbmc+IHN1YnRyYW5zZm9ybSA9ICgqaXQpLnNwbGl0KCcoJyk7Ci0KLSAgICAgICAgaWYg
KHN1YnRyYW5zZm9ybS5zaXplKCkgPCAyKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBp
bnZhbGlkIHRyYW5zZm9ybSwgaWdub3JlLgotCi0gICAgICAgIHN1YnRyYW5zZm9ybVswXSA9IHN1
YnRyYW5zZm9ybVswXS5zdHJpcFdoaXRlU3BhY2UoKS5sb3dlcigpOwotICAgICAgICBzdWJ0cmFu
c2Zvcm1bMV0gPSBzdWJ0cmFuc2Zvcm1bMV0uc2ltcGxpZnlXaGl0ZVNwYWNlKCk7Ci0gICAgICAg
IFJlZ3VsYXJFeHByZXNzaW9uIHJlZygiKFstXT9cXGQqXFwuP1xcZCsoPzplWy1dP1xcZCspPyki
KTsKLQotICAgICAgICBpbnQgcG9zID0gMDsKLSAgICAgICAgVmVjdG9yPFN0cmluZz4gcGFyYW1z
OwotCi0gICAgICAgIHdoaWxlIChwb3MgPj0gMCkgewotICAgICAgICAgICAgcG9zID0gcmVnLnNl
YXJjaChzdWJ0cmFuc2Zvcm1bMV0uZGVwcmVjYXRlZFN0cmluZygpLCBwb3MpOwotICAgICAgICAg
ICAgaWYgKHBvcyAhPSAtMSkgewotICAgICAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQocmVnLmNh
cCgxKSk7Ci0gICAgICAgICAgICAgICAgcG9zICs9IHJlZy5tYXRjaGVkTGVuZ3RoKCk7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgaW50IG5wYXJhbXMgPSBwYXJhbXMuc2l6ZSgp
OworICAgIGludCBvcHRpb25hbFBhcmFtcyA9IDAsIHJlcXVpcmVkUGFyYW1zID0gMDsKKyAgICBz
a2lwT3B0aW9uYWxTcGFjZXMocHRyLCBlbmQpOworICAgIGlmICgqcHRyICE9ICcoJykKKyAgICAg
ICAgcmV0dXJuIC0xOworICAgIHB0cisrOworICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIsIGVu
ZCk7CisKKyAgICB3aGlsZSAocmVxdWlyZWRQYXJhbXMgPCByZXF1aXJlZCkgeworICAgICAgICBp
ZiAoIXBhcnNlTnVtYmVyKHB0ciwgZW5kLCB4W3JlcXVpcmVkUGFyYW1zXSkpCisgICAgICAgICAg
ICByZXR1cm4gLTE7CisgICAgICAgIHJlcXVpcmVkUGFyYW1zKys7CisgICAgICAgIGlmIChyZXF1
aXJlZFBhcmFtcyA8IHJlcXVpcmVkKQorICAgICAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzT3JE
ZWxpbWl0ZXIocHRyLCBlbmQpOworICAgIH0KKyAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyLCBl
bmQpOworCisgICAgaWYgKCpwdHIgPT0gJyknKSAvLyBza2lwIG9wdGlvbmFscworICAgICAgICBw
dHIrKzsKKyAgICBlbHNlIHsKKyAgICAgICAgIHdoaWxlIChvcHRpb25hbFBhcmFtcyA8IG9wdGlv
bmFsKSB7CisgICAgICAgICAgICBpZiAoIXBhcnNlTnVtYmVyKHB0ciwgZW5kLCB4W3JlcXVpcmVk
UGFyYW1zICsgb3B0aW9uYWxQYXJhbXNdKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7Cisg
ICAgICAgICAgICBvcHRpb25hbFBhcmFtcysrOworICAgICAgICAgICAgaWYgKG9wdGlvbmFsUGFy
YW1zIDwgb3B0aW9uYWwpCisgICAgICAgICAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzT3JEZWxp
bWl0ZXIocHRyLCBlbmQpOworICAgICAgICAgfQorICAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2Vz
KHB0ciwgZW5kKTsKKworICAgICAgICBpZiAoKnB0ciAhPSAnKScpCisgICAgICAgICAgICByZXR1
cm4gLTE7CisgICAgICAgIHB0cisrOworICAgIH0KIAotICAgICAgICBpZiAobnBhcmFtcyA8IDEp
Ci0gICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIGludmFsaWQgdHJhbnNmb3JtLCBpZ25vcmUu
CisgICAgcmV0dXJuIHJlcXVpcmVkUGFyYW1zICsgb3B0aW9uYWxQYXJhbXM7Cit9CiAKLSAgICAg
ICAgaWYgKHN1YnRyYW5zZm9ybVswXS5zdGFydHNXaXRoKCI7IikgfHwgc3VidHJhbnNmb3JtWzBd
LnN0YXJ0c1dpdGgoIiwiKSkKLSAgICAgICAgICAgIHN1YnRyYW5zZm9ybVswXSA9IHN1YnRyYW5z
Zm9ybVswXS5zdWJzdHJpbmcoMSkuc3RyaXBXaGl0ZVNwYWNlKCk7Citib29sIFNWR1RyYW5zZm9y
bWFibGU6OnBhcnNlVHJhbnNmb3JtQXR0cmlidXRlKFNWR1RyYW5zZm9ybUxpc3QqIGxpc3QsIGNv
bnN0IEF0b21pY1N0cmluZyYgdHJhbnNmb3JtKQoreworICAgIGRvdWJsZSB4WzZdID0gezAsIDAs
IDAsIDAsIDAsIDB9OworICAgIGludCBuciA9IDAsIHJlcXVpcmVkID0gMCwgb3B0aW9uYWwgPSAw
OworICAgIAorICAgIGNvbnN0IFVDaGFyKiBjdXJyVHJhbnNmb3JtID0gdHJhbnNmb3JtLmNoYXJh
Y3RlcnMoKTsKKyAgICBjb25zdCBVQ2hhciogZW5kID0gY3VyclRyYW5zZm9ybSArIHRyYW5zZm9y
bS5sZW5ndGgoKTsKKworICAgIHdoaWxlIChjdXJyVHJhbnNmb3JtIDwgZW5kKSB7CisgICAgICAg
IHVuc2lnbmVkIHNob3J0IHR5cGUgPSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fVU5LTk9X
TjsKKyAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJUcmFuc2Zvcm0sIGVuZCk7CisKKyAg
ICAgICAgaWYgKCpjdXJyVHJhbnNmb3JtID09ICdzJykgeworICAgICAgICAgICAgaWYgKCEoZW5k
IC0gY3VyclRyYW5zZm9ybSkgPiA1KQorICAgICAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7Cisg
ICAgICAgICAgICBpZiAoY3VyclRyYW5zZm9ybVsxXSA9PSAnaycgJiYgY3VyclRyYW5zZm9ybVsy
XSA9PSAnZScgJiYKKyAgICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1bM10gPT0gJ3cnKSB7
CisgICAgICAgICAgICAgICAgaWYgKGN1cnJUcmFuc2Zvcm1bNF0gPT0gJ1gnKQorICAgICAgICAg
ICAgICAgICAgICB0eXBlID0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1NLRVdYOworICAg
ICAgICAgICAgICAgIGVsc2UgaWYgKGN1cnJUcmFuc2Zvcm1bNF0gPT0gJ1knKQorICAgICAgICAg
ICAgICAgICAgICB0eXBlID0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1NLRVdZOworICAg
ICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgZ290byBiYWlsX291dDsKKyAg
ICAgICAgICAgICAgICByZXF1aXJlZCA9IDE7CisgICAgICAgICAgICAgICAgb3B0aW9uYWwgPSAw
OworICAgICAgICAgICAgfSBlbHNlIGlmIChjdXJyVHJhbnNmb3JtWzFdID09ICdjJyAmJiBjdXJy
VHJhbnNmb3JtWzJdID09ICdhJyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVsz
XSA9PSAnbCcgJiYgY3VyclRyYW5zZm9ybVs0XSA9PSAnZScpIHsKKyAgICAgICAgICAgICAgICBy
ZXF1aXJlZCA9IDE7CisgICAgICAgICAgICAgICAgb3B0aW9uYWwgPSAxOworICAgICAgICAgICAg
ICAgIHR5cGUgPSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fU0NBTEU7CisgICAgICAgICAg
ICB9IGVsc2UKKyAgICAgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICAgICAgY3Vy
clRyYW5zZm9ybSArPSA1OworICAgICAgICB9IGVsc2UgaWYgKCpjdXJyVHJhbnNmb3JtID09ICd0
JykgeworICAgICAgICAgICAgaWYgKCEoKGVuZCAtIGN1cnJUcmFuc2Zvcm0pID4gOSkgJiYKKyAg
ICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1bMV0gPT0gJ3InICYmIGN1cnJUcmFuc2Zvcm1b
Ml0gPT0gJ2EnICYmCisgICAgICAgICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzNdID09ICduJyAm
JiBjdXJyVHJhbnNmb3JtWzRdID09ICdzJyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5z
Zm9ybVs1XSA9PSAnbCcgJiYgY3VyclRyYW5zZm9ybVs2XSA9PSAnYScgJiYKKyAgICAgICAgICAg
ICAgICAgIGN1cnJUcmFuc2Zvcm1bN10gPT0gJ3QnICYmIGN1cnJUcmFuc2Zvcm1bOF0gPT0gJ2Un
KQorICAgICAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgICAgICBjdXJyVHJhbnNm
b3JtICs9IDk7CisgICAgICAgICAgICByZXF1aXJlZCA9IDE7CisgICAgICAgICAgICBvcHRpb25h
bCA9IDE7CisgICAgICAgICAgICB0eXBlID0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1RS
QU5TTEFURTsKKyAgICAgICAgfSBlbHNlIGlmICgqY3VyclRyYW5zZm9ybSA9PSAncicpIHsKKyAg
ICAgICAgICAgIGlmICghKChlbmQgLSBjdXJyVHJhbnNmb3JtKSA+IDYpICYmCisgICAgICAgICAg
ICAgICAgICBjdXJyVHJhbnNmb3JtWzFdID09ICdvJyAmJiBjdXJyVHJhbnNmb3JtWzJdID09ICd0
JyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVszXSA9PSAnYScgJiYgY3VyclRy
YW5zZm9ybVs0XSA9PSAndCcgJiYKKyAgICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1bNV0g
PT0gJ2UnKQorICAgICAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgICAgICBjdXJy
VHJhbnNmb3JtICs9IDY7CisgICAgICAgICAgICByZXF1aXJlZCA9IDE7CisgICAgICAgICAgICBv
cHRpb25hbCA9IDI7CisgICAgICAgICAgICB0eXBlID0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNG
T1JNX1JPVEFURTsKKyAgICAgICAgfSBlbHNlIGlmICgqY3VyclRyYW5zZm9ybSA9PSAnbScpIHsK
KyAgICAgICAgICAgIGlmICghKChlbmQgLSBjdXJyVHJhbnNmb3JtKSA+IDYpICYmIGN1cnJUcmFu
c2Zvcm1bMV0gPT0gJ2EnICYmCisgICAgICAgICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzJdID09
ICd0JyAmJiBjdXJyVHJhbnNmb3JtWzNdID09ICdyJyAmJgorICAgICAgICAgICAgICAgICAgY3Vy
clRyYW5zZm9ybVs0XSA9PSAnaScgJiYgY3VyclRyYW5zZm9ybVs1XSA9PSAneCcpCisgICAgICAg
ICAgICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm0gKz0gNjsK
KyAgICAgICAgICAgIHJlcXVpcmVkID0gNjsKKyAgICAgICAgICAgIG9wdGlvbmFsID0gMDsKKyAg
ICAgICAgICAgIHR5cGUgPSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fTUFUUklYOworICAg
ICAgICB9IGVsc2UgCisgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworCisgICAgICAgIGlmICgo
bnIgPSBwYXJzZVRyYW5zZm9ybVBhcmFtTGlzdChjdXJyVHJhbnNmb3JtLCBlbmQsIHgsIHJlcXVp
cmVkLCBvcHRpb25hbCkpIDwgMCkKKyAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CiAKICAgICAg
ICAgU1ZHVHJhbnNmb3JtKiB0ID0gbmV3IFNWR1RyYW5zZm9ybSgpOwogCi0gICAgICAgIGlmIChz
dWJ0cmFuc2Zvcm1bMF0gPT0gInJvdGF0ZSIgJiYgKG5wYXJhbXMgPT0gMSB8fCBucGFyYW1zID09
IDMpKSB7Ci0gICAgICAgICAgICBpZiAobnBhcmFtcyA9PSAzKQotICAgICAgICAgICAgICAgIHQt
PnNldFJvdGF0ZShwYXJhbXNbMF0udG9Eb3VibGUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGFyYW1zWzFdLnRvRG91YmxlKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwYXJhbXNbMl0udG9Eb3VibGUoKSk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgdC0+c2V0Um90YXRlKHBhcmFtc1swXS50b0RvdWJsZSgpLCAwLCAwKTsKLSAgICAgICAgfSBl
bHNlIGlmIChzdWJ0cmFuc2Zvcm1bMF0gPT0gInRyYW5zbGF0ZSIgJiYgKG5wYXJhbXMgPT0gMSB8
fCBucGFyYW1zID09IDIpKSB7Ci0gICAgICAgICAgICBpZiAobnBhcmFtcyA9PSAyKQotICAgICAg
ICAgICAgICAgIHQtPnNldFRyYW5zbGF0ZShwYXJhbXNbMF0udG9Eb3VibGUoKSwgcGFyYW1zWzFd
LnRvRG91YmxlKCkpOwotICAgICAgICAgICAgZWxzZSAvLyBTcGVjOiBpZiBvbmx5IG9uZSBwYXJh
bSBnaXZlbiwgYXNzdW1lIDJuZCBwYXJhbSB0byBiZSAwCi0gICAgICAgICAgICAgICAgdC0+c2V0
VHJhbnNsYXRlKHBhcmFtc1swXS50b0RvdWJsZSgpLCAwKTsKLSAgICAgICAgfSBlbHNlIGlmIChz
dWJ0cmFuc2Zvcm1bMF0gPT0gInNjYWxlIiAmJiAobnBhcmFtcyA9PSAxIHx8IG5wYXJhbXMgPT0g
MikpIHsKLSAgICAgICAgICAgIGlmIChucGFyYW1zID09IDIpCi0gICAgICAgICAgICAgICAgdC0+
c2V0U2NhbGUocGFyYW1zWzBdLnRvRG91YmxlKCksIHBhcmFtc1sxXS50b0RvdWJsZSgpKTsKLSAg
ICAgICAgICAgIGVsc2UgLy8gU3BlYzogaWYgb25seSBvbmUgcGFyYW0gZ2l2ZW4sIGFzc3VtZSB1
bmlmb3JtIHNjYWxpbmcKLSAgICAgICAgICAgICAgICB0LT5zZXRTY2FsZShwYXJhbXNbMF0udG9E
b3VibGUoKSwgcGFyYW1zWzBdLnRvRG91YmxlKCkpOwotICAgICAgICB9IGVsc2UgaWYgKHN1YnRy
YW5zZm9ybVswXSA9PSAic2tld3giICYmIG5wYXJhbXMgPT0gMSkKLSAgICAgICAgICAgIHQtPnNl
dFNrZXdYKHBhcmFtc1swXS50b0RvdWJsZSgpKTsKLSAgICAgICAgZWxzZSBpZiAoc3VidHJhbnNm
b3JtWzBdID09ICJza2V3eSIgJiYgbnBhcmFtcyA9PSAxKQotICAgICAgICAgICAgdC0+c2V0U2tl
d1kocGFyYW1zWzBdLnRvRG91YmxlKCkpOwotICAgICAgICBlbHNlIGlmIChzdWJ0cmFuc2Zvcm1b
MF0gPT0gIm1hdHJpeCIgJiYgbnBhcmFtcyA9PSA2KSB7Ci0gICAgICAgICAgICBBZmZpbmVUcmFu
c2Zvcm0gcmV0KHBhcmFtc1swXS50b0RvdWJsZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwYXJhbXNbMV0udG9Eb3VibGUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcGFyYW1zWzJdLnRvRG91YmxlKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHBhcmFtc1szXS50b0RvdWJsZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwYXJhbXNbNF0udG9Eb3VibGUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGFyYW1zWzVdLnRvRG91YmxlKCkpOwotICAgICAgICAgICAgdC0+c2V0TWF0cml4KHJldCk7Ci0g
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBkZWxldGUgdDsKLSAgICAgICAgICAgIHJldHVy
biBmYWxzZTsgLy8gZmFpbGVkIHRvIHBhcnNlIGEgdmFsaWQgdHJhbnNmb3JtLCBhYm9ydC4KKyAg
ICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZH
X1RSQU5TRk9STV9TS0VXWDoKKyAgICAgICAgICAgICAgIHQtPnNldFNrZXdYKHhbMF0pOworICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBTVkdUcmFuc2Zvcm06OlNWR19U
UkFOU0ZPUk1fU0tFV1k6CisgICAgICAgICAgICAgICB0LT5zZXRTa2V3WSh4WzBdKTsKKyAgICAg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdfVFJB
TlNGT1JNX1NDQUxFOgorICAgICAgICAgICAgICAgICAgaWYgKG5yID09IDEpIC8vIFNwZWM6IGlm
IG9ubHkgb25lIHBhcmFtIGdpdmVuLCBhc3N1bWUgdW5pZm9ybSBzY2FsaW5nCisgICAgICAgICAg
ICAgICAgICAgICAgdC0+c2V0U2NhbGUoeFswXSwgeFswXSk7CisgICAgICAgICAgICAgICAgICBl
bHNlCisgICAgICAgICAgICAgICAgICAgICAgdC0+c2V0U2NhbGUoeFswXSwgeFsxXSk7CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZHX1RS
QU5TRk9STV9UUkFOU0xBVEU6CisgICAgICAgICAgICAgICAgICBpZiAobnIgPT0gMSkgLy8gU3Bl
YzogaWYgb25seSBvbmUgcGFyYW0gZ2l2ZW4sIGFzc3VtZSAybmQgcGFyYW0gdG8gYmUgMAorICAg
ICAgICAgICAgICAgICAgICAgIHQtPnNldFRyYW5zbGF0ZSh4WzBdLCAwKTsKKyAgICAgICAgICAg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICB0LT5zZXRUcmFuc2xhdGUoeFswXSwg
eFsxXSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFNWR1RyYW5z
Zm9ybTo6U1ZHX1RSQU5TRk9STV9ST1RBVEU6CisgICAgICAgICAgICAgICAgICBpZiAobnIgPT0g
MSkKKyAgICAgICAgICAgICAgICAgICAgICB0LT5zZXRSb3RhdGUoeFswXSwgMCwgMCk7CisgICAg
ICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgdC0+c2V0Um90YXRlKHhb
MF0sIHhbMV0sIHhbMl0pOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2Fz
ZSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fTUFUUklYOgorICAgICAgICAgICAgICAgIHQt
PnNldE1hdHJpeChBZmZpbmVUcmFuc2Zvcm0oeFswXSwgeFsxXSwgeFsyXSwgeFszXSwgeFs0XSwg
eFs1XSkpOworICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAgRXhj
ZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgICAgIGxpc3QtPmFwcGVuZEl0ZW0odCwgZWMpOworICAg
ICAgICBza2lwT3B0aW9uYWxTcGFjZXNPckRlbGltaXRlcihjdXJyVHJhbnNmb3JtLCBlbmQpOwog
ICAgIH0KIAogICAgIHJldHVybiB0cnVlOworCitiYWlsX291dDogOworICAgIHJldHVybiBmYWxz
ZTsKIH0KIAogfQpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5jcHAJKHJldmlzaW9u
IDE4NDA4KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNTk5ICswLDAgQEAKLS8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUg
cHJvamVjdAotICAgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDAzIFRoZSBLYXJib24gRGV2ZWxvcGVy
cwotICAgICAgICAgICAgICAgICAyMDA2ICAgICAgIEFsZXhhbmRlciBLZWxsZXR0IDxseXBhbm92
QGtkZS5vcmc+Ci0KLSAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCi0gICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgotICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bwotICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBs
YWNlIC0gU3VpdGUgMzMwLAotICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0qLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0jaWZkZWYgU1ZHX1NVUFBPUlQKLSNpbmNsdWRlICJzdmdwYXRo
cGFyc2VyLmgiCi0jaW5jbHVkZSAiRGVwcmVjYXRlZFN0cmluZy5oIgotI2luY2x1ZGUgPG1hdGgu
aD4KLSNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LS8vIFNWRyBhbGxvd3Mgc2V2ZXJhbCBkaWZmZXJlbnQgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzOgot
Ly8gaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHL3BhdGhzLmh0bWwjUGF0aERhdGFCTkYKLXN0YXRp
YyBpbmxpbmUgYm9vbCBpc1doaXRlc3BhY2UoY2hhciBjKSB7Ci0gICAgcmV0dXJuIChjID09ICcg
JyB8fCBjID09ICdcdCcgfHwgYyA9PSAnXG4nIHx8IGMgPT0gJ1xyJyk7Ci19Ci0KLS8vIEFsbCBz
dHJpbmdzIGFyZSBhc3N1bWVkIHRvIGJlIG51bGwgdGVybWluYXRlZAotc3RhdGljIGlubGluZSBi
b29sIHNraXBPcHRpb25hbFNwYWNlcyhjb25zdCBjaGFyKiYgcHRyKSAvLyB0cnVlIG1lYW5zICJm
b3VuZCBzcGFjZSIKLXsKLSAgICBpZiAoIWlzV2hpdGVzcGFjZSgqcHRyKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIHdoaWxlIChpc1doaXRlc3BhY2UoKnB0cikpCi0gICAgICAgIHB0cisr
OwotICAgIHJldHVybiB0cnVlOwotfQotCi1zdGF0aWMgaW5saW5lIGJvb2wgc2tpcE9wdGlvbmFs
U3BhY2VzT3JDb21tYShjb25zdCBjaGFyKiYgcHRyKQotewotICAgIGlmICghaXNXaGl0ZXNwYWNl
KCpwdHIpICYmICpwdHIgIT0gJywnKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgc2tpcE9w
dGlvbmFsU3BhY2VzKHB0cik7Ci0gICAgaWYgKCpwdHIgPT0gJywnKSB7Ci0gICAgICAgIHB0cisr
OwotICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsKLSAgICB9Ci0gICAgcmV0dXJuIHRy
dWU7Ci19Ci0KLQotY29uc3QgY2hhciogcGFyc2VDb29yZChjb25zdCBjaGFyKiBwdHIsIGRvdWJs
ZSAmbnVtYmVyKQotewotICAgIGludCBpbnRlZ2VyLCBleHBvbmVudDsKLSAgICBkb3VibGUgZGVj
aW1hbCwgZnJhYzsKLSAgICBpbnQgc2lnbiwgZXhwc2lnbjsKLQotICAgIGV4cG9uZW50ID0gMDsK
LSAgICBpbnRlZ2VyID0gMDsKLSAgICBmcmFjID0gMS4wOwotICAgIGRlY2ltYWwgPSAwOwotICAg
IHNpZ24gPSAxOwotICAgIGV4cHNpZ24gPSAxOwotCi0gICAgLy8gcmVhZCB0aGUgc2lnbgotICAg
IGlmICgqcHRyID09ICcrJykKLSAgICAgICAgcHRyKys7Ci0gICAgZWxzZSBpZiAoKnB0ciA9PSAn
LScpIHsKLSAgICAgICAgcHRyKys7Ci0gICAgICAgIHNpZ24gPSAtMTsKLSAgICB9Ci0gICAgLy8g
cmVhZCB0aGUgaW50ZWdlciBwYXJ0Ci0gICAgd2hpbGUoKnB0ciAhPSAnXDAnICYmICpwdHIgPj0g
JzAnICYmICpwdHIgPD0gJzknKQotICAgICAgICBpbnRlZ2VyID0gKGludGVnZXIgKiAxMCkgKyAq
KHB0cisrKSAtICcwJzsKLQotICAgIGlmICgqcHRyID09ICcuJykgeyAvLyByZWFkIHRoZSBkZWNp
bWFscwotICAgICAgICBwdHIrKzsKLSAgICAgICAgd2hpbGUoKnB0ciAhPSAnXDAnICYmICpwdHIg
Pj0gJzAnICYmICpwdHIgPD0gJzknKQotICAgICAgICAgICAgZGVjaW1hbCArPSAoKihwdHIrKykg
LSAnMCcpICogKGZyYWMgKj0gMC4xKTsKLSAgICB9Ci0KLSAgICBpZiAoKnB0ciA9PSAnZScgfHwg
KnB0ciA9PSAnRScpIHsgLy8gcmVhZCB0aGUgZXhwb25lbnQgcGFydAotICAgICAgICBwdHIrKzsK
LQotICAgICAgICAvLyByZWFkIHRoZSBzaWduIG9mIHRoZSBleHBvbmVudAotICAgICAgICBpZiAo
KnB0ciA9PSAnKycpCi0gICAgICAgICAgICBwdHIrKzsKLSAgICAgICAgZWxzZSBpZiAoKnB0ciA9
PSAnLScpIHsKLSAgICAgICAgICAgIHB0cisrOwotICAgICAgICAgICAgZXhwc2lnbiA9IC0xOwot
ICAgICAgICB9Ci0KLSAgICAgICAgZXhwb25lbnQgPSAwOwotICAgICAgICB3aGlsZSgqcHRyICE9
ICdcMCcgJiYgKnB0ciA+PSAnMCcgJiYgKnB0ciA8PSAnOScpIHsKLSAgICAgICAgICAgIGV4cG9u
ZW50ICo9IDEwOwotICAgICAgICAgICAgZXhwb25lbnQgKz0gKnB0ciAtICcwJzsKLSAgICAgICAg
ICAgIHB0cisrOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgbnVtYmVyID0gaW50ZWdlciArIGRl
Y2ltYWw7Ci0gICAgbnVtYmVyICo9IHNpZ24gKiBwb3coMTAuMCwgZXhwc2lnbiAqIGV4cG9uZW50
KTsKLQotICAgIHNraXBPcHRpb25hbFNwYWNlc09yQ29tbWEocHRyKTsKLQotICAgIHJldHVybiBw
dHI7Ci19Ci0KLXZvaWQgU1ZHUG9seVBhcnNlcjo6cGFyc2VQb2ludHMoY29uc3QgRGVwcmVjYXRl
ZFN0cmluZyYgcykgY29uc3QKLXsKLSAgICBpZiAocy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVy
bjsKLSAgICBEZXByZWNhdGVkU3RyaW5nIHBvaW50RGF0YSA9IHM7Ci0gICAgY29uc3QgY2hhciog
Y3VyclNlZ21lbnQgPSBwb2ludERhdGEubGF0aW4xKCk7Ci0gICAgY29uc3QgY2hhciogZW9TdHJp
bmcgPSBwb2ludERhdGEubGF0aW4xKCkgKyBwb2ludERhdGEubGVuZ3RoKCk7Ci0gICAgCi0gICAg
c2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJTZWdtZW50KTsKLSAgICAKLSAgICBpbnQgc2VnbWVudE51
bSA9IDA7Ci0gICAgd2hpbGUgKGN1cnJTZWdtZW50IDwgZW9TdHJpbmcpIHsKLSAgICAgICAgY29u
c3QgY2hhciogcHJldlNlZ21lbnQgPSBjdXJyU2VnbWVudDsKLSAgICAgICAgZG91YmxlIHhQb3Mg
PSAwOwotICAgICAgICBjdXJyU2VnbWVudCA9IHBhcnNlQ29vcmQoY3VyclNlZ21lbnQsIHhQb3Mp
OyAKLSAgICAgICAgaWYgKGN1cnJTZWdtZW50ID09IHByZXZTZWdtZW50KQotICAgICAgICAgICAg
YnJlYWs7Ci0KLSAgICAgICAgcHJldlNlZ21lbnQgPSBjdXJyU2VnbWVudDsKLSAgICAgICAgZG91
YmxlIHlQb3MgPSAwOwotICAgICAgICBjdXJyU2VnbWVudCA9IHBhcnNlQ29vcmQoY3VyclNlZ21l
bnQsIHlQb3MpOwotICAgICAgICBpZiAoY3VyclNlZ21lbnQgPT0gcHJldlNlZ21lbnQpCi0gICAg
ICAgICAgICBicmVhazsKLSAgICAgICAgICAgIAotICAgICAgICBzdmdQb2x5VG8oeFBvcywgeVBv
cywgc2VnbWVudE51bSsrKTsKLSAgICB9Ci19Ci0KLXZvaWQgU1ZHUGF0aFBhcnNlcjo6cGFyc2VT
VkcoY29uc3QgRGVwcmVjYXRlZFN0cmluZyYgcywgYm9vbCBwcm9jZXNzKQotewotICAgIGlmIChz
LmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgRGVwcmVjYXRlZFN0cmluZyBkID0g
czsKLSAgICBjb25zdCBjaGFyKiBwdHIgPSBkLmxhdGluMSgpOwotICAgIGNvbnN0IGNoYXIqIGVu
ZCA9IGQubGF0aW4xKCkgKyBkLmxlbmd0aCgpICsgMTsKLQotICAgIGRvdWJsZSBjb250cmx4LCBj
b250cmx5LCBjdXJ4LCBjdXJ5LCBzdWJwYXRoeCwgc3VicGF0aHksIHRveCwgdG95LCB4MSwgeTEs
IHgyLCB5MiwgeGMsIHljOwotICAgIGRvdWJsZSBweDEsIHB5MSwgcHgyLCBweTIsIHB4MywgcHkz
OwotICAgIGJvb2wgY2xvc2VkID0gdHJ1ZTsKLSAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyKTsg
Ly8gc2tpcCBhbnkgbGVhZGluZyBzcGFjZXMKLSAgICBjaGFyIGNvbW1hbmQgPSAqKHB0cisrKSwg
bGFzdENvbW1hbmQgPSAnICc7Ci0KLSAgICBzdWJwYXRoeCA9IHN1YnBhdGh5ID0gY3VyeCA9IGN1
cnkgPSBjb250cmx4ID0gY29udHJseSA9IDAuMDsKLSAgICB3aGlsZShwdHIgPCBlbmQpIHsKLSAg
ICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0cik7IC8vIHNraXAgc3BhY2VzIGJldHdlZW4gY29t
bWFuZCBhbmQgZmlyc3QgY29vcmQKLQotICAgICAgICBib29sIHJlbGF0aXZlID0gZmFsc2U7Ci0K
LSAgICAgICAgc3dpdGNoKGNvbW1hbmQpCi0gICAgICAgIHsKLSAgICAgICAgICAgIGNhc2UgJ20n
OgotICAgICAgICAgICAgICAgIHJlbGF0aXZlID0gdHJ1ZTsKLSAgICAgICAgICAgIGNhc2UgJ00n
OgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0
b3gpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3kpOwotCi0gICAg
ICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAgc3VicGF0aHgg
PSBjdXJ4ID0gcmVsYXRpdmUgPyBjdXJ4ICsgdG94IDogdG94OwotICAgICAgICAgICAgICAgICAg
ICBzdWJwYXRoeSA9IGN1cnkgPSByZWxhdGl2ZSA/IGN1cnkgKyB0b3kgOiB0b3k7Ci0KLSAgICAg
ICAgICAgICAgICAgICAgc3ZnTW92ZVRvKGN1cngsIGN1cnksIGNsb3NlZCk7Ci0gICAgICAgICAg
ICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHN2Z01vdmVUbyh0b3gsIHRveSwgY2xv
c2VkLCAhcmVsYXRpdmUpOwotICAgICAgICAgICAgICAgIGNsb3NlZCA9IGZhbHNlOwotICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAnbCc6Ci0g
ICAgICAgICAgICAgICAgcmVsYXRpdmUgPSB0cnVlOwotICAgICAgICAgICAgY2FzZSAnTCc6Ci0g
ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7
Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7Ci0KLSAgICAgICAg
ICAgICAgICBpZiAocHJvY2VzcykgewotICAgICAgICAgICAgICAgICAgICBjdXJ4ID0gcmVsYXRp
dmUgPyBjdXJ4ICsgdG94IDogdG94OwotICAgICAgICAgICAgICAgICAgICBjdXJ5ID0gcmVsYXRp
dmUgPyBjdXJ5ICsgdG95IDogdG95OwotCi0gICAgICAgICAgICAgICAgICAgIHN2Z0xpbmVUbyhj
dXJ4LCBjdXJ5KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgICAgICBzdmdMaW5lVG8odG94LCB0b3ksICFyZWxhdGl2ZSk7Ci0gICAgICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNlICdoJzoKLSAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG94KTsK
LSAgICAgICAgICAgICAgICBpZiAocHJvY2VzcykgewotICAgICAgICAgICAgICAgICAgICBjdXJ4
ID0gY3VyeCArIHRveDsKLSAgICAgICAgICAgICAgICAgICAgc3ZnTGluZVRvKGN1cngsIGN1cnkp
OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgICAgIHN2Z0xpbmVUb0hvcml6b250YWwodG94LCBmYWxzZSk7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNlICdIJzoKLSAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG94KTsKLSAgICAgICAg
ICAgICAgICBpZiAocHJvY2VzcykgewotICAgICAgICAgICAgICAgICAgICBjdXJ4ID0gdG94Owot
ICAgICAgICAgICAgICAgICAgICBzdmdMaW5lVG8oY3VyeCwgY3VyeSk7Ci0gICAgICAgICAgICAg
ICAgfQotICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgc3ZnTGluZVRv
SG9yaXpvbnRhbCh0b3gpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQot
ICAgICAgICAgICAgY2FzZSAndic6Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHRy
ID0gcGFyc2VDb29yZChwdHIsIHRveSk7Ci0gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsK
LSAgICAgICAgICAgICAgICAgICAgY3VyeSA9IGN1cnkgKyB0b3k7Ci0gICAgICAgICAgICAgICAg
ICAgIHN2Z0xpbmVUbyhjdXJ4LCBjdXJ5KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBzdmdMaW5lVG9WZXJ0aWNhbCh0b3ksIGZh
bHNlKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IGNhc2UgJ1YnOgotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29v
cmQocHRyLCB0b3kpOwotICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzKSB7Ci0gICAgICAgICAg
ICAgICAgICAgIGN1cnkgPSB0b3k7Ci0gICAgICAgICAgICAgICAgICAgIHN2Z0xpbmVUbyhjdXJ4
LCBjdXJ5KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgICAgICBzdmdMaW5lVG9WZXJ0aWNhbCh0b3kpOwotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY2FzZSAneic6Ci0gICAgICAgICAgICBj
YXNlICdaJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAvLyByZXNldCBjdXJ4LCBj
dXJ5IGZvciBuZXh0IHBhdGgKLSAgICAgICAgICAgICAgICBpZiAocHJvY2VzcykgewotICAgICAg
ICAgICAgICAgICAgICBjdXJ4ID0gc3VicGF0aHg7Ci0gICAgICAgICAgICAgICAgICAgIGN1cnkg
PSBzdWJwYXRoeTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgY2xvc2VkID0g
dHJ1ZTsKLSAgICAgICAgICAgICAgICBzdmdDbG9zZVBhdGgoKTsKLSAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNhc2UgJ2MnOgotICAgICAgICAgICAg
ICAgIHJlbGF0aXZlID0gdHJ1ZTsKLSAgICAgICAgICAgIGNhc2UgJ0MnOgotICAgICAgICAgICAg
ewotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB4MSk7Ci0gICAgICAgICAg
ICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHkxKTsKLSAgICAgICAgICAgICAgICBwdHIgPSBw
YXJzZUNvb3JkKHB0ciwgeDIpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRy
LCB5Mik7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7Ci0gICAg
ICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7Ci0KLSAgICAgICAgICAgICAg
ICBpZiAocHJvY2VzcykgewotICAgICAgICAgICAgICAgICAgICBweDEgPSByZWxhdGl2ZSA/IGN1
cnggKyB4MSA6IHgxOwotICAgICAgICAgICAgICAgICAgICBweTEgPSByZWxhdGl2ZSA/IGN1cnkg
KyB5MSA6IHkxOwotICAgICAgICAgICAgICAgICAgICBweDIgPSByZWxhdGl2ZSA/IGN1cnggKyB4
MiA6IHgyOwotICAgICAgICAgICAgICAgICAgICBweTIgPSByZWxhdGl2ZSA/IGN1cnkgKyB5MiA6
IHkyOwotICAgICAgICAgICAgICAgICAgICBweDMgPSByZWxhdGl2ZSA/IGN1cnggKyB0b3ggOiB0
b3g7Ci0gICAgICAgICAgICAgICAgICAgIHB5MyA9IHJlbGF0aXZlID8gY3VyeSArIHRveSA6IHRv
eTsKLQotICAgICAgICAgICAgICAgICAgICBzdmdDdXJ2ZVRvQ3ViaWMocHgxLCBweTEsIHB4Miwg
cHkyLCBweDMsIHB5Myk7Ci0KLSAgICAgICAgICAgICAgICAgICAgY29udHJseCA9IHJlbGF0aXZl
ID8gY3VyeCArIHgyIDogeDI7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRybHkgPSByZWxhdGl2
ZSA/IGN1cnkgKyB5MiA6IHkyOwotICAgICAgICAgICAgICAgICAgICBjdXJ4ID0gcmVsYXRpdmUg
PyBjdXJ4ICsgdG94IDogdG94OwotICAgICAgICAgICAgICAgICAgICBjdXJ5ID0gcmVsYXRpdmUg
PyBjdXJ5ICsgdG95IDogdG95OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgICAgIHN2Z0N1cnZlVG9DdWJpYyh4MSwgeTEsIHgyLCB5Miwg
dG94LCB0b3ksICFyZWxhdGl2ZSk7Ci0KLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGNhc2UgJ3MnOgotICAgICAgICAgICAgICAgIHJlbGF0aXZlID0g
dHJ1ZTsKLSAgICAgICAgICAgIGNhc2UgJ1MnOgotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB4Mik7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFy
c2VDb29yZChwdHIsIHkyKTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwg
dG94KTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95KTsKLSAgICAg
ICAgICAgICAgICBpZiAoIShsYXN0Q29tbWFuZCA9PSAnYycgfHwgbGFzdENvbW1hbmQgPT0gJ0Mn
IHx8Ci0gICAgICAgICAgICAgICAgICAgICBsYXN0Q29tbWFuZCA9PSAncycgfHwgbGFzdENvbW1h
bmQgPT0gJ1MnKSkgewotICAgICAgICAgICAgICAgICAgICBjb250cmx4ID0gY3VyeDsKLSAgICAg
ICAgICAgICAgICAgICAgY29udHJseSA9IGN1cnk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAg
ICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsKLSAgICAgICAgICAgICAgICAgICAgcHgxID0gMiAq
IGN1cnggLSBjb250cmx4OwotICAgICAgICAgICAgICAgICAgICBweTEgPSAyICogY3VyeSAtIGNv
bnRybHk7Ci0gICAgICAgICAgICAgICAgICAgIHB4MiA9IHJlbGF0aXZlID8gY3VyeCArIHgyIDog
eDI7Ci0gICAgICAgICAgICAgICAgICAgIHB5MiA9IHJlbGF0aXZlID8gY3VyeSArIHkyIDogeTI7
Ci0gICAgICAgICAgICAgICAgICAgIHB4MyA9IHJlbGF0aXZlID8gY3VyeCArIHRveCA6IHRveDsK
LSAgICAgICAgICAgICAgICAgICAgcHkzID0gcmVsYXRpdmUgPyBjdXJ5ICsgdG95IDogdG95Owot
Ci0gICAgICAgICAgICAgICAgICAgIHN2Z0N1cnZlVG9DdWJpYyhweDEsIHB5MSwgcHgyLCBweTIs
IHB4MywgcHkzKTsKLQotICAgICAgICAgICAgICAgICAgICBjb250cmx4ID0gcmVsYXRpdmUgPyBj
dXJ4ICsgeDIgOiB4MjsKLSAgICAgICAgICAgICAgICAgICAgY29udHJseSA9IHJlbGF0aXZlID8g
Y3VyeSArIHkyIDogeTI7Ci0gICAgICAgICAgICAgICAgICAgIGN1cnggPSByZWxhdGl2ZSA/IGN1
cnggKyB0b3ggOiB0b3g7Ci0gICAgICAgICAgICAgICAgICAgIGN1cnkgPSByZWxhdGl2ZSA/IGN1
cnkgKyB0b3kgOiB0b3k7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICAgICAgc3ZnQ3VydmVUb0N1YmljU21vb3RoKHgyLCB5MiwgdG94LCB0
b3ksICFyZWxhdGl2ZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgICAgICBjYXNlICdxJzoKLSAgICAgICAgICAgICAgICByZWxhdGl2ZSA9IHRydWU7Ci0g
ICAgICAgICAgICBjYXNlICdRJzoKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHIg
PSBwYXJzZUNvb3JkKHB0ciwgeDEpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQo
cHRyLCB5MSk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7Ci0g
ICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveSk7Ci0KLSAgICAgICAgICAg
ICAgICBpZiAocHJvY2VzcykgewotICAgICAgICAgICAgICAgICAgICBweDEgPSByZWxhdGl2ZSA/
IChjdXJ4ICsgMiAqICh4MSArIGN1cngpKSAqICgxLjAgLyAzLjApIDogKGN1cnggKyAyICogeDEp
ICogKDEuMCAvIDMuMCk7Ci0gICAgICAgICAgICAgICAgICAgIHB5MSA9IHJlbGF0aXZlID8gKGN1
cnkgKyAyICogKHkxICsgY3VyeSkpICogKDEuMCAvIDMuMCkgOiAoY3VyeSArIDIgKiB5MSkgKiAo
MS4wIC8gMy4wKTsKLSAgICAgICAgICAgICAgICAgICAgcHgyID0gcmVsYXRpdmUgPyAoKGN1cngg
KyB0b3gpICsgMiAqICh4MSArIGN1cngpKSAqICgxLjAgLyAzLjApIDogKHRveCArIDIgKiB4MSkg
KiAoMS4wIC8gMy4wKTsKLSAgICAgICAgICAgICAgICAgICAgcHkyID0gcmVsYXRpdmUgPyAoKGN1
cnkgKyB0b3kpICsgMiAqICh5MSArIGN1cnkpKSAqICgxLjAgLyAzLjApIDogKHRveSArIDIgKiB5
MSkgKiAoMS4wIC8gMy4wKTsKLSAgICAgICAgICAgICAgICAgICAgcHgzID0gcmVsYXRpdmUgPyBj
dXJ4ICsgdG94IDogdG94OwotICAgICAgICAgICAgICAgICAgICBweTMgPSByZWxhdGl2ZSA/IGN1
cnkgKyB0b3kgOiB0b3k7Ci0KLSAgICAgICAgICAgICAgICAgICAgc3ZnQ3VydmVUb0N1YmljKHB4
MSwgcHkxLCBweDIsIHB5MiwgcHgzLCBweTMpOwotCi0gICAgICAgICAgICAgICAgICAgIGNvbnRy
bHggPSByZWxhdGl2ZSA/IGN1cnggKyB4MSA6IHgxOwotICAgICAgICAgICAgICAgICAgICBjb250
cmx5ID0gcmVsYXRpdmUgPyBjdXJ5ICsgeTEgOiB5MTsKLSAgICAgICAgICAgICAgICAgICAgY3Vy
eCA9IHJlbGF0aXZlID8gY3VyeCArIHRveCA6IHRveDsKLSAgICAgICAgICAgICAgICAgICAgY3Vy
eSA9IHJlbGF0aXZlID8gY3VyeSArIHRveSA6IHRveTsKLSAgICAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBzdmdDdXJ2ZVRvUXVhZHJhdGlj
KHgxLCB5MSwgdG94LCB0b3ksICFyZWxhdGl2ZSk7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBjYXNlICd0JzoKLSAgICAgICAgICAgICAgICByZWxh
dGl2ZSA9IHRydWU7Ci0gICAgICAgICAgICBjYXNlICdUJzoKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG94KTsKLSAgICAgICAgICAgICAgICBw
dHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95KTsKLSAgICAgICAgICAgICAgICBpZiAoIShsYXN0Q29t
bWFuZCA9PSAncScgfHwgbGFzdENvbW1hbmQgPT0gJ1EnIHx8Ci0gICAgICAgICAgICAgICAgICAg
ICBsYXN0Q29tbWFuZCA9PSAndCcgfHwgbGFzdENvbW1hbmQgPT0gJ1QnKSkgewotICAgICAgICAg
ICAgICAgICAgICBjb250cmx4ID0gY3VyeDsKLSAgICAgICAgICAgICAgICAgICAgY29udHJseSA9
IGN1cnk7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3Mp
IHsKLSAgICAgICAgICAgICAgICAgICAgeGMgPSAyICogY3VyeCAtIGNvbnRybHg7Ci0gICAgICAg
ICAgICAgICAgICAgIHljID0gMiAqIGN1cnkgLSBjb250cmx5OwotCi0gICAgICAgICAgICAgICAg
ICAgIHB4MSA9IHJlbGF0aXZlID8gKGN1cnggKyAyICogeGMpICogKDEuMCAvIDMuMCkgOiAoY3Vy
eCArIDIgKiB4YykgKiAoMS4wIC8gMy4wKTsKLSAgICAgICAgICAgICAgICAgICAgcHkxID0gcmVs
YXRpdmUgPyAoY3VyeSArIDIgKiB5YykgKiAoMS4wIC8gMy4wKSA6IChjdXJ5ICsgMiAqIHljKSAq
ICgxLjAgLyAzLjApOwotICAgICAgICAgICAgICAgICAgICBweDIgPSByZWxhdGl2ZSA/ICgoY3Vy
eCArIHRveCkgKyAyICogeGMpICogKDEuMCAvIDMuMCkgOiAodG94ICsgMiAqIHhjKSAqICgxLjAg
LyAzLjApOwotICAgICAgICAgICAgICAgICAgICBweTIgPSByZWxhdGl2ZSA/ICgoY3VyeSArIHRv
eSkgKyAyICogeWMpICogKDEuMCAvIDMuMCkgOiAodG95ICsgMiAqIHljKSAqICgxLjAgLyAzLjAp
OwotICAgICAgICAgICAgICAgICAgICBweDMgPSByZWxhdGl2ZSA/IGN1cnggKyB0b3ggOiB0b3g7
Ci0gICAgICAgICAgICAgICAgICAgIHB5MyA9IHJlbGF0aXZlID8gY3VyeSArIHRveSA6IHRveTsK
LQotICAgICAgICAgICAgICAgICAgICBzdmdDdXJ2ZVRvQ3ViaWMocHgxLCBweTEsIHB4MiwgcHky
LCBweDMsIHB5Myk7Ci0KLSAgICAgICAgICAgICAgICAgICAgY29udHJseCA9IHhjOwotICAgICAg
ICAgICAgICAgICAgICBjb250cmx5ID0geWM7Ci0gICAgICAgICAgICAgICAgICAgIGN1cnggPSBy
ZWxhdGl2ZSA/IGN1cnggKyB0b3ggOiB0b3g7Ci0gICAgICAgICAgICAgICAgICAgIGN1cnkgPSBy
ZWxhdGl2ZSA/IGN1cnkgKyB0b3kgOiB0b3k7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgc3ZnQ3VydmVUb1F1YWRyYXRpY1Ntb290
aCh0b3gsIHRveSwgIXJlbGF0aXZlKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGNhc2UgJ2EnOgotICAgICAgICAgICAgICAgIHJlbGF0aXZlID0g
dHJ1ZTsKLSAgICAgICAgICAgIGNhc2UgJ0EnOgotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIGJvb2wgbGFyZ2VBcmMsIHN3ZWVwOwotICAgICAgICAgICAgICAgIGRvdWJsZSBhbmdsZSwg
cngsIHJ5OwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCByeCk7Ci0gICAg
ICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHJ5KTsKLSAgICAgICAgICAgICAgICBw
dHIgPSBwYXJzZUNvb3JkKHB0ciwgYW5nbGUpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNl
Q29vcmQocHRyLCB0b3gpOwotICAgICAgICAgICAgICAgIGxhcmdlQXJjID0gdG94ID09IDE7Ci0g
ICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7Ci0gICAgICAgICAgICAg
ICAgc3dlZXAgPSB0b3ggPT0gMTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0
ciwgdG94KTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95KTsKLQot
ICAgICAgICAgICAgICAgIC8vIFNwZWM6IHJhZGlpIGFyZSBub25uZWdhdGl2ZSBudW1iZXJzCi0g
ICAgICAgICAgICAgICAgcnggPSBmYWJzKHJ4KTsKLSAgICAgICAgICAgICAgICByeSA9IGZhYnMo
cnkpOwotCi0gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpCi0gICAgICAgICAgICAgICAgICAg
IGNhbGN1bGF0ZUFyYyhyZWxhdGl2ZSwgY3VyeCwgY3VyeSwgYW5nbGUsIHRveCwgdG95LCByeCwg
cnksIGxhcmdlQXJjLCBzd2VlcCk7Ci0gICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAg
ICAgICAgICBzdmdBcmNUbyh0b3gsIHRveSwgcngsIHJ5LCBhbmdsZSwgbGFyZ2VBcmMsIHN3ZWVw
LCAhcmVsYXRpdmUpOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAg
ICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogQW4gZXJyb3Igc2hv
dWxkIGdvIHRvIHRoZSBKYXZhU2NyaXB0IGNvbnNvbGUsIG9yIHRoZSBsaWtlLgotICAgICAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICBsYXN0Q29tbWFuZCA9IGNvbW1hbmQ7
Ci0KLSAgICAgICAgaWYgKCpwdHIgPT0gJysnIHx8ICpwdHIgPT0gJy0nIHx8ICgqcHRyID49ICcw
JyAmJiAqcHRyIDw9ICc5JykpIHsKLSAgICAgICAgICAgIC8vIHRoZXJlIGFyZSBzdGlsbCBjb29y
ZHMgaW4gdGhpcyBjb21tYW5kCi0gICAgICAgICAgICBpZiAoY29tbWFuZCA9PSAnTScpCi0gICAg
ICAgICAgICAgICAgY29tbWFuZCA9ICdMJzsKLSAgICAgICAgICAgIGVsc2UgaWYgKGNvbW1hbmQg
PT0gJ20nKQotICAgICAgICAgICAgICAgIGNvbW1hbmQgPSAnbCc7Ci0gICAgICAgIH0KLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgY29tbWFuZCA9ICoocHRyKyspOwotCi0gICAgICAgIGlmIChs
YXN0Q29tbWFuZCAhPSAnQycgJiYgbGFzdENvbW1hbmQgIT0gJ2MnICYmCi0gICAgICAgICAgICBs
YXN0Q29tbWFuZCAhPSAnUycgJiYgbGFzdENvbW1hbmQgIT0gJ3MnICYmCi0gICAgICAgICAgICBs
YXN0Q29tbWFuZCAhPSAnUScgJiYgbGFzdENvbW1hbmQgIT0gJ3EnICYmCi0gICAgICAgICAgICBs
YXN0Q29tbWFuZCAhPSAnVCcgJiYgbGFzdENvbW1hbmQgIT0gJ3QnKSB7Ci0gICAgICAgICAgICBj
b250cmx4ID0gY3VyeDsKLSAgICAgICAgICAgIGNvbnRybHkgPSBjdXJ5OwotICAgICAgICB9Ci0g
ICAgfQotfQotCi0vLyBUaGlzIHdvcmtzIGJ5IGNvbnZlcnRpbmcgdGhlIFNWRyBhcmMgdG8gInNp
bXBsZSIgYmV6aWVycy4KLS8vIEZvciBlYWNoIGJlemllciBmb3VuZCBhIHN2Z1RvQ3VydmUgY2Fs
bCBpcyBkb25lLgotLy8gQWRhcHRlZCBmcm9tIE5pa28ncyBjb2RlIGluIGtkZWxpYnMva2RlY29y
ZS9zdmdpY29ucy4KLS8vIE1heWJlIHRoaXMgY2FuIHNlcnZlIGluIHNvbWUgc2hhcmVkIGxpYj8g
KFJvYikKLXZvaWQgU1ZHUGF0aFBhcnNlcjo6Y2FsY3VsYXRlQXJjKGJvb2wgcmVsYXRpdmUsIGRv
dWJsZSAmY3VyeCwgZG91YmxlICZjdXJ5LCBkb3VibGUgYW5nbGUsIGRvdWJsZSB4LCBkb3VibGUg
eSwgZG91YmxlIHIxLCBkb3VibGUgcjIsIGJvb2wgbGFyZ2VBcmNGbGFnLCBib29sIHN3ZWVwRmxh
ZykKLXsKLSAgICBkb3VibGUgc2luX3RoLCBjb3NfdGg7Ci0gICAgZG91YmxlIGEwMCwgYTAxLCBh
MTAsIGExMTsKLSAgICBkb3VibGUgeDAsIHkwLCB4MSwgeTEsIHhjLCB5YzsKLSAgICBkb3VibGUg
ZCwgc2ZhY3Rvciwgc2ZhY3Rvcl9zcTsKLSAgICBkb3VibGUgdGgwLCB0aDEsIHRoX2FyYzsKLSAg
ICBpbnQgaSwgbl9zZWdzOwotCi0gICAgc2luX3RoID0gc2luKGFuZ2xlICogKE1fUEkgLyAxODAu
MCkpOwotICAgIGNvc190aCA9IGNvcyhhbmdsZSAqIChNX1BJIC8gMTgwLjApKTsKLQotICAgIGRv
dWJsZSBkeDsKLQotICAgIGlmICghcmVsYXRpdmUpCi0gICAgICAgIGR4ID0gKGN1cnggLSB4KSAv
IDIuMDsKLSAgICBlbHNlCi0gICAgICAgIGR4ID0gLXggLyAyLjA7Ci0KLSAgICBkb3VibGUgZHk7
Ci0gICAgICAgIAotICAgIGlmICghcmVsYXRpdmUpCi0gICAgICAgIGR5ID0gKGN1cnkgLSB5KSAv
IDIuMDsKLSAgICBlbHNlCi0gICAgICAgIGR5ID0gLXkgLyAyLjA7Ci0gICAgICAgIAotICAgIGRv
dWJsZSBfeDEgPSAgY29zX3RoICogZHggKyBzaW5fdGggKiBkeTsKLSAgICBkb3VibGUgX3kxID0g
LXNpbl90aCAqIGR4ICsgY29zX3RoICogZHk7Ci0gICAgZG91YmxlIFByMSA9IHIxICogcjE7Ci0g
ICAgZG91YmxlIFByMiA9IHIyICogcjI7Ci0gICAgZG91YmxlIFB4ID0gX3gxICogX3gxOwotICAg
IGRvdWJsZSBQeSA9IF95MSAqIF95MTsKLQotICAgIC8vIFNwZWMgOiBjaGVjayBpZiByYWRpaSBh
cmUgbGFyZ2UgZW5vdWdoCi0gICAgZG91YmxlIGNoZWNrID0gUHggLyBQcjEgKyBQeSAvIFByMjsK
LSAgICBpZiAoY2hlY2sgPiAxKSB7Ci0gICAgICAgIHIxID0gcjEgKiBzcXJ0KGNoZWNrKTsKLSAg
ICAgICAgcjIgPSByMiAqIHNxcnQoY2hlY2spOwotICAgIH0KLQotICAgIGEwMCA9IGNvc190aCAv
IHIxOwotICAgIGEwMSA9IHNpbl90aCAvIHIxOwotICAgIGExMCA9IC1zaW5fdGggLyByMjsKLSAg
ICBhMTEgPSBjb3NfdGggLyByMjsKLQotICAgIHgwID0gYTAwICogY3VyeCArIGEwMSAqIGN1cnk7
Ci0gICAgeTAgPSBhMTAgKiBjdXJ4ICsgYTExICogY3VyeTsKLQotICAgIGlmICghcmVsYXRpdmUp
Ci0gICAgICAgIHgxID0gYTAwICogeCArIGEwMSAqIHk7Ci0gICAgZWxzZQotICAgICAgICB4MSA9
IGEwMCAqIChjdXJ4ICsgeCkgKyBhMDEgKiAoY3VyeSArIHkpOwotICAgICAgICAKLSAgICBpZiAo
IXJlbGF0aXZlKQotICAgICAgICB5MSA9IGExMCAqIHggKyBhMTEgKiB5OwotICAgIGVsc2UKLSAg
ICAgICAgeTEgPSBhMTAgKiAoY3VyeCArIHgpICsgYTExICogKGN1cnkgKyB5KTsKLQotICAgIC8q
ICh4MCwgeTApIGlzIGN1cnJlbnQgcG9pbnQgaW4gdHJhbnNmb3JtZWQgY29vcmRpbmF0ZSBzcGFj
ZS4KLSAgICAgICAoeDEsIHkxKSBpcyBuZXcgcG9pbnQgaW4gdHJhbnNmb3JtZWQgY29vcmRpbmF0
ZSBzcGFjZS4KLQotICAgICAgIFRoZSBhcmMgZml0cyBhIHVuaXQtcmFkaXVzIGNpcmNsZSBpbiB0
aGlzIHNwYWNlLgotICAgICovCi0KLSAgICBkID0gKHgxIC0geDApICogKHgxIC0geDApICsgKHkx
IC0geTApICogKHkxIC0geTApOwotCi0gICAgc2ZhY3Rvcl9zcSA9IDEuMCAvIGQgLSAwLjI1Owot
Ci0gICAgaWYgKHNmYWN0b3Jfc3EgPCAwKQotICAgICAgICBzZmFjdG9yX3NxID0gMDsKLQotICAg
IHNmYWN0b3IgPSBzcXJ0KHNmYWN0b3Jfc3EpOwotCi0gICAgaWYgKHN3ZWVwRmxhZyA9PSBsYXJn
ZUFyY0ZsYWcpCi0gICAgICAgIHNmYWN0b3IgPSAtc2ZhY3RvcjsKLQotICAgIHhjID0gMC41ICog
KHgwICsgeDEpIC0gc2ZhY3RvciAqICh5MSAtIHkwKTsKLSAgICB5YyA9IDAuNSAqICh5MCArIHkx
KSArIHNmYWN0b3IgKiAoeDEgLSB4MCk7Ci0KLSAgICAvKiAoeGMsIHljKSBpcyBjZW50ZXIgb2Yg
dGhlIGNpcmNsZS4gKi8KLSAgICB0aDAgPSBhdGFuMih5MCAtIHljLCB4MCAtIHhjKTsKLSAgICB0
aDEgPSBhdGFuMih5MSAtIHljLCB4MSAtIHhjKTsKLQotICAgIHRoX2FyYyA9IHRoMSAtIHRoMDsK
LSAgICBpZiAodGhfYXJjIDwgMCAmJiBzd2VlcEZsYWcpCi0gICAgICAgIHRoX2FyYyArPSAyICog
TV9QSTsKLSAgICBlbHNlIGlmICh0aF9hcmMgPiAwICYmICFzd2VlcEZsYWcpCi0gICAgICAgIHRo
X2FyYyAtPSAyICogTV9QSTsKLQotICAgIG5fc2VncyA9IChpbnQpIChpbnQpIGNlaWwoZmFicyh0
aF9hcmMgLyAoTV9QSSAqIDAuNSArIDAuMDAxKSkpOwotCi0gICAgZm9yKGkgPSAwOyBpIDwgbl9z
ZWdzOyBpKyspIHsKLSAgICAgICAgZG91YmxlIHNpbl90aCwgY29zX3RoOwotICAgICAgICBkb3Vi
bGUgYTAwLCBhMDEsIGExMCwgYTExOwotICAgICAgICBkb3VibGUgeDEsIHkxLCB4MiwgeTIsIHgz
LCB5MzsKLSAgICAgICAgZG91YmxlIHQ7Ci0gICAgICAgIGRvdWJsZSB0aF9oYWxmOwotCi0gICAg
ICAgIGRvdWJsZSBfdGgwID0gdGgwICsgaSAqIHRoX2FyYyAvIG5fc2VnczsKLSAgICAgICAgZG91
YmxlIF90aDEgPSB0aDAgKyAoaSArIDEpICogdGhfYXJjIC8gbl9zZWdzOwotCi0gICAgICAgIHNp
bl90aCA9IHNpbihhbmdsZSAqIChNX1BJIC8gMTgwLjApKTsKLSAgICAgICAgY29zX3RoID0gY29z
KGFuZ2xlICogKE1fUEkgLyAxODAuMCkpOwotCi0gICAgICAgIC8qIGludmVyc2UgdHJhbnNmb3Jt
IGNvbXBhcmVkIHdpdGggcnN2Z19wYXRoX2FyYyAqLwotICAgICAgICBhMDAgPSBjb3NfdGggKiBy
MTsKLSAgICAgICAgYTAxID0gLXNpbl90aCAqIHIyOwotICAgICAgICBhMTAgPSBzaW5fdGggKiBy
MTsKLSAgICAgICAgYTExID0gY29zX3RoICogcjI7Ci0KLSAgICAgICAgdGhfaGFsZiA9IDAuNSAq
IChfdGgxIC0gX3RoMCk7Ci0gICAgICAgIHQgPSAoOC4wIC8gMy4wKSAqIHNpbih0aF9oYWxmICog
MC41KSAqIHNpbih0aF9oYWxmICogMC41KSAvIHNpbih0aF9oYWxmKTsKLSAgICAgICAgeDEgPSB4
YyArIGNvcyhfdGgwKSAtIHQgKiBzaW4oX3RoMCk7Ci0gICAgICAgIHkxID0geWMgKyBzaW4oX3Ro
MCkgKyB0ICogY29zKF90aDApOwotICAgICAgICB4MyA9IHhjICsgY29zKF90aDEpOwotICAgICAg
ICB5MyA9IHljICsgc2luKF90aDEpOwotICAgICAgICB4MiA9IHgzICsgdCAqIHNpbihfdGgxKTsK
LSAgICAgICAgeTIgPSB5MyAtIHQgKiBjb3MoX3RoMSk7Ci0KLSAgICAgICAgc3ZnQ3VydmVUb0N1
YmljKGEwMCAqIHgxICsgYTAxICogeTEsIGExMCAqIHgxICsgYTExICogeTEsIGEwMCAqIHgyICsg
YTAxICogeTIsIGExMCAqIHgyICsgYTExICogeTIsIGEwMCAqIHgzICsgYTAxICogeTMsIGExMCAq
IHgzICsgYTExICogeTMpOwotICAgIH0KLQotICAgIGlmICghcmVsYXRpdmUpCi0gICAgICAgIGN1
cnggPSB4OwotICAgIGVsc2UKLSAgICAgICAgY3VyeCArPSB4OwotCi0gICAgaWYgKCFyZWxhdGl2
ZSkKLSAgICAgICAgY3VyeSA9IHk7Ci0gICAgZWxzZQotICAgICAgICBjdXJ5ICs9IHk7ICAgIAot
fQotCi12b2lkIFNWR1BhdGhQYXJzZXI6OnN2Z0xpbmVUb0hvcml6b250YWwoZG91YmxlLCBib29s
KQotewotfQotCi12b2lkIFNWR1BhdGhQYXJzZXI6OnN2Z0xpbmVUb1ZlcnRpY2FsKGRvdWJsZSwg
Ym9vbCkKLXsKLX0KLQotdm9pZCBTVkdQYXRoUGFyc2VyOjpzdmdDdXJ2ZVRvQ3ViaWNTbW9vdGgo
ZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBib29sKQotewotfQotCi12b2lkIFNWR1Bh
dGhQYXJzZXI6OnN2Z0N1cnZlVG9RdWFkcmF0aWMoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91
YmxlLCBib29sKQotewotfQotCi12b2lkIFNWR1BhdGhQYXJzZXI6OnN2Z0N1cnZlVG9RdWFkcmF0
aWNTbW9vdGgoZG91YmxlLCBkb3VibGUsIGJvb2wpCi17Ci19Ci0KLXZvaWQgU1ZHUGF0aFBhcnNl
cjo6c3ZnQXJjVG8oZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGJvb2ws
IGJvb2wsIGJvb2wpCi17Ci19IAotCi19Ci0KLS8vIHZpbTp0cz00Om5vZXQKLSNlbmRpZiAvLyBT
VkdfU1VQUE9SVApJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL3N2Z3BhdGhwYXJzZXIuaAkocmV2aXNpb24gMTg0
MDgpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9zdmdwYXRocGFyc2VyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEsNzcgKzAsMCBAQAotLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0
Ci0gICBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDMgVGhlIEthcmJvbiBEZXZlbG9wZXJzCi0KLSAg
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKLSAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCi0gICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgot
ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKLSAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgotCi0gICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMw
LAotICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0qLwotCi0jaWZuZGVmIF9fU1ZHUEFU
SFBBUlNFUl9IX18KLSNkZWZpbmUgX19TVkdQQVRIUEFSU0VSX0hfXwotI2lmZGVmIFNWR19TVVBQ
T1JUCi0KLW5hbWVzcGFjZSBXZWJDb3JlCi17Ci0gICAgY2xhc3MgRGVwcmVjYXRlZFN0cmluZzsK
LQotICAgIGNvbnN0IGNoYXIgKnBhcnNlQ29vcmQoY29uc3QgY2hhciAqcHRyLCBkb3VibGUgJm51
bWJlcik7Ci0KLSAgICBjbGFzcyBTVkdQb2x5UGFyc2VyCi0gICAgewotICAgIHB1YmxpYzoKLSAg
ICAgICAgdmlydHVhbCB+U1ZHUG9seVBhcnNlcigpIHsgfQotICAgICAgICB2b2lkIHBhcnNlUG9p
bnRzKCBjb25zdCBEZXByZWNhdGVkU3RyaW5nICZwb2ludHMgKSBjb25zdDsKLQotICAgIHByb3Rl
Y3RlZDoKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z1BvbHlUbyggZG91YmxlIHgxLCBkb3VibGUg
eTEsIGludCBuciApIGNvbnN0ID0gMDsKLSAgICB9OwotCi0gICAgLyoqCi0gICAgICogUGFyc2Vy
IGZvciBzdmcgcGF0aCBkYXRhLCBjb250YWluZWQgaW4gdGhlIGQgYXR0cmlidXRlLgotICAgICAq
Ci0gICAgICogVGhlIHBhcnNlciBkZWxpdmVycyBlbmNvdW50ZXJlZCBjb21tYW5kcyBhbmQgcGFy
YW1ldGVycyBieSBjYWxsaW5nCi0gICAgICogbWV0aG9kcyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhv
c2UgY29tbWFuZHMuIENsaWVudHMgaGF2ZSB0byBkZXJpdmUKLSAgICAgKiBmcm9tIHRoaXMgY2xh
c3MgYW5kIGltcGxlbWVudCB0aGUgYWJzdHJhY3QgY29tbWFuZCBtZXRob2RzLgotICAgICAqCi0g
ICAgICogVGhlcmUgYXJlIHR3byBvcGVyYXRpbmcgbW9kZXMuIEJ5IGRlZmF1bHQgdGhlIHBhcnNl
ciBqdXN0IGRlbGl2ZXJzIHVuYWx0ZXJlZAotICAgICAqIHN2ZyBwYXRoIGRhdGEgY29tbWFuZHMg
YW5kIHBhcmFtZXRlcnMuIEluIHRoZSBzZWNvbmQgbW9kZSwgaXQgd2lsbCBjb252ZXJ0IGFsbAot
ICAgICAqIHJlbGF0aXZlIGNvb3JkaW5hdGVzIHRvIGFic29sdXRlIG9uZXMsIGFuZCBjb252ZXJ0
IGFsbCBjdXJ2ZXMgdG8gY3ViaWMgYmV6aWVycy4KLSAgICAgKi8KLSAgICBjbGFzcyBTVkdQYXRo
UGFyc2VyCi0gICAgewotICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCB+U1ZHUGF0aFBhcnNl
cigpIHsgfQotICAgICAgICB2b2lkIHBhcnNlU1ZHKCBjb25zdCBEZXByZWNhdGVkU3RyaW5nICZk
LCBib29sIHByb2Nlc3MgPSBmYWxzZSApOwotCi0gICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0
dWFsIHZvaWQgc3ZnTW92ZVRvKCBkb3VibGUgeDEsIGRvdWJsZSB5MSwgYm9vbCBjbG9zZWQsIGJv
b2wgYWJzID0gdHJ1ZSApID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0xpbmVUbyggZG91
YmxlIHgxLCBkb3VibGUgeTEsIGJvb2wgYWJzID0gdHJ1ZSApID0gMDsKLSAgICAgICAgdmlydHVh
bCB2b2lkIHN2Z0xpbmVUb0hvcml6b250YWwoIGRvdWJsZSB4LCBib29sIGFicyA9IHRydWUgKTsK
LSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0xpbmVUb1ZlcnRpY2FsKCBkb3VibGUgeSwgYm9vbCBh
YnMgPSB0cnVlICk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzdmdDdXJ2ZVRvQ3ViaWMoIGRvdWJs
ZSB4MSwgZG91YmxlIHkxLCBkb3VibGUgeDIsIGRvdWJsZSB5MiwgZG91YmxlIHgsIGRvdWJsZSB5
LCBib29sIGFicyA9IHRydWUgKSA9IDA7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzdmdDdXJ2ZVRv
Q3ViaWNTbW9vdGgoIGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHgyLCBkb3VibGUgeTIsIGJv
b2wgYWJzID0gdHJ1ZSApOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQ3VydmVUb1F1YWRyYXRp
YyggZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgeDEsIGRvdWJsZSB5MSwgYm9vbCBhYnMgPSB0
cnVlICk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBzdmdDdXJ2ZVRvUXVhZHJhdGljU21vb3RoKCBk
b3VibGUgeCwgZG91YmxlIHksIGJvb2wgYWJzID0gdHJ1ZSApOwotICAgICAgICB2aXJ0dWFsIHZv
aWQgc3ZnQXJjVG8oIGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHIxLCBkb3VibGUgcjIsIGRv
dWJsZSBhbmdsZSwgYm9vbCBsYXJnZUFyY0ZsYWcsIGJvb2wgc3dlZXBGbGFnLCBib29sIGFicyA9
IHRydWUgKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0Nsb3NlUGF0aCgpID0gMDsKLSAgICBw
cml2YXRlOgotICAgICAgICB2b2lkIGNhbGN1bGF0ZUFyYyggYm9vbCByZWxhdGl2ZSwgZG91Ymxl
ICZjdXJ4LCBkb3VibGUgJmN1cnksIGRvdWJsZSBhbmdsZSwgZG91YmxlIHgsIGRvdWJsZSB5LCBk
b3VibGUgcjEsIGRvdWJsZSByMiwgYm9vbCBsYXJnZUFyY0ZsYWcsIGJvb2wgc3dlZXBGbGFnICk7
Ci0gICAgfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gU1ZHX1NVUFBP
UlQKLSNlbmRpZgotCi0vLyB2aW06dHM9NDpub2V0CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3Vz
dG9tL2VtcHR5LXByZXNlcnZlLWFzcGVjdC1yYXRpby1leHBlY3RlZC5wbmcKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpD
YW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkgdHlwZS4Kc3ZuOm1pbWUtdHlw
ZSA9IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS9lbXB0eS1wcmVzZXJ2ZS1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQucG5n
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0
cmVhbQoKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBTWVV
bEVRVlI0bk8zWndRMkFRQXdFc1lQR29mUFEKeFJ3Q3U0S1Y4aHJsV1BlYXhXdk01UndBQUh6WHVY
c0FBQUR3SHdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQQpBQ0FqUUFBQWdJ
d0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3
QUFRQUFNZ0lFCkFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3
QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0EKQVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3
QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBagpRQUFBZ0l3
QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdB
QVFBQU1nSUVBQURJCkNCQUFBQ0FqUUFBQWdJd0FBUUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdB
QVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUEKTWdJRUFBRElDQkFBQUNBalFBQUFnSXdB
QVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQQpnSXdB
QVFBQU1nSUVBQURJQ0JBQUFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FB
UUFBTWdJRUFBRElDQkFBCkFDQWpRQUFBZ0l3QUFRQUFNZ0lFQUFESUNCQUFBQ0FqUUFBQWdJd0FB
UUFBTWdJRUFBRElDQkFBQUNBalFBQUFnSXdBQVFBQU1nSUUKQUFESUNCQUFBQ0FqUUFBQWdJd0FB
UUFBTWdJRUFBRElDQkFBQUNCenpNenNIZ0VBQVB5RER3Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpB
QUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FB
QmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
awpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUEKUUVhQUFBQUFHUUVDQUFC
a0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUEKQUFBQUdRRUNBQUJr
QkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUEKR1FFQ0FBQmtC
QWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUMKQUFCa0JB
Z0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklBQUFRRWFBQUFBQUdRRUNBQUJrQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmsKQkFn
QUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBClFFYUFBQUFBR1FFQ0FBQmtCQWdB
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0EK
QUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBCkFBQUFHUUVDQUFCa0JBZ0FB
SkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBCkdRRUNBQUJrQkFnQUFK
QVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUEKUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQQpBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDCkFBQmtCQWdBQUpB
UklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUEKQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUgpJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrCkJBZ0FBSkFS
SUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUEKR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQQpRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBCkFKQVJJ
QUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUMKQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQQpBQUFBR1FFQ0FBQmtCQWdBQUpBUklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSCklB
QUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmsKQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQQpHUUVDQUFCa0JBZ0FBSkFSSUFB
QVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
ClFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0EKQUpBUklBQUFRRWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQwpBQUJrQkFnQUFKQVJJQUFB
UUVhQUFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBCkFBQUFHUUVDQUFCa0JBZ0FBSkFSSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVIKSUFBQVFFYUFBQUFBR1FFQ0FBQmtCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFHUUVDQUFCawpCQWdBQUpBUklBQUFR
RWFBQUFBQUdRRUNBQUJrQkFnQUFKQVJJQUFBUUVhQUFBQUFtUWRpbFF5bllNdXpnQUFBQUFCSlJV
NUVya0pnCmdnPT0KCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvY3VzdG9tL3ByZXNlcnZlLWFzcGVj
dC1yYXRpby1zeW50YXgtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZp
bGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9v
Y3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3N2Zy9jdXN0b20v
cHJlc2VydmUtYXNwZWN0LXJhdGlvLXN5bnRheC1leHBlY3RlZC5wbmcKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1l
OiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgoKaVZCT1J3MEtH
Z29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFnQUVsRVFWUjRuTzNkZWJoVmRi
MC84TTloMEFSVQpVTGxLS1E0NGtFVmR6ZkNtbGtaZ1RyY3dCVFdIdEVkTjh6WTRZYWFsOWxTWWtY
cWRRODJjTWlIVXZPWjByU2VIcTVoMnJYelVJQlhLCkFRMEVSVkFCT2QvZkgrdDN6ajNESHMvd1BZ
Zmo2L1U4UEhyMldudXQ3N0MrMzczZWU2KzFkME5LS1FVQUFFQUcvWHE2QUFBQXdIdUgKQUFJQUFH
UWpnQUFBQU5rSUlBQUFRRFlDQ0FBQWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlBQUNRalFB
Q0FBQmtJNEFBQUFEWgpDQ0FBQUVBMkFnZ0FBSkNOQUFJQUFHUWpnQUFBQU5rSUlBQUFRRFlDQ0FB
QWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlBQUNRCmpRQUNBQUJrSTRBQUFBRFpDQ0FBQUVB
MkFnZ0FBSkNOQUFJQUFHUWpnQUFBQU5rSUlBQUFRRFlDQ0FBQWtJMEFBZ0FBWkNPQUFBQUEKMlFn
Z0FBQkFOZ0lJQUFDUWpRQUNBQUJrSTRBQUFBRFpDQ0FBQUVBMkFnZ0FBSkNOQUFJQUFHUlRNb0M4
L3ZyckpWZGV2bng1UFBIRQpFMVVmNjIyV0xGa1NpeGN2N3RCemUwdjlsaXhaRW9zV0xlcldmZFJT
MTlkZmZ6MWVmZlhWRGorL0k5NTg4ODE0NVpWWE92ejhIRzNYCm03Mzg4c3V4WU1HQ25pNUdzNDdP
SSsvMWZzeWwzUHpmbCtVY0k3WHV5L0hlOTFSNi9leUs5U01pNXM2ZEc0OCsrbWlzV3JXcTN1SzEK
MHRXdjUydkNPVXhFNTg0WGEyVnNGOW9Ga0FVTEZzUysrKzdiYnNYWnMyZkhEanZzRU4vNjFyY3FQ
dGJiWEhIRkZURjgrUEI0OU5GSAo2MzV1YjZuZlRUZmRGQnR2dkhFODhNQUQzYmFQV3VyNnkxLytz
bXc1dXF1dFpzeVlFUnR2dkhIY2R0dHRIWHAranJicjdiNzV6Vy9HCnlTZWYzTlBGaUlpT3p5UDZN
WTl5ODM5dk1YUG16Qmc1Y21RME5EVEVZWWNkRmtjY2NVVHN2ZmZlY2Z6eHgzY3FPT1VjSTdYc3kv
SGUKOTFSNi9leUs5U01pcGt5WkVzOCsrMnljYzg0NWNjb3BwM1MwcUYzK2VyNG1uTU5FZE81OHNW
Ykc5djlwRjBDbVQ1OGVEei84Y0R6OAo4TU90SHYrM2YvdTNtRGh4WXRYSGVwdmpqanN1Qmd3WTBL
SG45cGI2SFhMSUliSGhoaHQyNno1cXFldkJCeDhjUTRjT0xkbWUzZFZXCmt5ZFBqaTIyMktMbTlW
OTk5ZFY0NUpGSG12L08wWGE5M2ZUcDArUHl5eS92NldKRVJNZm5FZjJZUjduNXY2ZTBIYytUSmsy
Sy9mYmIKTHdZTUdCQTMzSEJEWEhmZGRmSExYLzR5N3IvLy90aG5uMzA2dE0ySXZHT2sxTDU2Kzd4
VnFzMm9UNlhYejY1WS82OS8vV3Y4OXJlLwpqWDMyMlNkbXpwelpxZkJRYms3dTZIR3dKcHpEUkhU
dWZMRld2VzFzOTZSV0FXVFZxbFV4Zi83ODJISEhIZVBDQ3k5c3QzTC8vdjFyCmVxeXR4c2JHVGhR
eElxWFVxVzMzNzk4L0dob2FPclR2V3VyWGxjclZKMGM1S3UyanFWejkrL2VQZnYxSzN6clVYV1dz
ZFVKNDY2MjMKNHNBREQ0d1hYbmloMWVOZFhhNUt4MXhuUC9idWpITGxHanAwYUt5Ly92b2QybWFs
c1ZlcnRtM1MwWG1rMW43TTFRZWRuZGU2ZWp1ZApWVzMrajZpdHJCMnRUOXRqcmR4NEhqSmtTS3Uv
MTE5Ly9mak1aejRUczJmUGp1WExsN2ZiYnN2am9kdzJPek5HNnRWMlgxMDViM1hICnNWU3VmRTE2
Y3M3cnJIcmFxelAxck9YMXN6UHJSMFQ4NVM5L2FUNW1CZzhlSENOR2pHaGUxcEd5dHozK3FoMEhU
ZGJrYzVpbTVSMDkKWHl5bDFHdG9WN1JGYjNuZDZJeFd2VEJyMXF5WU9IRmluSERDQ1hIcnJiZFdQ
ZEJxY2RGRkY4WE5OOThjUnh4eFJKeDAwa25Oajk5OQo5OTN4TC8veUwzSEFBUWZFMHFWTEl5Smk2
dFNwc2YvKys4ZGJiNzBWRVJFdnZmUlNuSFBPT2ZHZi8vbWZzY2NlZThRUlJ4d1JwNTkrCmVxeGN1
YkxpdGt0NTVwbG5Zdi85OTQvMTFsc3ZEanJvb0ZpMmJGbXI1WC80d3gvaXFLT09pczkrOXJQeGpX
OThvK0kxZ25QbXpJbXYKZnZXcjhZTWYvQ0MrOElVdnhNVVhYOXpxSUx2MTFsdGpndzAyaUpOUFBq
bFdybHdaSjU1NFlteXd3UVp4eVNXWFJFVEUvUG56NHlNZgorVWpNblR1M3ByWnFzbURCZ2pqaWlD
Tmk0NDAzanNtVEo4ZnExYXRyS3RPc1diTmlrMDAyaVR2dnZETldyRmdSNTU1N2JteXl5U1kxCnZa
UHg3TFBQeGxlLyt0VzQ1SkpMNHVTVFR5NzVBbDlKdGJhcXRyeXQ2ZE9ueDE1NzdSWFhYMzk5ODNI
UTVPYy8vM25NbmowN2Z2R0wKWDdRN2dhclVkaEcxOTMrNVBycjY2cXZqeWl1dmpCLy8rTWV4Nzc3
N3hodHZ2QkVSRVE4OTlGQWNkdGhoTVczYXREanJyTE5pdSsyMgppLzMzM3o4V0xsd1kzL25PZCtM
REgvNXc3THJycnEydU9hM25XS3hXcm1lZWVTWk9PT0dFT09pZ2c1b2Z1LzMyMjJQOCtQSHhrNS84
CkpMNys5YS9ISnB0c0VwTW1UV28xb1QzLy9QTng1SkZIeHJScDArSUxYL2hDM0hQUFBYV1hyMXli
ZEVhbGZpeTN2MXJtbWxycU5HUEcKalBqTVp6NFRVNmRPamNtVEo4Zmd3WVBqazUvOFpLdnIrVysv
L2ZiNC9PYy9INWRjY2tuc3Q5OStzZlhXVzBkS3FlejJLNDM1VXM4cAp0ZjI3N3JxcmF2MXFxV08x
K2I5Y1dXdHBsMHI3TG5lc1ZSclBMVFUyTnNaamp6MFc0OGFOaThHREJ6Yy9YdXA0S0xYTlVtTWtv
cjY1CnFkWTUvNjY3N21xM3I4N01XeTJWNnArWk0yZkdOdHRzRThjZGQxeTg5dHByRVZITW9ZY2Rk
bGlzV0xFaUlxclBCK1hLVjI2OC9mblAKZjQ1eDQ4YkZ4ei8rOGZqSFAvNFJGMTU0WVh6eGkxK001
NTU3cm1TNXl4MGJwWTcxWC8vNjF5WEhWNlcrS2pjbWF6MS9LRmZQV3ViUgplbDgvcTYxZnJxMXV1
dW1tK05uUGZoWXZ2dmhpbkgzMjJjMlhMSmNyZTBmT0NXb1pqOTExRHRQUk10ZlNwcVZVT2wrczlm
V3YwbXRvClo5dWkzdGVOaU5xTzEreFNDNGNjY2toNjk5MTMwMXR2dlpXR0RSdVdwa3laMG5KeCt0
YTN2cFgyM0hQUHFvODFXYkJnUWRwMTExMmIKLzU0MmJWcXI1Y2NmZjN6NjFLYysxZnozRlZkY2tm
NzR4ejgyLzMzMDBVZW5tMjY2S2FXVTB2VHAwOVBRb1VQVGE2KzlWdE8yV3hvMAphRkE2OU5CRDAr
TEZpOU5qanoyV2hnMGJsaTY4OE1MbTVTKy8vSEk2OE1BRDA2cFZxMUpqWTJNYU4yNWNPdTIwMDBy
V2I4bVNKV25UClRUZE44K2JOU3ltbHRIRGh3clRoaGh1bWl5Kyt1TlUrZDlwcHAzVG1tV2VtbEZK
YXRteFpHakprU0xyMzNudFRTaW10WExreW5YREMKQ1hXMTFRYys4SUYwNUpGSHBqZmZmRFBObno4
L05UUTBwQWNmZkxEbU1xMjMzbnBwMXF4WkthV1Uzbjc3N1JRUjZmZS8vMzJyZmJTdAo2OXR2djUx
R2poeVpYbnp4eFpSU1NuUG56azBSa1g3OTYxK1hiT2Q2MjZyV3Rod3paa3k2L1BMTDAwc3Z2WlJP
T2VXVXRIVHAwcEw3CmI2cm5MYmZjVW5QYnBWUzUvMXNxMTBkTGxpeEphNjIxVm5ybGxWZFNTaW50
dnZ2dTZZWWJia2dwcGJSaXhZcTA0NDQ3cGozMjJDTXQKWHJ3NC9lTWYvMGliYnJwcDJuZmZmZE9p
Ull2U1AvLzV6elI2OU9oMCtlV1gxMVdXV3NxVlVrcU5qWTNwK09PUFQrUEdqV3QrYk5XcQpWV25y
cmJkTysreXpUMXE2ZEdtYU4yOWVxelo1ODgwMzAzYmJiWmVXTFZ1V1VrcnA4c3N2VDZOSGo2NnJm
SlhhcE41NXBFbTFNVkJ1CmZ5bFZubXRxcmRPcVZhdlMwS0ZEMCtUSms5TmJiNzJWL3ZDSFA2U1JJ
MGVtYjMvNzI4M3JMRnEwS0syLy92cHA3NzMzVHM4OTkxeTYKL3ZycnkyNi9VcitWZTA2cDdWZXJY
NjExckRUL1Z5cHJ0WGFwdE85S3gxcEtwY2Z6cWFlZW12cjM3NS91dSsrKzlMT2YvU3hObURBaApU
Wnc0TWYzbEwzOXBYcWZTOGRCMm02WEdTSzF6VTB1MXpQbWw5bFd1bnRYbXJaWXE5YytFQ1JQU0Y3
LzR4ZWEvcjdycXF2VEFBdzgwCi8xMXRQaWhWdm1yajdjRUhIMHo5Ky9kUGYvempIOU94eHg2Ymxp
eFpVckxjbFk2TlVzZDZxY2VxOVZXcDU5UjYvbENwbnRYYXJkN1gKejJyclZ4dkRGMXh3UWRwaGh4
MXE3cU5xNXdTbDV1UlN4Mm1UN2o2SDZVaVo2KzJEbENxZkw5YjZXbEZ0WHV0TVczVGtkU09sMnNa
NQpiczJmZ1B6cFQzK0s3YmZmUHZyMzd4L3JyTE5PSEhYVVVYSGxsVmUyZWdldFhvTUhENDRubm5n
aVRqbmxsRmkrZkhrY2Q5eHhyWlovCjdXdGZpd2NmZkxENWs0Q25uMzQ2ZHR4eHgrYmxkOTU1Wjd6
NTVwc1JFYkhiYnJ2Rjh1WExZKzIxMTY1cDIyMTkrY3Rmam1IRGhzVk8KTyswVUJ4NTRZS3VibXEr
NDRvcDQ1NTEzNHJ6enpvdXBVNmZHOE9IRDQ2bW5uaXE1bld1dnZUYUdEQm5TZkYvQ1JodHRGSHZz
c1VlYwpmLzc1cmRZNzdyampZc2FNR1JFUnNjNDY2OFNHRzI0WTExOS9mVVJFM0hiYmJURjU4dVM2
MmlvaVl2ejQ4VEZreUpEWWZQUE5ZOU5OCk4yMStSNm1XTXJYOHlLL1dTNXF1di83NkdEUm9VSHpn
QXgrSWlJaHR0dGttTnQ1NDQ1cWVXMHU1YW0zTGlPTDYxclBPT2l0KytNTWYKeHJycnJsdHh2NlUr
UGkzWGRoRzE5Mys1UGhvNmRHZzg5TkJEc2ZIR0c4ZlRUejhkcjcvK2V2enRiMytMaUlpMTFsb3JS
b3dZRVR2dgp2SE1NR3pZc050dHNzeGd6Wmt4c3YvMzJzZUdHRzhidzRjTmpoeDEyaVBuejU5ZFZs
bHJLMWRRV2JhODNIVEJnUUF3Yk5pekdqaDBiCjY2NjdibXl4eFJieC92ZS9QLzcrOTc5SFJNUTEx
MXdUbzBlUGJuNDMrU3RmK1VvODlOQkRkWld2VXB0MFJybCtyTGEvU25OTnJYVWEKTUdCQURCMDZO
TWFQSHgvcnJMTk9mUHpqSDQ4RER6d3cvdXUvL3F0NW5RMDMzREEyM1hUVDJHZWZmV0tycmJhS3d3
NDdyT3oySy9WYgp1ZWVVMm42MSt0VlN4MnJ6ZjZXeVZtdVhTdnV1ZEt3MUtYYzV4RC8vK2M4NDlk
UlRJeUxpbGx0dWlURmp4alF2cTNZOHROeG1xVEZTCno5elVwSlk1djlTK0t0V3owcnpWVXFYK21U
SmxTc3ljT1ROZWV1bWxpSWg0N0xISFlyZmRkbXRlWG0wK0tGVythdTI3MjI2N3hmSEgKSHgvNzdM
TlBUSnc0TVlZT0hWcXkzSldPalZMSGVxbkhxdlZWcWVmVWV2NVFxWjdWMnEzZTE4OXE2OWY3MmxD
dGp6cHlUaEJSZmp4Mgo5emxNUjhyYzBYT1ljdWVMdGZaQkxmTmFSOXVpSTY4YlRlMVZ5empQcWJr
SHAwK2ZIbSs4OFVZY2RkUlJFVkZjNzdka3laSzQ3cnJyCnFwN2NsN1B1dXV2R3pKa3o0L0RERDQ4
Wk0yYkVyMzcxcXhnN2Rteno4ZzkrOElPeCsrNjd4OVZYWHgxSEhubGtmUGpESDI3MS9QSGoKeDhl
c1diUGl5Q09QalBuejV6ZC92Ri9MdHR0cU9XaDIyV1dYK01VdmZ0SDg5OXk1YzJPWFhYYUowMDgv
dldxZG5uMzIyWGJYNysyNgo2NjV4NjYyM3h1clZxNXVYSFh6d3dYSGlpU2ZHUXc4OUZBc1hMb3lq
ampvcXpqdnZ2TGowMGt2amdRY2VpSXN2dnJpdXRtcHI0TUNCCnpSL1oxVnFtZXYzbEwzK0prU05I
dG5xc1g3OStOVjhmV2ExYzlaVDcwVWNmamJsejU4YVpaNTRabTIrK2VjWDlWaXRmeTdhTHFMMy8K
Sy9YUjJtdXZIU2VmZkhKTW5EZ3hOdHRzczRxWFNyUzkxbnpnd0lIeDl0dHYxMVdXV3N0VnEvNzkr
emQvRlB2a2swKzJLbVBMazZaNgp5bGRQbTNSRTIzNnN0TDlLYzAxSDJyeko3cnZ2SGhkZGRGRTBO
alkyWDFmY3IxKy9WaStPbGJaZnJ0OHFQYWZ0OXF2VnI1WTZWcHYvCjZ6M0dXclpMcFgxWE90WmFQ
dFpXUTBOREhITElJVEZzMkxEWVo1OTk0cHh6em9tenp6NjcxVHFWam9kcWMwUkg1dFI2NS94U2Rh
cWsKN2ZIZVVxWCtHVDkrZkd5Ly9mWng2YVdYeHRlLy92WFlkTk5OcSs2cjVYeFFybnpWeHZlVUtW
UGkwa3N2amVlZmY3N3NmcW9kbDZXTwo5YmFQMWRKWGJaOVR6L0Zjenp6V3N0M3FmZjJzdG41SDVx
bnVtSVBMbGI4dm5jT1VPMStzdFE5cW1kZGFxcWN0S3JWenZjZElxWEdlClU3K0lpTmRlZXkyV0xs
MGFOOTU0WTF4enpUVnh6VFhYeE0wMzN4eTc3YlpiWEhUUlJSMitFWFh4NHNVeGZ2ejRlT3FwcDJM
SEhYZU0KQ1JNbU5KOW9OVG4rK09QajJtdXZqUnR2dkRFT1B2amdWc3V1dlBMS2FHaG9pTzkvLy9z
eGFOQ2d1UExLSyt2YWRqbnZ2UE5PYkxmZApkczEvNzdqamp1MitFdTJOTjk2SWhRc1h0bnZ1WnB0
dEZrOC8vWFFzV2JLaytiRzExMTQ3Um93WTBlcWdHVHg0Y0J4NjZLRngxVlZYCnhkMTMzeDNmL2U1
M1kvVG8wWEh1dWVmR3FGR2pPdFJXNWRSYXBucU5HalVxWnMrZTNlRkpxMXE1NmluM2w3NzBwZGhy
cjczaW9JTU8KYW5mdlIyZlYydi9sK21qZXZIbXg1NTU3eHJlLy9lMzQ1Q2MvbWFVc3RaU3JvNFlP
SFJxLytjMXZXdlg3a2lWTDRwMTMzcW01ZkYzWgpKcldvWlgvbDVwcU90SG1UT1hQbXhMYmJibHZ4
cHNaeTI1ODdkMjdaZnV0SW1Tck5wWlcyVjh2OFgrOHgxckpkS3UyNzByRldpNzMyCjJpdk9PT09N
K043M3ZoZTMzMzU3OCtPZFBmNDZNcWZXTytkM3BXcjljOG9wcDhUMDZkUGoybXV2alVNUFBiVFQr
NnVsZmM4Ly8vejQKOFk5L0hOLzYxcmZpSC8vNFI4bDFPalAybW5Ta3IybzluanR6SE5YNytsbHQv
WHJiS3ZjYzNCZlBZU0phbnkvVzJnZWRtZGVxdFVXbApkdTZLOFpSVHY0aUl5eTY3TEE0ODhNQjJD
NDg1NXBoNDVwbG40bzQ3N29pSWlOV3JWN2RMUzZVZWF6Sm56cHk0Kys2N1k1Tk5Ob2xiCmJya2xC
ZzhlM0h4SlZaUDk5OTgvSWlJV0xWclU3dEthNzMvLysvRzk3MzB2empubm5OaDk5OTFqblhYV3FX
dmJMYlVNVWZmY2MwOU0KbVRLbCtlL1BmZTV6Y2ZmZGQ4ZlpaNThkUzVZc2laZGZmamt1dmZUUzJH
aWpqZHJWNytDREQ0NUJnd2JGNzM3M3UrYkhIbm5ra1RqNgo2S1BiN2ZQWVk0K05HMis4TVhiYmJi
ZG9hR2lJWTQ4OU5pNjQ0SUk0L1BERDYyNnJGU3RXTk44MEdCR3hjdVhLNXI5cktkT1dXMjRaClR6
NzVaRVFVN3dyMDY5ZXZYWHUxcmV1a1NaUGl6VGZmakZ0dXVTVWlJcFl1WFJwTGx5NHQyODcxdGxX
dGJkblVkei85NlU5anlaSWwKOGRXdmZyWGsvaU9LazRERml4Zkh1KysrRysrKysyNUVWRzY3aU1y
OTMxSzVQbnJ3d1FmajlkZGZqM2ZmZlRkV3Jsd1pjK2JNYWZXdApJNDJOamEyT3YrWExsN2Rhdm5y
MTZ1YmxsY3F5ZVBIaXVQVFNTNXR2SnExV3JpWXJWcXhvRjlyYVRzZ3JWNjVzTHNQRWlSTmo4ZUxG
CmNjWVpaOFN5WmN2aVQzLzZVMXgxMVZYeHZ2ZTlyK2EycXRRbTljNGpMZXRScmgrcjlVRkUrYm1t
MWpvMWFYa1Q0MzMzM1JmZitNWTMKV2kxdmJHeHMxZDdsdHI5bzBhS3kvVmFwVEcyM1g2MSsxYlpY
eS94ZnkzeGJybDBxN2J2U3NSWlJlankvOGNZYjBkalkyUHlpZS9iWgpaOGVuUC8zcE9Qend3MlBP
bkRrUlVmbDRLRGRIdEd6VGV1YjVsbXFaODB1Tng0N01XeTFWNjUrRERqb28xbGxubmZqdGIzOGJX
MjY1Clpidm5WNW9QU3BXdjJuaTcvZmJiNHlNZitVaWNmUExKc2NzdXU1UzlpcUxhMkN0MXJMZDly
SmErYXZ1Y1dzOGZxdFd6VXJ2VisvcFoKYmYxcWJmWDIyMiszT3NHdFZ2WnE1d1NsNXVSU3gybXRi
ZHJaYzVpT2xMbmVQbWhTN255eDF0ZUthdk5hWjlxaVVqdFhLMSsxY2Y3bQptMi9HTmRkY2srK2I3
YTY3N3JxMDdycnJwbTkrODV2cGpUZmVhTDQ1WlBIaXhXbktsQ2twSXRLb1VhUFNWVmRkbGJiZmZ2
dTB3UVliCk5OOVk5K2lqajdaN3JLV0hIMzQ0N2JqamptbldyRm5wNXB0dlRsT25UaTE1SThvWlo1
eVJIbjMwMFhhUFQ1NDhPVVZFR2pKa1NCbysKZkhnYU8zWnN1dSsrKytyYWRrb3BuWGJhYVduY3VI
SHBvb3N1U2hNblRreVhYWFpadTNWT1AvMzAxTDkvL3pSMDZOQjB5Q0dIcEhuego1cFd0MzUxMzNw
bkdqQm1UWnN5WWtjNDY2NngwM0hISHBYZmVlYWZrdmc4NDRJQzBhdFdxbEZKS1M1Y3VUY2NjYzB6
SjlTclY1K2FiCmIwNFJrZmJlZSsvMDhzc3ZwMW16WnFXR2hvWTBZY0tFdEhEaHdwcktkTU1OTjZS
Qmd3YWxUMzNxVStuNjY2OVBXMjIxVlRyeHhCT2IKYjVJcVY5Y2YvZWhIYWNpUUlXblBQZmRNSjUx
MFVobzVjbVE2NnFpajBrc3Z2ZFNxL0IxdHEyckxaODJhbFFZT0hKajIzSFBQOU95egp6NmJMTDc4
OFJVU2FOR2xTbWp0M2JydDJQT2VjYzlMUW9VUFREMy80dzdScTFhcWEyaTZsMHYxZmF4Lzk4NS8v
VEtOR2pVcWpSbzFLClo1NTVadnJ1ZDcrYk50NTQ0M1Q3N2JlbjJiTm5wMkhEaHFXeFk4ZW1PWFBt
cEFjZWVDQnRzc2ttYWZUbzBlbC8vL2QvMDJPUFBaYTIKM0hMTDlLRVBmYWo1SnRweVpibmpqanRT
UktSVFR6MjE1bVBuMFVjZlRSLzk2RWZUZXV1dGwrNjY2NjZVVWtyMzMzOS9ldC83M3BkMgozWFhY
TkcvZXZEUno1c3dVRWVsem4vdGM4NWM4WEhMSkpXblFvRUdwWDc5K2FkeTRjZW5WVjErdHE2M0t0
Y20wYWRQcW5rZFNxajRHCkt2VkJTK1htbWxycWxGSktXMnl4Ulpvd1lVTDY4WTkvblBiZWUrOTA4
c2tucDhiR3h1YmxOOTEwVXhvNGNHQWFPM1pzbWoxN2RzWHQKVjV2RFNqMm4zUGFyMWEvYzltcWQv
NmRQbjE2eHJOWGFwVkw3VmpyVzJvN25HVE5tcEpFalI2YUlTRi8vK3RlYmJ5NTk1WlZYMG9nUgpJ
OUptbTIyV2JydnR0b3JIUTl0dGxob2pLZFUzejdkVWFjNHZ0NitPemx0TmFuazlQT2VjYzlMVlYx
L2Q3dkZhNW9PMjVhdlV2ci85CjdXL1QxbHR2M2R3MzA2Wk5TeEdSdnZuTmJ6YS8zclJVN3Rnb2Rh
eVhPLzRyOVZXcDU5UjYvbENwbnJXMFc2MnZuMDJxclYrdXJXYlAKbnAwKzlyR1BwZjc5KzZlcnI3
NDZMVnUyck9xY1dPbWNvTnljM1BZNGFLbTd6MkU2V3VaNis2RGErV0t0cnhYbDVyWE90a1ZIWGpk
UwpxbTJjMzN2dnZTa2kwdE5QUDEyeVRsMHRxcS9TY2UrKysyNUtxYmlMdituL1MxbXhZa1c3eDFh
dFdwWE9QdnZzOU9LTEw2WS8vL25QCjZYLys1My9TYmJmZGx2YmZmLys2dHQya3NiR3gxUXRiS2N1
V0xVdUxGeSt1dXEybThqMzExRk5wMGFKRkZkZHJXN2RTZFUycC92cDAKcEV6TGxpMUxxMWV2VGlr
VjM4cFNxeFVyVmpTZm5OVHlBbHh2dVdwdHkxcFYrcGFzU3FyMWY2VSthbXhzYk5VMjliUnZQV1Y1
NFlVWAowaFZYWEZGenVUcGoxYXBWelJOVHJlVnJxYXZicEpwYTlsZHUvS1ZVVzUyMjJHS0xOSDM2
OVBUYWE2K2w1Y3VYMTFXK3R0dXZwZC9xCm1aTlNxbHkvam15dlNiV3kxdEl1bGZaZDZWanI2SGl1
ZER6VXVzMk96RTIxenZsdGRiU2VLZFYyTEoxd3dnbWQya2ZiNTNibCtPN28KY2RsU1BYMVZ6NXpa
MlhyVysvcFpiZjE2MnFwYTJUdHlUbER1R01weERwTlN4OHBjYng5VU8xK3N0UThxeld1MVBMZFVX
M1RINjBaTApIUzF2UnpTazFBVy9OTllOemp2dnZIajg4Y2VidjFVa292aUkvL3p6ejQvdmZPYzdQ
Vmd5NkJrclY2Nk1LNjY0SXI3ODVTKzMrekUyCjh0aHl5eTNqMjkvK2RoeHp6REU5WFpSZVJidjBU
bSs5OVZhODhNSUwwZGpZR0RmY2NFUDg0QWMvNk9raUFVUkVSSzhOSU04OTkxeDgKNWpPZmlaRWpS
OGEyMjI0YkF3Y09qRTAyMlNST1BmWFVHRFJvVUU4WEQ3Skx4U2VXTmY4eUxsMXIzcng1OGNFUGZq
QysrTVV2eHNVWApYOXpxUisvZXk3Ukw3M1hCQlJmRVNTZWRGR1BIam8yNzc3NDdoZzBiMXRORkFv
aUlYaHhBbWp6MzNIUFIwTkFRVzIyMVZVOFhCWGdQCnUvLysrNXR2emhzK2ZIaDg5S01mN2VFUzlR
N2FwZmRhdVhKbFBQMzAwL0d2Ly9xdlBWMFVnRlo2ZlFBQkFBRDZEdGR5QUFBQTJRZ2cKQUFCQU5n
SUlBQUNRalFBQ0FBQmtJNEFBQUFEWkNDQUFBRUEyQWdnQUFKQ05BQUlBQUdRamdBQUFBTmtJSUFB
QVFEWUNDQUFBa0kwQQpBZ0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlBQUNRalFBQ0FBQmtJNEFBQUFE
WkNDQUFBRUEyQWdnQUFKQ05BQUlBQUdRamdBQUFBTmtJCklBQUFRRFlDQ0FBQWtJMEFBZ0FBWkNP
QUFBQUEyUWdnQUFCQU5nSUlBQUNRalFBQ0FBQmtJNEFBQUFEWkNDQUFBRUEyQWdnQUFKQ04KQUFJ
QUFHUWpnQUFBQU5rSUlBQUFRRFlDQ0FBQWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlBQUNR
alFBQ0FBQmtJNEFBQUFEWgpDQ0FBQUVBMkFnZ0FBSkNOQUFJQUFHUWpnQUFBQU5uMGk0YUc2QlAv
ZW9NTEx1ajVkdWlLZnkrKzJOTXRXWlNocDl1aEsvNWRjRUZQCnQyU2hwOXVocS80QkFHdThBUkVS
TDBiRUl6MWNrSTc2UkVSczJ0T0ZhR05tVHhlZ2d6YUxpSC9yNlVLME1Uc2lYdWpwUW5UUXBKNHUK
UUJ2R09RRFFHd3lJS0U1S0p2ZHdRVHBxUnZTK0U3MDF0UzBuUmRHZXZjbjVzZVlHdXRUVEJXakRP
QWNBZWdQM2dBQUFBTmtJSUFBQQpRRFlDQ0FBQWtJMEFBZ0FBWkNPQUFBQUEyUWdnQUFCQU5nSUlB
QUNRalFBQ0FBQmtJNEFBQUFEWkNDQUFBRUEyQWdnQUFKQ05BQUlBCkFHUWpnQUFBQU5rTTZJNk45
dXNYc2NVV0VadHZIakYwYVBIWTY2OUgvUDN2RWZQblJ6UTJkc2RlKzY3aHd5TzIzcnI0NzhDQkVj
dVgKUnl4WUVERjNic1RiYi9kMDZkWXM2NndUc2UyMkVTTkdSQXdlSExGeVpjU2lSUkhQUGh1eGNH
RlBsMjdOWXB3REFCM1JaUUZrdmZVaQpKaytPbURneDRwT2ZMUDR1WmVuU2lBY2ZqTGp0dG9nWk00
cS9hYTJoSVdMOCtLSTlKMHdvVHZCS1diMDY0b2tuSW43em00Z2JiNHo0CjI5L3lsbk5Oc2MwMkVZ
Y2VHckh2dmhFNzdCRFJ2My9wOWY3Kzk0ai8vdS9pdUx6dnZvaVU4cFp6VFdDY0F3Q2QxZWxMc0Ri
WUlPSzgKOHlKZWZESGl5aXVMazd4eUp5VVJ4Yko5OXkzV2ZmSEY0cmtiYk5EWlV2UU5EUTBSUnh3
Uk1XZE94TDMzUmh4OWRQbndFVkdjU08rMApVOFJaWnhYUHVlT080Z1Nid2c0N0ZHMHlaMDdSUmp2
dFZENThSQlJ0ZmZUUlJkdlBtVlAwUlVORHZ2TDJac1k1QU5CVk9oVkFEam1rCnVBem8xRk1qMWwy
My91ZXZ1Mjd4M0xsemkyMjlsNDBlSGZISUl4SFhYbHU4WTErdmhvYmloTy94eHlNdXZqaGkwS0N1
TCtPYVl0Q2cKb2cwZWY3eG9rNDZFaUcyMktmcmlrVWVLdm5rdk04NEJnSzdVb1FBeVlFREVGVmRF
L09JWEVSdHUyUGxDYkxoaHNhMHJyaWkyL1Y1egp3QUhGeWZMT08zZCtXLzM2UmZ6SGYwVE1ubDFj
bi85ZXM4VVdSZDMvNHorS3R1aXNuWGN1K3VhQUF6cS9yVFdOY1E0QWRJZTZUOUhXCldpdmlsbHNp
dnZLVnJpL01WNzVTYkh1dHRicCsyNzNWTWNkRXpKeFozQkRkbGNhTWlYajQ0WWp0dHV2YTdmWm0y
MjFYMUhuTW1LN2QKN3VEQlJSOGRjMHpYYnJjM004NEJnTzVTZHdENStjOGovdjNmdTZFay85Ky8v
M3V4ai9lQ0F3NkkrT2xQdSs4K2d4RWppcHVxUjR6bwpudTMzSnQxZDE0YUdvcS9lSzUrRUdPY0FR
SGVwSzRDY2VHS2VhN2dQT2FUWVYxODJlblJ4ajBGMzMrUzgyV2JGdHhCVnV2bDZUZGUvCmYxSEh6
VGJyM3YwME5CUjkxdGZ2Q1RIT0FZRHVWSE1BMlc2N2lLbFR1N01vclUyZFd2eGVRMS9VMEZDOCs5
dlZsMTJWczl0dWZmdEUKNzhRVGl6cm1NSGh3MFhkOTlkdXhlbUtjdjVjdUV3UUE2Z2dnMDZaRnJM
MTI1WFVXTENqK2xiTnNXZkdEYjdYOFFObmFhMGY4NUNlMQpsbTdOY3ZqaDFXODRyOVpXalkzRjh1
WExhOXZuV1djVlAyVFkxd3dmWHRTdGtscmFxdHF4MjlMT094ZDkyQmYxeERpZk5xMitNZ0lBCmE3
YWFBc2dPTzBUc3QxLzU1WTJOeFc4bXZQLzl4Yjh2ZmFuOXljZE5OMFZzc2tueDlhWWYrbERFdkhu
Vjk3dmZmbjN2ZHkwYUdpTE8KUExQeU90WGFhdDY4aU8yM0w1WnZ2SEd4ZmpWRGh2VE5UMEZPUExH
b1d6blYycXFXWTdlVU04L3NlNStDR09jQVFBNDFCWkRqajYrOAovRmUvaXJqKyt2LzcrN3JyaXNl
YUxGdFdmSU5RMHp2UWYvMXJ4SlFwdFJXdzJyN1hOT1BIVi82ZGoxcmFhc3FVNG9meUlvcjFXcTVm
CnlkRkg5NjJ2UHgwd29LaFRKZFhhcXRxeFc4NDIyeFI5MlpjWTV3QkFEbFVEU1AvKzFiLzU1OWxu
S3orMllFSDdFK1JTenlubGdBUDYKMWczVWt5ZFhYbDVMVzdYOWUvbnkyaTRmR2o0OFl0eTQ2bUNr
ekRnQUFCSVdTVVJCVk91dEtjYU5xMzVaV2JXMnFuYnNWbEt0TDljawp4amtBa0V2VkFQS3hqMFZz
c0VIbGRmYmFxL1dQdnZYclZ6eldaTlNvOWplYTdydHZiUVhjWUlPaURIM0ZoQW1WbDlmU1Z2dnMw
L3J2CjBhTWp0dHFxYS9hL0pxbWxMdFhhcXRxeDI5bjlyeW1NY3dBZ2w2b1g1T3kwVS9XTjdMaGo4
Y05pVFRlVG5uSks4VmlUZnYwaTdycXIKdUJ6ajJXZUxrNUpxTnc2M0xjTWYvbEQ3K3IzVjhPRVJt
MjllZVoxYTJ1cnNzNHYvM25sbnhOWmJSNXgzWHUyLytsMUxmNjRwYXFsTAp0YmFxZHV4V3N2bm1S
Wjh1WEZoWHNYc2w0eHdBeUtWcUFObDY2OW8yOVBuUEYvL0syWExMNHRla082TFdNdlIydGRhalds
c05IQmp4Cmd4OFUvK3BWNmY2VE5VMHRkYW1scmFvZHU1VnN2WFhmQ0NER09RQ1FTOVgzelh2RFY3
ZjJoakowaGQ1UWo0MDI2dWtTZEozZVVKZmUKVUlhdTBCdU96ZDVRQmdDZysxVU5JQU1INWloRzd5
OURWK2dOOWVnTlplZ3F2YUV1YTYzVjB5WG9HcjJoTFh0REdRQ0E3bGMxZ0x6MQpWbzVpOVA0eWRJ
VmFmelN3Ty9XVnRvem9IWFhwRFgzYUZYcERXL2FHTWdBQTNhOXFBSG41NVJ6RjZQMWw2QXExL3RK
MmQrb3JiUm5SCk8rclNHL3EwSy9TR3R1d05aUUFBdWwvVkFQTDAwem1LMGZ2TDBCWG16bzFZdmJw
bnkvRE1NejI3LzY3VTAzVlp2YnJvMDc2Z040eXgKM2xBR0FLRDdWUTBnanp5U294aTl2d3hkNGUy
M0k1NTRvbWZMOFBERFBidi9ydFRUZFhuaWlhSlArNExlTU1aNlF4a0FnTzVYTllETQptMWY5bmVa
WFgrMTRBYW85OTVsbmlqTDBGYi81VGVYbEsxZEdMRm5Tc1czWDBnL1Y5cjhtcWFVdUhUMDJseXdw
K3FLeisxOVRHT2NBClFDNDEvWHpkOWRlWFg3WmtTY1F1dTBSTW5semZEYm5MbHhmUDJXV1h5aWZj
bGZhOUpycnh4b2lVeWkvLzJ0ZUtIMlI3OHNuNnRqdDkKZXZFYkRQZmNVMzZkSjU2SWVPcXArcmJi
bXozMVZPVlBsTzY1cDJpVDZkUHIyKzZUVHhaOThMV3ZsVjhucGFJdit4TGpIQURJb2FZQQpjdVdW
cFU4Nkdoc2pKazJLZVA3NTRzZkhoZ3lKYUdpbzdkK1FJY1Z6bm4rKzJFWmpZL3Z0TDE5ZTdMc3Yr
ZHZmaWwvbExtWDY5T0xmCjg4OUhmT1FqdGJkbFEwUEVWNzVTWEE0MGVYTHgvRkl1dkxENzZ0VlR5
dFhwK2VlTHRuajc3YUp0Nm1uTGozeWtlSDVUZjVSeTU1MUYKWC9ZbHhqa0FrRU5OQVdUUm90SW5l
dlBuZDgyTm8wOC9YV3lyclFzdkxQYmQxM3puTzZWUHhPNjRvL1BiWHJZczRvRUgyai8rekROOQo3
eDM3aUtKT3BTNGRldUNCb2kwNnExU2ZORFlXZmRqWEdPY0FRQTQxQlpDSWlLbFQyNyt6dnRWV0VY
LzhZOFFuUHRIeEFuemlFOFUyCnR0cXE5ZVBQUDEvc3N5OTY0b21JeXk1ci8vaHR0MFZNbWRMeDdR
NGJWcnd6ZitTUnJSOVBLZUw0NDN2K0c3aTZ3K3JWUmQzYVh0WjIKNUpGRld3d2IxdkZ0VDVsUzlF
bGJsMTNXODE4bTBGMk1jd0NndTlVY1FKWXZqemowMFBZMzVvNFlFZkg3MzBjY2MwejlPei9tbU9L
NQpJMGEwZm56bHltSmZmZVZIM2tvNTdiVDI5M24wNnhmeG94OUYzSHh6eE9EQjlXMXZ6SmlJeHg2
TCtPeG4yeS83MFk4aTdyKy80Mlh0CjdlNi92NmhqVzUvOWJORW1ZOGJVdDczQmc0cysrTkdQaWo1
cDZja25pNzdycTR4ekFLQzcxUnhBSWlKbXo0NDQrdWoyN3phdnRWWngKcmZ4UGYxcjhmelZyclZX
c08zMTYrL1ZUS3ZZeGUzWTlKVnZ6dlBWV3hPYytWL3FIN0NaUExyNlN0TzI3eGVWTW1sU3NQMnBV
KzJXMwozaHB4eGhtZEsrdWE0SXd6aXJxMk5XcFUwVGFUSnRXMm5hMjJLdGFmUExuOXNnVUxpajdy
NjcvWWJad0RBTjJwcmdBU1VYeGJ6VEhICmxMNmM1OWhqUzcvVDJWTFRPNm5ISHR0KzJlclZ4YmJm
SzkrSU0zOSt4S2MvSGZIQ0MrMlhqUmtUOGZqakVYdnVXZjc1L2ZwRm5IdHUKeEl3WnBUOHh1ZlhX
aUlNUExuMi9TVi9UMkZqVXRWUUlHVHk0YUtOenoyMy9pVVpMZSs1WnRIbXBUMHhlZUtIb3ExTDNN
UFJGeGprQQowRjNxRGlBUkVWZGZIYkh2dmhHdnZkWitXZE8xM3FXdUY2KzA3TFhYaW0xZWZYVkhT
clRtbWpNbll1ZWRJeDU2cVAyeVljTWk3cnFyCjlDVS9UZmQ3bEZxV1VuR3lmZUNCMVgvTG9pOVp1
YktvODdubmx2NnE0OU5PSzM5ZnlHbW5GVzFkYXRsRER4VjlOR2RPMTVlNU56UE8KQVlEdTBLRUFF
bEg4eHNLSFAxeThzOXhXcVhjL0s3MXJldlBOeGJZcS9ZWkZYN1pnUWNRZWUwU2NlbXI3YjI1cStw
U2o1WDBoVForTwpsTHJmNDVsbmluZnFUei85dmZISlIxdU5qVVhkUC8zcDB0K08xZmEra0tiN1BV
cDlPckpzV2RFbmUreFIrbEs1OXdMakhBRG9haDBPCklCRVJyN3dTY2RCQkVXUEhSdnpxVnhHclZ2
M2ZzcWJydjF2K2Eza2QrS3BWeFhQR2ppMHVuWG5sbGM2VVpNMjNlblhFdEduRlBRaFQKcDBZc1hO
aDZlZE45SVNlY1VQcitrQ2VlaVBqU2w0b1Q2NzU4dzNtdDdyKy9hSXN2ZmFuOU4xWTEzUmZTMUpa
dDcvZFl1TERvZzYyMgpLdnFrTDM1N1dEMk1jd0NnS3pXa2lEUXpJa3JjYzF1M2pUWXFMcS9ZZmZl
SWozNDBZdlBOSTlaZnYxajJ4aHNSZi85N3hKLy9YSndjCi91WTNYZlBkL3pNaVlsSkU1WjhYeitX
Q0N5Sk9PaWthdW1CVEF3Y1c3K0pQbUZEOEt2YzIyeFR0TzNCZ2NSUDB5eThYNy9BLy9IRFIKbGwz
eEMrZVRvbWpQZU9HRmlFMDM3ZndHTytQRkZ5TTIyeXdtUjhUTUx0amNoejVVSEp1NzdCTHh3UTlH
dlAvOUVZTUdGU2ZJaXhZVgpQeXI0K09NUi8vM2ZFYi83WGNTNzczWitueWtpNHZ6ekkwNDhzZk1i
NjZ5R2h1anVjZDdRRVBINjYrK0JjUTRBZE1xQXJ0ellva1VSCjExNWIvS056VnEyS3VQZmU0aCtk
OTlSVFhSUFNNTTRCZ003cDFDVllBQUFBOVJCQUFBQ0FiQVFRQUFBZ0d3RUVBQURJUmdBQkFBQ3kK
RVVBQUFJQnNCQkFBQUNBYkFRUUFBTWhHQUFFQUFMSVJRQUFBZ0d3RUVBQUFJQnNCQkFBQXlFWUFB
UUFBc2hGQUFBQ0FiQVpFUkV5SwppTlREQmVsTHRHWFhtZEhUQmVoRGpITUFvRGNZRUpNbTlYUVor
bzV0dDQwKzBaNkRCdlYwQ1lveTlJVzIzSGJibmk1Qm9TKzBKUURRCkp6U2tsTHdwQ2dBQVpPRWVF
QUFBSUJzQkJBQUF5RVlBQVFBQXNoRkFBQUNBYkFRUUFBQWdHd0VFQUFESVJnQUJBQUN5RVVBQUFJ
QnMKQkJBQUFDQWJBUVFBQU1oR0FBRUFBTElSUUFBQWdHd0VFQUFBSUJzQkJBQUF5RVlBQVFBQXNo
RkFBQUNBYkFRUUFBQWdHd0VFQUFESQpSZ0FCQUFDeUVVQUFBSUJzQkJBQUFDQWJBUVFBQU1oR0FB
RUFBTElSUUFBQWdHd0VFQUFBSUJzQkJBQUF5RVlBQVFBQXNoRkFBQUNBCmJBUVFBQUFnR3dFRUFB
RElSZ0FCQUFDeUVVQUFBSUJzQkJBQUFDQWJBUVFBQU1oR0FBRUFBTElSUUFBQWdHd0VFQUFBSUJz
QkJBQUEKeUVZQUFRQUFzaEZBQUFDQWJBUVFBQUFnR3dFRUFBRElSZ0FCQUFDeUVVQUFBSUJzQkJB
QUFDQWJBUVFBQU1oR0FBRUFBTElSUUFBQQpnR3dFRUFBQUlCc0JCQUFBeUVZQUFRQUFzaEZBQUFD
QWJBUVFBQUFnR3dFRUFBRElSZ0FCQUFDeUVVQUFBSUJzQkJBQUFDQWJBUVFBCkFNaEdBQUVBQUxJ
UlFBQUFnR3dFRUFBQUlCc0JCQUFBeUVZQUFRQUFzaEZBQUFDQWJBUVFBQUFnR3dFRUFBRElSZ0FC
QUFDeUVVQUEKQUlCc0JCQUFBQ0FiQVFRQUFNaEdBQUVBQUxJUlFBQUFnR3dFRUFBQUlCc0JCQUFB
eUVZQUFRQUFzaEZBQUFDQWJBUVFBQUFnR3dFRQpBQURJUmdBQkFBQ3lFVUFBQUlCc0JCQUFBQ0Fi
QVFRQUFNaEdBQUVBQUxJUlFBQUFnR3dFRUFBQUlCc0JCQUFBeUVZQUFRQUFzaEZBCkFBQ0FiQVFR
QUFBZ0d3RUVBQURJUmdBQkFBQ3lFVUFBQUlCc0JCQUFBQ0FiQVFRQUFNaEdBQUVBQUxJUlFBQUFn
R3dFRUFBQUlCc0IKQkFBQXlFWUFBUUFBc2hGQUFBQ0FiQVFRQUFBZ0d3RUVBQURJUmdBQkFBQ3lF
VUFBQUlCc0JCQUFBQ0FiQVFRQUFNaEdBQUVBQUxJUgpRQUFBZ0d3RUVBQUFJQnNCQkFBQXlFWUFB
UUFBc2hGQUFBQ0FiQVFRQUFBZ0d3RUVBQURJUmdBQkFBQ3lFVUFBQUlCc0JCQUFBQ0FiCkFRUUFB
TWhHQUFFQUFMSVJRQUFBZ0d3RUVBQUFJQnNCQkFBQXlFWUFBUUFBc2hGQUFBQ0FiQVFRQUFBZ0d3
RUVBQURJUmdBQkFBQ3kKRVVBQUFJQnNCQkFBQUNBYkFRUUFBTWhHQUFFQUFMSVJRQUFBZ0d3RUVB
QUFJQnNCQkFBQXlFWUFBUUFBc2hGQUFBQ0FiQVFRQUFBZwpHd0VFQUFESVJnQUJBQUN5RVVBQUFJ
QnNCQkFBQUNBYkFRUUFBTWhHQUFFQUFMSVJRQUFBZ0d3RUVBQUFJQnNCQkFBQXlFWUFBUUFBCnNo
RkFBQUNBYkFRUUFBQWdHd0VFQUFESVJnQUJBQUN5RVVBQUFJQnNCQkFBQUNBYkFRUUFBTWhHQUFF
QUFMSVJRQUFBZ0d3RUVBQUEKSUJzQkJBQUF5RVlBQVFBQXNoRkFBQUNBYkFRUUFBQWdHd0VFQUFE
SVJnQUJBQUN5RVVBQUFJQnNCQkFBQUNBYkFRUUFBTWhHQUFFQQpBTElSUUFBQWdHd0VFQUFBSUJz
QkJBQUF5RVlBQVFBQXNoRkFBQUNBYkFRUUFBQWdHd0VFQUFESVJnQUJBQUN5RVVBQUFJQnNCQkFB
CkFDQWJBUVFBQU1oR0FBRUFBTElSUUFBQWdHd0VFQUFBSUJzQkJBQUF5RVlBQVFBQXNoRkFBQUNB
YkFRUUFBQWdHd0VFQUFESVJnQUIKQUFDeUVVQUFBSUJzQkJBQUFDQWJBUVFBQU1oR0FBRUFBTElS
UUFBQWdHd0VFQUFBSUJzQkJBQUF5RVlBQVFBQXNoRkFBQUNBYkFRUQpBQUFnR3dFRUFBRElSZ0FC
QUFDeUVVQUFBSUJzQkJBQUFDQWJBUVFBQU1oR0FBRUFBTElSUUFBQWdHd0VFQUFBSUJzQkJBQUF5
RVlBCkFRQUFzaEZBQUFDQWJBUVFBQUFnR3dFRUFBRElSZ0FCQUFDeUVVQUFBSUJzQkJBQUFDQWJB
UVFBQU1oR0FBRUFBTElSUUFBQWdHd0UKRUFBQUlCc0JCQUFBeUVZQUFRQUFzaEZBQUFDQWJBUVFB
QUFnR3dFRUFBRElSZ0FCQUFDeUVVQUFBSUJzQkJBQUFDQWJBUVFBQU1oRwpBQUVBQUxJUlFBQUFn
R3dFRUFBQUlCc0JCQUFBeUVZQUFRQUFzaEZBQUFDQWJBUVFBQUFnR3dFRUFBRElSZ0FCQUFDeUVV
QUFBSUJzCkJCQUFBQ0FiQVFRQUFNaEdBQUVBQUxJUlFBQUFnR3dFRUFBQUlCc0JCQUFBeUVZQUFR
QUFzaEZBQUFDQWJBUVFBQUFnR3dFRUFBREkKUmdBQkFBQ3lFVUFBQUlCc0JCQUFBQ0FiQVFRQUFN
aEdBQUVBQUxJUlFBQUFnR3dFRUFBQUlCc0JCQUFBeUVZQUFRQUFzaEZBQUFDQQpiQVFRQUFBZ0d3
RUVBQURJUmdBQkFBQ3lFVUFBQUlCc0JCQUFBQ0FiQVFRQUFNaEdBQUVBQUxJUlFBQUFnR3dFRUFB
QUlCc0JCQUFBCnlFWUFBUUFBc2hGQUFBQ0FiQVFRQUFBZ0d3RUVBQURJUmdBQkFBQ3lFVUFBQUlC
c0JCQUFBQ0FiQVFRQUFNaEdBQUVBQUxJUlFBQUEKZ0d3RUVBQUFJQnNCQkFBQXlFWUFBUUFBc2hG
QUFBQ0FiQVFRQUFBZ0d3RUVBQURJUmdBQkFBQ3lFVUFBQUlCc0JCQUFBQ0FiQVFRQQpBTWhHQUFF
QUFMSVJRQUFBZ0d3RUVBQUFJQnNCQkFBQXlFWUFBUUFBc2hGQUFBQ0FiQVFRQUFBZ0d3RUVBQURJ
UmdBQkFBQ3lFVUFBCkFJQnNCQkFBQUNBYkFRUUFBTWhHQUFFQUFMSVJRQUFBZ0d3RUVBQUFJQnNC
QkFBQXlFWUFBUUFBc2hGQUFBQ0FiQVFRQUFBZ0d3RUUKQUFESVJnQUJBQUN5RVVBQUFJQnNCQkFB
QUNBYkFRUUFBTWhHQUFFQUFMSVJRQUFBZ0d3RUVBQUFJQnNCQkFBQXlFWUFBUUFBc2hGQQpBQUNB
YkFRUUFBQWdHd0VFQUFESVJnQUJBQUN5RVVBQUFJQnNCQkFBQUNBYkFRUUFBTWhHQUFFQUFMSVJR
QUFBZ0d3RUVBQUFJQnNCCkJBQUF5RVlBQVFBQXNoRkFBQUNBYkFRUUFBQWdHd0VFQUFESVJnQUJB
QUN5RVVBQUFJQnNCQkFBQUNBYkFRUUFBTWhHQUFFQUFMSVIKUUFBQWdHd0VFQUFBSUJzQkJBQUF5
RVlBQVFBQXNoRkFBQUNBYkFRUUFBQWdHd0VFQUFESVJnQUJBQUN5RVVBQUFJQnNCQkFBQUNBYgpB
UVFBQU1oR0FBRUFBTElSUUFBQWdHd0VFQUFBSUJzQkJBQUF5RVlBQVFBQXNoRkFBQUNBYkFRUUFB
QWdHd0VFQUFESVJnQUJBQUN5CkVVQUFBSUJzQkJBQUFDQWJBUVFBQU1oR0FBRUFBTElSUUFBQWdH
d0VFQUFBSUJzQkJBQUF5RVlBQVFBQXNoRkFBQUNBYkFRUUFBQWcKR3dFRUFBRElSZ0FCQUFDeUVV
QUFBSUJzQkJBQUFDQWJBUVFBQU1oR0FBRUFBTElSUUFBQWdHd0VFQUFBSUJzQkJBQUF5RVlBQVFB
QQpzaEZBQUFDQWJBUVFBQUFnR3dFRUFBRElSZ0FCQUFDeUVVQUFBSUJzQkJBQUFDQWJBUVFBQU1o
R0FBRUFBTElSUUFBQWdHd0VFQUFBCklCc0JCQUFBeUVZQUFRQUFzaEZBQUFDQWJBUVFBQUFnR3dF
RUFBRElSZ0FCQUFDeUVVQUFBSUJzQkJBQUFDQWJBUVFBQU1oR0FBRUEKQUxJUlFBQUFnR3dFRUFB
QUlCc0JCQUFBeUVZQUFRQUFzaEZBQUFDQWJBUVFBQUFnR3dFRUFBRElSZ0FCQUFDeUVVQUFBSUJz
QkJBQQpBQ0FiQVFRQUFNaEdBQUVBQUxJUlFBQUFnR3dFRUFBQUlCc0JCQUFBeUVZQUFRQUFzaEZB
QUFDQWJBUVFBQUFnR3dFRUFBRElSZ0FCCkFBQ3lFVUFBQUlCc0JCQUFBQ0FiQVFRQUFNaEdBQUVB
QUxJUlFBQUFnR3dFRUFBQUlCc0JCQUFBeUVZQUFRQUFzaEZBQUFDQWJBUVEKQUFBZ0d3RUVBQURJ
UmdBQkFBQ3lFVUFBQUlCc0JCQUFBQ0FiQVFRQUFNaEdBQUVBQUxJUlFBQUFnR3orSCtWWUx6UFlD
OWJlQUFBQQpBRWxGVGtTdVFtQ0MKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12069</attachid>
            <date>2006-12-27 12:26:53 -0800</date>
            <delta_ts>2006-12-27 12:54:34 -0800</delta_ts>
            <desc>Smaller patch</desc>
            <filename>11108-transform.diff</filename>
            <type>text/plain</type>
            <size>51950</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4NDM3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDYtMTItMjcgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEltcHJvdmVkIHRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTExMDgKKyAgICAgICAgUmVwbGFjZSB1c2FnZSBvZiBzcGxpdCBieSBw
cm9wZXIgcGFyc2VycworICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTkwOAorICAgICAgICBXZWJLaXQgc3BlbmRzIDQwJSBvZiBpdHMgdGltZSBkaXNwbGF5
aW5nICJiYW1ib28uc3ZnIiBleGVjdXRpbmcgUmVnZXhlcworCisgICAgICAgICogc3ZnL2N1c3Rv
bS90cmFuc2Zvcm0taW52YWxpZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2N1c3RvbS90
cmFuc2Zvcm0taW52YWxpZC5zdmc6CisKIDIwMDYtMTItMjcgIEdlb2ZmcmV5IEdhcmVuICA8Z2dh
cmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6
IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdHJhbnNmb3JtLWludmFsaWQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vdHJhbnNmb3JtLWludmFsaWQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAxODQzNSkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vdHJh
bnNmb3JtLWludmFsaWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDMgKzMsMzEg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtz
dmd9IGF0ICgwLDApIHNpemUgMTAweDEwMAogICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAs
MCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2Rh
dGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCiAg
ICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAsMC4wMEwx
MDAuMDAsMTAwLjAwTDAuMDAsMTAwLjAwIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgw
LDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtk
YXRhPSJNMC4wMCwwLjAwTDEwMC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAiXQor
ICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBM
MTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAo
MCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBb
ZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAsMC4wMEwxMDAuMDAsMTAwLjAwTDAuMDAsMTAwLjAwIl0K
KyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5
cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4wMCwwLjAw
TDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAiXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQg
KDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0g
W2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJd
CisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAsMC4w
MEwxMDAuMDAsMTAwLjAwTDAuMDAsMTAwLjAwIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1d
IFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAi
XQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAu
MDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBh
dCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19
XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAsMC4wMEwxMDAuMDAsMTAwLjAwTDAuMDAsMTAwLjAw
Il0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4wMCww
LjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAiXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBd
fV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4w
MCJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9
e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAs
MC4wMEwxMDAuMDAsMTAwLjAwTDAuMDAsMTAwLjAwIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAw
XX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAu
MDAiXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAw
LDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAw
MF19XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAsMC4wMEwxMDAuMDAsMTAwLjAwTDAuMDAsMTAw
LjAwIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4w
MCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAiXQorICAgICAgUmVuZGVyUGF0aCB7cmVj
dH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgw
MDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEw
MC4wMCJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAu
MDAsMC4wMEwxMDAuMDAsMTAwLjAwTDAuMDAsMTAwLjAwIl0KKyAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4
MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwx
MDAuMDAiXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtm
aWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAw
LjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCisgICAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
ODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAsMC4wMEwxMDAuMDAsMTAwLjAwTDAuMDAs
MTAwLjAwIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEw
MC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAiXQorICAgICAgUmVuZGVyUGF0aCB7
cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAw
LDEwMC4wMCJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAg
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEwx
MDAuMDAsMC4wMEwxMDAuMDAsMTAwLjAwTDAuMDAsMTAwLjAwIl0KKyAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4w
MCwxMDAuMDAiXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAw
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBM
MTAwLjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCisgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
IzAwODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAsMC4wMEwxMDAuMDAsMTAwLjAwTDAu
MDAsMTAwLjAwIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEw
MCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAw
TDEwMC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAiXQpJbmRleDogTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS90cmFuc2Zvcm0taW52YWxpZC5zdmcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS90cmFuc2Zvcm0taW52YWxpZC5zdmcJKHJldmlzaW9uIDE4NDM1KQor
KysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90cmFuc2Zvcm0taW52YWxpZC5zdmcJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNyArMSwzNSBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRG
LTgiIHN0YW5kYWxvbmU9Im5vIj8+CiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQg
U1ZHIDEuMC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQv
RFREL3N2ZzEwLmR0ZCI+Ci08c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIg
d2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KKzxzdmcgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIg
dmlld0JveD0iMCAwIDIwMCAyMDAiPgogICAgIDwhLS0gQm90aCBvZiB0aGVzZSBwcmV2aW91c2x5
IGNhdXNlZCBjcmFzaGVzLCBidXQgbm93IHNob3VsZCBiZSBpZ25vcmVkLiAtLT4KKwk8cmVjdCB3
aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJmb28oMjAsMjApIiBmaWxsPSJncmVl
biIvPgogCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNjYWxlKCki
IGZpbGw9ImdyZWVuIi8+Ci0JPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHRyYW5zZm9y
bT0iZm9vKDEsMSkiIGZpbGw9ImdyZWVuIi8+CisJPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIx
MDAiIHRyYW5zZm9ybT0ic2NhbGUoMjAsMjAsMjApIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0IHdp
ZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNjYWxlKDIwLCkiIGZpbGw9ImdyZWVu
Ii8+CisJPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHRyYW5zZm9ybT0ic2NhbGUoMjAs
LCkiIGZpbGw9ImdyZWVuIi8+CisJPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHRyYW5z
Zm9ybT0ic2NhbGUoMjAiIGZpbGw9ImdyZWVuIi8+CisJPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0
PSIxMDAiIHRyYW5zZm9ybT0ic2NhbGUgMjApIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0IHdpZHRo
PSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNjYWxlKHIpIiBmaWxsPSJncmVlbiIvPgor
CTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgpIiBm
aWxsPSJncmVlbiIvPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09
InRyYW5zbGF0ZSgyMCwyMCwyMCkiIGZpbGw9ImdyZWVuIi8+CisJPHJlY3Qgd2lkdGg9IjEwMCIg
aGVpZ2h0PSIxMDAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwLCkiIGZpbGw9ImdyZWVuIi8+CisJ
PHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwLCwp
IiBmaWxsPSJncmVlbiIvPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zv
cm09InRyYW5zbGF0ZSgyMCIgZmlsbD0iZ3JlZW4iLz4KKwk8cmVjdCB3aWR0aD0iMTAwIiBoZWln
aHQ9IjEwMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUgMjApIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0
IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZShyKSIgZmlsbD0i
Z3JlZW4iLz4KKwk8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJza2V3
WCgpIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFu
c2Zvcm09InNrZXdYKDIwLDIwLDIwKSIgZmlsbD0iZ3JlZW4iLz4KKwk8cmVjdCB3aWR0aD0iMTAw
IiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJza2V3WCgyMCwpIiBmaWxsPSJncmVlbiIvPgorCTxy
ZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNrZXdYKDIwLCwpIiBmaWxs
PSJncmVlbiIvPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNr
ZXdYKDIwIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0
cmFuc2Zvcm09InNrZXdYIDIwKSIgZmlsbD0iZ3JlZW4iLz4KKwk8cmVjdCB3aWR0aD0iMTAwIiBo
ZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJza2V3WChyKSIgZmlsbD0iZ3JlZW4iLz4KKwk8cmVjdCB3
aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJza2V3WSgpIiBmaWxsPSJncmVlbiIv
PgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNrZXdZKDIwLDIw
LDIwKSIgZmlsbD0iZ3JlZW4iLz4KKwk8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJh
bnNmb3JtPSJza2V3WSgyMCwpIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhl
aWdodD0iMTAwIiB0cmFuc2Zvcm09InNrZXdZKDIwLCwpIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0
IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNrZXdZKDIwIiBmaWxsPSJncmVl
biIvPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNrZXdZIDIw
KSIgZmlsbD0iZ3JlZW4iLz4KKwk8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNm
b3JtPSJza2V3WShyKSIgZmlsbD0iZ3JlZW4iLz4KKwk8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9
IjEwMCIgdHJhbnNmb3JtPSJzY2FsZSgyMCksIHNjYWxlKDEpICAsIiBmaWxsPSJncmVlbiIvPgog
PC9zdmc+CkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0No
YW5nZUxvZwkocmV2aXNpb24gMTg0MzcpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDUxIEBACisyMDA2LTEyLTI3ICBSb2IgQnVpcyAgPGJ1aXNAa2RlLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRw
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTEwOAorICAgICAgICBSZXBsYWNl
IHVzYWdlIG9mIHNwbGl0IGJ5IHByb3BlciBwYXJzZXJzCisgICAgICAgIGh0dHA6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTA4CisgICAgICAgIFdlYktpdCBzcGVuZHMgNDAl
IG9mIGl0cyB0aW1lIGRpc3BsYXlpbmcgImJhbWJvby5zdmciIGV4ZWN1dGluZyBSZWdleGVzCisK
KyAgICAgICAgR2V0IHJpZCBvZiBzcGxpdCgpIHdoZW4gcGFyc2luZyB0cmFuc2Zvcm0gYXR0cmli
dXRlLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGtzdmcyL3N2Zy9TVkdQYXJzZXJVdGlscy5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6cGFyc2VOdW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VOdW1iZXJPcHRpb25h
bE51bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2x5UGFyc2VyOjpwYXJzZVBvaW50cyk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoUGFyc2VyOjpwYXJzZVNWRyk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQYXRoUGFyc2VyOjpjYWxjdWxhdGVBcmMpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUGF0aFBhcnNlcjo6c3ZnTGluZVRvSG9yaXpvbnRhbCk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdQYXRoUGFyc2VyOjpzdmdMaW5lVG9WZXJ0aWNhbCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQ
YXRoUGFyc2VyOjpzdmdDdXJ2ZVRvQ3ViaWNTbW9vdGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UGF0aFBhcnNlcjo6c3ZnQ3VydmVUb1F1YWRyYXRpYyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQ
YXRoUGFyc2VyOjpzdmdDdXJ2ZVRvUXVhZHJhdGljU21vb3RoKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1BhdGhQYXJzZXI6OnN2Z0FyY1RvKToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHUGFyc2Vy
VXRpbHMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjppc1doaXRlc3BhY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6c2tpcE9wdGlvbmFsU3BhY2VzKToKKyAgICAgICAgKFdlYkNvcmU6OnNraXBP
cHRpb25hbFNwYWNlc09yRGVsaW1pdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BvbHlQYXJz
ZXI6On5TVkdQb2x5UGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhQYXJzZXI6On5T
VkdQYXRoUGFyc2VyKToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6OlNWR1BhdGhFbGVtZW50KToKKyAgICAg
ICAgKiBrc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQuaDoKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZH
VHJhbnNmb3JtYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZVRyYW5zZm9ybVBhcmFt
TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdUcmFuc2Zvcm1hYmxlOjpwYXJzZVRyYW5zZm9y
bUF0dHJpYnV0ZSk6CisgICAgICAgICoga3N2ZzIvc3ZnL3N2Z3BhdGhwYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZHKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRlcHJlY2F0ZWRTVkdQYXRoUGFyc2VyOjpjYWxjdWxhdGVBcmMpOgorICAg
ICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZFNWR1BhdGhQYXJzZXI6OnN2Z0xpbmVUb0hvcml6b250
YWwpOgorICAgICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZFNWR1BhdGhQYXJzZXI6OnN2Z0xpbmVU
b1ZlcnRpY2FsKToKKyAgICAgICAgKFdlYkNvcmU6OkRlcHJlY2F0ZWRTVkdQYXRoUGFyc2VyOjpz
dmdDdXJ2ZVRvQ3ViaWNTbW9vdGgpOgorICAgICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZFNWR1Bh
dGhQYXJzZXI6OnN2Z0N1cnZlVG9RdWFkcmF0aWMpOgorICAgICAgICAoV2ViQ29yZTo6RGVwcmVj
YXRlZFNWR1BhdGhQYXJzZXI6OnN2Z0N1cnZlVG9RdWFkcmF0aWNTbW9vdGgpOgorICAgICAgICAo
V2ViQ29yZTo6RGVwcmVjYXRlZFNWR1BhdGhQYXJzZXI6OnN2Z0FyY1RvKToKKyAgICAgICAgKiBr
c3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5oOgorICAgICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZFNW
R1BhdGhQYXJzZXI6On5EZXByZWNhdGVkU1ZHUGF0aFBhcnNlcik6CisKIDIwMDYtMTItMjcgIE5p
a29sYXMgWmltbWVybWFubiAgPHppbW1lcm1hbm5Aa2RlLm9yZz4KIAogICAgICAgICBCdWlsZCBm
aXgsIG5vdCByZXZpZXdlZC4KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCShyZXZpc2lvbiAxODQzNSkKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMTk5LDYgKzIxOTksOCBAQAogCQlB
QTRDM0E3NzBCMkIxNjc5MDAyMzM0QTIgLyogU3R5bGVFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTRDM0E3NTBCMkIxNjc5MDAyMzM0QTIg
LyogU3R5bGVFbGVtZW50LmggKi87IH07CiAJCUFBQzhEQUIxMEFBMTAwMjAwMERDMDkwNyAvKiBT
VkdNZXRhZGF0YUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQUFDOERBQUYwQUExMDAyMDAwREMwOTA3IC8qIFNWR01ldGFkYXRhRWxlbWVu
dC5jcHAgKi87IH07CiAJCUFBQzhEQUIyMEFBMTAwMjAwMERDMDkwNyAvKiBTVkdNZXRhZGF0YUVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFB
QzhEQUIwMEFBMTAwMjAwMERDMDkwNyAvKiBTVkdNZXRhZGF0YUVsZW1lbnQuaCAqLzsgfTsKKwkJ
QUFDRjdDNEUwQjQyRUU2MDAwMDgwQkQ4IC8qIFNWR1BhcnNlclV0aWxzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUNGN0M0QzBCNDJFRTYwMDAwODBC
RDggLyogU1ZHUGFyc2VyVXRpbHMuaCAqLzsgfTsKKwkJQUFDRjdDNEYwQjQyRUU2MDAwMDgwQkQ4
IC8qIFNWR1BhcnNlclV0aWxzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEFBQ0Y3QzREMEI0MkVFNjAwMDA4MEJEOCAvKiBTVkdQYXJzZXJVdGlscy5j
cHAgKi87IH07CiAJCUFCMjNBMzEyMDlCQkE3NzYwMDY3Q0M1MyAvKiBIVE1MVGV4dEZpZWxkSW5u
ZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEFCMjNBMzEwMDlCQkE3NzYwMDY3Q0M1MyAvKiBIVE1MVGV4dEZpZWxkSW5uZXJFbGVtZW50
LmNwcCAqLzsgfTsKIAkJQUIyM0EzMTMwOUJCQTc3NjAwNjdDQzUzIC8qIEhUTUxUZXh0RmllbGRJ
bm5lckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEFCMjNBMzExMDlCQkE3NzYwMDY3Q0M1MyAvKiBIVE1MVGV4dEZpZWxkSW5uZXJFbGVtZW50
LmggKi87IH07CiAJCUFCMjNBMzI3MDlCQkE3RDAwMDY3Q0M1MyAvKiBCZWZvcmVUZXh0SW5zZXJ0
ZWRFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBQjIzQTMyNTA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3Bw
ICovOyB9OwpAQCAtNTE3MSw2ICs1MTczLDggQEAKIAkJQUE0QzNBNzUwQjJCMTY3OTAwMjMzNEEy
IC8qIFN0eWxlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5
bGVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBQzhEQUFGMEFBMTAw
MjAwMERDMDkwNyAvKiBTVkdNZXRhZGF0YUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNWR01ldGFkYXRhRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUFBQzhEQUIwMEFBMTAwMjAwMERDMDkwNyAvKiBTVkdNZXRhZGF0YUVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR01ldGFkYXRhRWxl
bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQUNGN0M0QzBCNDJFRTYwMDAw
ODBCRDggLyogU1ZHUGFyc2VyVXRpbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNWR1BhcnNlclV0aWxzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBQ0Y3
QzREMEI0MkVFNjAwMDA4MEJEOCAvKiBTVkdQYXJzZXJVdGlscy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUGFyc2VyVXRpbHMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBQjIzQTMxMDA5QkJBNzc2MDA2N0NDNTMgLyogSFRNTFRleHRGaWVs
ZElubmVyRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SFRNTFRleHRGaWVsZElubmVyRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUFCMjNBMzExMDlCQkE3NzYwMDY3Q0M1MyAvKiBIVE1MVGV4dEZpZWxkSW5uZXJFbGVtZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MVGV4dEZpZWxkSW5uZXJF
bGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFCMjNBMzI1MDlCQkE3RDAw
MDY3Q0M1MyAvKiBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtODAzNSw2ICs4MDM5LDggQEAKIAkJQThDMEY3RkMwODk3
MDFGMzAwQkE1MTE0IC8qIHN2ZyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCisJCQkJQUFDRjdDNEMwQjQyRUU2MDAwMDgwQkQ4IC8qIFNWR1BhcnNlclV0aWxzLmgg
Ki8sCisJCQkJQUFDRjdDNEQwQjQyRUU2MDAwMDgwQkQ4IC8qIFNWR1BhcnNlclV0aWxzLmNwcCAq
LywKIAkJCQlCMjA5NjRCRDBBQjc2RUY2MDBFNEM3NDAgLyogU1ZHQW5nbGUuY3BwICovLAogCQkJ
CUIyMDk2NEJFMEFCNzZFRjYwMEU0Qzc0MCAvKiBTVkdBbmdsZS5oICovLAogCQkJCUIyQ0I0MTFG
MEFCNzU5MDQwMDREOUM0NSAvKiBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmlkbCAqLywK
QEAgLTEwODUzLDYgKzEwODU5LDcgQEAKIAkJCQlFMTJFREI3QjBCMzA4QTc4MDAyNzA0QjYgLyog
RXZlbnRUYXJnZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUFCQzEyODc3MEIzM0FBNkQwMEM2OTNE
NSAvKiBQb3B1cE1lbnVDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQTEwQjkyMEIzODE4
QkQwMDA5OUFBNCAvKiBJbWFnZUJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQUFDRjdDNEUw
QjQyRUU2MDAwMDgwQkQ4IC8qIFNWR1BhcnNlclV0aWxzLmggaW4gSGVhZGVycyAqLywKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTEy
MTc3LDYgKzEyMTg0LDcgQEAKIAkJCQlCMjk3QkM3MDBCM0MxNENGMDA0NUE1OTAgLyogSlNTVkdQ
YXRoU2VnTGlzdEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNEM5QTVFQTBCM0QxMDVG
MDA1QTAyMzIgLyogU2V0dGluZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIwODBBMTIwQjND
QTNCNjAwMTIwODUyIC8qIEpTU1ZHUG9pbnRMaXN0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUFBQ0Y3QzRGMEI0MkVFNjAwMDA4MEJEOCAvKiBTVkdQYXJzZXJVdGlscy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJfTsKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhcnNlclV0aWxzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXJzZXJVdGlscy5jcHAJKHJldmlzaW9u
IDApCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXJzZXJVdGlscy5jcHAJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNTk0IEBACisvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIHByb2pl
Y3QKKyAgIENvcHlyaWdodCAoQykgMjAwMiwgMjAwMyBUaGUgS2FyYm9uIERldmVsb3BlcnMKKyAg
ICAgICAgICAgICAgICAgMjAwNiAgICAgICBBbGV4YW5kZXIgS2VsbGV0dCA8bHlwYW5vdkBrZGUu
b3JnPgorICAgICAgICAgICAgICAgICAyMDA2ICAgICAgIFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+
CisKKyAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3Vp
dGUgMzMwLAorICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaWZkZWYgU1ZHX1NVUFBPUlQKKyNpbmNsdWRlICJTVkdQYXJzZXJVdGlscy5o
IgorCisjaW5jbHVkZSAiU3RyaW5nLmgiCisjaW5jbHVkZSA8bWF0aC5oPgorI2luY2x1ZGUgPHd0
Zi9NYXRoRXh0cmFzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworYm9vbCBwYXJzZU51bWJl
cihjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIqIGVuZCwgZG91YmxlICZudW1iZXIsIGJv
b2wgc2tpcCkKK3sKKyAgICBpbnQgaW50ZWdlciwgZXhwb25lbnQ7CisgICAgZG91YmxlIGRlY2lt
YWwsIGZyYWM7CisgICAgaW50IHNpZ24sIGV4cHNpZ247CisgICAgY29uc3QgVUNoYXIqIHN0YXJ0
ID0gcHRyOworCisgICAgZXhwb25lbnQgPSAwOworICAgIGludGVnZXIgPSAwOworICAgIGZyYWMg
PSAxLjA7CisgICAgZGVjaW1hbCA9IDA7CisgICAgc2lnbiA9IDE7CisgICAgZXhwc2lnbiA9IDE7
CisKKyAgICAvLyByZWFkIHRoZSBzaWduCisgICAgaWYgKHB0ciA8IGVuZCAmJiAqcHRyID09ICcr
JykKKyAgICAgICAgcHRyKys7CisgICAgZWxzZSBpZiAocHRyIDwgZW5kICYmICpwdHIgPT0gJy0n
KSB7CisgICAgICAgIHB0cisrOworICAgICAgICBzaWduID0gLTE7CisgICAgfQorICAgIC8vIHJl
YWQgdGhlIGludGVnZXIgcGFydAorICAgIHdoaWxlKHB0ciA8IGVuZCAmJiAqcHRyID49ICcwJyAm
JiAqcHRyIDw9ICc5JykKKyAgICAgICAgaW50ZWdlciA9IChpbnRlZ2VyICogMTApICsgKihwdHIr
KykgLSAnMCc7CisKKyAgICBpZiAocHRyIDwgZW5kICYmICpwdHIgPT0gJy4nKSB7IC8vIHJlYWQg
dGhlIGRlY2ltYWxzCisgICAgICAgIHB0cisrOworICAgICAgICB3aGlsZShwdHIgPCBlbmQgJiYg
KnB0ciA+PSAnMCcgJiYgKnB0ciA8PSAnOScpCisgICAgICAgICAgICBkZWNpbWFsICs9ICgqKHB0
cisrKSAtICcwJykgKiAoZnJhYyAqPSAwLjEpOworICAgIH0KKworICAgIGlmIChwdHIgPCBlbmQg
JiYgKnB0ciA9PSAnZScgfHwgKnB0ciA9PSAnRScpIHsgLy8gcmVhZCB0aGUgZXhwb25lbnQgcGFy
dAorICAgICAgICBwdHIrKzsKKworICAgICAgICAvLyByZWFkIHRoZSBzaWduIG9mIHRoZSBleHBv
bmVudAorICAgICAgICBpZiAocHRyIDwgZW5kICYmICpwdHIgPT0gJysnKQorICAgICAgICAgICAg
cHRyKys7CisgICAgICAgIGVsc2UgaWYgKHB0ciA8IGVuZCAmJiAqcHRyID09ICctJykgeworICAg
ICAgICAgICAgcHRyKys7CisgICAgICAgICAgICBleHBzaWduID0gLTE7CisgICAgICAgIH0KKwor
ICAgICAgICBleHBvbmVudCA9IDA7CisgICAgICAgIHdoaWxlIChwdHIgPCBlbmQgJiYgKnB0ciA+
PSAnMCcgJiYgKnB0ciA8PSAnOScpIHsKKyAgICAgICAgICAgIGV4cG9uZW50ICo9IDEwOworICAg
ICAgICAgICAgZXhwb25lbnQgKz0gKnB0ciAtICcwJzsKKyAgICAgICAgICAgIHB0cisrOworICAg
ICAgICB9CisgICAgfQorCisgICAgbnVtYmVyID0gaW50ZWdlciArIGRlY2ltYWw7CisgICAgbnVt
YmVyICo9IHNpZ24gKiBwb3coMTAuMCwgZXhwc2lnbiAqIGV4cG9uZW50KTsKKworICAgIGlmIChz
dGFydCA9PSBwdHIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChza2lwKQorICAg
ICAgICBza2lwT3B0aW9uYWxTcGFjZXNPckRlbGltaXRlcihwdHIsIGVuZCk7CisKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKworYm9vbCBwYXJzZU51bWJlck9wdGlvbmFsTnVtYmVyKGNvbnN0IFN0cmlu
ZyYgcywgZG91YmxlJiB4LCBkb3VibGUmIHkpCit7CisgICAgaWYgKHMuaXNFbXB0eSgpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgY29uc3QgVUNoYXIqIGN1ciA9IHMuY2hhcmFjdGVycygp
OworICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBjdXIgKyBzLmxlbmd0aCgpOworCisgICAgaWYgKCFw
YXJzZU51bWJlcihjdXIsIGVuZCwgeCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlm
IChjdXIgPT0gZW5kKQorICAgICAgICB5ID0geDsKKyAgICBlbHNlIGlmICghcGFyc2VOdW1iZXIo
Y3VyLCBlbmQsIHkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gY3VyID09
IGVuZDsKK30KKwordm9pZCBTVkdQb2x5UGFyc2VyOjpwYXJzZVBvaW50cyhjb25zdCBTdHJpbmcm
IHMpIGNvbnN0Cit7CisgICAgaWYgKHMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisgICAg
Y29uc3QgVUNoYXIqIGN1ciA9IHMuY2hhcmFjdGVycygpOworICAgIGNvbnN0IFVDaGFyKiBlbmQg
PSBjdXIgKyBzLmxlbmd0aCgpOworCisgICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1ciwgZW5kKTsK
KworICAgIGludCBzZWdtZW50TnVtID0gMDsKKyAgICB3aGlsZSAoMSkgeworICAgICAgICBkb3Vi
bGUgeFBvcyA9IDA7CisgICAgICAgIGlmICghcGFyc2VOdW1iZXIoY3VyLCBlbmQsIHhQb3MpKQor
ICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgZG91YmxlIHlQb3MgPSAwOworICAgICAgICBp
ZiAoIXBhcnNlTnVtYmVyKGN1ciwgZW5kLCB5UG9zKSkKKyAgICAgICAgICAgIGJyZWFrOworCisg
ICAgICAgIHN2Z1BvbHlUbyh4UG9zLCB5UG9zLCBzZWdtZW50TnVtKyspOworICAgIH0KK30KKwor
dm9pZCBTVkdQYXRoUGFyc2VyOjpwYXJzZVNWRyhjb25zdCBTdHJpbmcmIHMsIGJvb2wgcHJvY2Vz
cykKK3sKKyAgICBpZiAocy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIGNvbnN0
IFVDaGFyKiBwdHIgPSBzLmNoYXJhY3RlcnMoKTsKKyAgICBjb25zdCBVQ2hhciogZW5kID0gcHRy
ICsgcy5sZW5ndGgoKTsKKworICAgIGRvdWJsZSBjb250cmx4LCBjb250cmx5LCBjdXJ4LCBjdXJ5
LCBzdWJwYXRoeCwgc3VicGF0aHksIHRveCwgdG95LCB4MSwgeTEsIHgyLCB5MiwgeGMsIHljOwor
ICAgIGRvdWJsZSBweDEsIHB5MSwgcHgyLCBweTIsIHB4MywgcHkzOworICAgIGJvb2wgY2xvc2Vk
ID0gdHJ1ZTsKKyAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyLCBlbmQpOyAvLyBza2lwIGFueSBs
ZWFkaW5nIHNwYWNlcworICAgIGNoYXIgY29tbWFuZCA9ICoocHRyKyspLCBsYXN0Q29tbWFuZCA9
ICcgJzsKKworICAgIHN1YnBhdGh4ID0gc3VicGF0aHkgPSBjdXJ4ID0gY3VyeSA9IGNvbnRybHgg
PSBjb250cmx5ID0gMC4wOworICAgIHdoaWxlICgxKSB7CisgICAgICAgIHNraXBPcHRpb25hbFNw
YWNlcyhwdHIsIGVuZCk7IC8vIHNraXAgc3BhY2VzIGJldHdlZW4gY29tbWFuZCBhbmQgZmlyc3Qg
Y29vcmQKKworICAgICAgICBib29sIHJlbGF0aXZlID0gZmFsc2U7CisKKyAgICAgICAgc3dpdGNo
KGNvbW1hbmQpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNhc2UgJ20nOgorICAgICAgICAgICAg
ICAgIHJlbGF0aXZlID0gdHJ1ZTsKKyAgICAgICAgICAgIGNhc2UgJ00nOgorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIGlmICghcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveCkpCisgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGlmICghcGFyc2VOdW1iZXIo
cHRyLCBlbmQsIHRveSkpCisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAg
ICAgICAgaWYgKHByb2Nlc3MpIHsKKyAgICAgICAgICAgICAgICAgICAgc3VicGF0aHggPSBjdXJ4
ID0gcmVsYXRpdmUgPyBjdXJ4ICsgdG94IDogdG94OworICAgICAgICAgICAgICAgICAgICBzdWJw
YXRoeSA9IGN1cnkgPSByZWxhdGl2ZSA/IGN1cnkgKyB0b3kgOiB0b3k7CisKKyAgICAgICAgICAg
ICAgICAgICAgc3ZnTW92ZVRvKGN1cngsIGN1cnksIGNsb3NlZCk7CisgICAgICAgICAgICAgICAg
fSBlbHNlCisgICAgICAgICAgICAgICAgICAgIHN2Z01vdmVUbyh0b3gsIHRveSwgY2xvc2VkLCAh
cmVsYXRpdmUpOworICAgICAgICAgICAgICAgIGNsb3NlZCA9IGZhbHNlOworICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY2FzZSAnbCc6CisgICAgICAg
ICAgICAgICAgcmVsYXRpdmUgPSB0cnVlOworICAgICAgICAgICAgY2FzZSAnTCc6CisgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveCk7CisgICAg
ICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveSk7CisKKyAgICAgICAgICAgICAg
ICBpZiAocHJvY2VzcykgeworICAgICAgICAgICAgICAgICAgICBjdXJ4ID0gcmVsYXRpdmUgPyBj
dXJ4ICsgdG94IDogdG94OworICAgICAgICAgICAgICAgICAgICBjdXJ5ID0gcmVsYXRpdmUgPyBj
dXJ5ICsgdG95IDogdG95OworCisgICAgICAgICAgICAgICAgICAgIHN2Z0xpbmVUbyhjdXJ4LCBj
dXJ5KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgICAgICBzdmdMaW5lVG8odG94LCB0b3ksICFyZWxhdGl2ZSk7CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjYXNlICdoJzoKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgdG94KTsKKyAgICAg
ICAgICAgICAgICBpZiAocHJvY2VzcykgeworICAgICAgICAgICAgICAgICAgICBjdXJ4ID0gY3Vy
eCArIHRveDsKKyAgICAgICAgICAgICAgICAgICAgc3ZnTGluZVRvKGN1cngsIGN1cnkpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAg
IHN2Z0xpbmVUb0hvcml6b250YWwodG94LCBmYWxzZSk7CisgICAgICAgICAgICAgICAgYnJlYWs7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBjYXNlICdIJzoKKyAgICAgICAgICAgIHsKKyAg
ICAgICAgICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgdG94KTsKKyAgICAgICAgICAgICAg
ICBpZiAocHJvY2VzcykgeworICAgICAgICAgICAgICAgICAgICBjdXJ4ID0gdG94OworICAgICAg
ICAgICAgICAgICAgICBzdmdMaW5lVG8oY3VyeCwgY3VyeSk7CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgc3ZnTGluZVRvSG9yaXpv
bnRhbCh0b3gpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgY2FzZSAndic6CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgcGFyc2VOdW1i
ZXIocHRyLCBlbmQsIHRveSk7CisgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsKKyAgICAg
ICAgICAgICAgICAgICAgY3VyeSA9IGN1cnkgKyB0b3k7CisgICAgICAgICAgICAgICAgICAgIHN2
Z0xpbmVUbyhjdXJ4LCBjdXJ5KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgICAgICBzdmdMaW5lVG9WZXJ0aWNhbCh0b3ksIGZhbHNlKTsK
KyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhc2Ug
J1YnOgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5k
LCB0b3kpOworICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzKSB7CisgICAgICAgICAgICAgICAg
ICAgIGN1cnkgPSB0b3k7CisgICAgICAgICAgICAgICAgICAgIHN2Z0xpbmVUbyhjdXJ4LCBjdXJ5
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgICAgICBzdmdMaW5lVG9WZXJ0aWNhbCh0b3kpOworICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgY2FzZSAneic6CisgICAgICAgICAgICBjYXNlICda
JzoKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAvLyByZXNldCBjdXJ4LCBjdXJ5IGZv
ciBuZXh0IHBhdGgKKyAgICAgICAgICAgICAgICBpZiAocHJvY2VzcykgeworICAgICAgICAgICAg
ICAgICAgICBjdXJ4ID0gc3VicGF0aHg7CisgICAgICAgICAgICAgICAgICAgIGN1cnkgPSBzdWJw
YXRoeTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY2xvc2VkID0gdHJ1ZTsK
KyAgICAgICAgICAgICAgICBzdmdDbG9zZVBhdGgoKTsKKyAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhc2UgJ2MnOgorICAgICAgICAgICAgICAgIHJl
bGF0aXZlID0gdHJ1ZTsKKyAgICAgICAgICAgIGNhc2UgJ0MnOgorICAgICAgICAgICAgeworICAg
ICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCB4MSk7CisgICAgICAgICAgICAgICAg
cGFyc2VOdW1iZXIocHRyLCBlbmQsIHkxKTsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJlcihw
dHIsIGVuZCwgeDIpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCB5Mik7
CisgICAgICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveCk7CisgICAgICAgICAg
ICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveSk7CisKKyAgICAgICAgICAgICAgICBpZiAo
cHJvY2VzcykgeworICAgICAgICAgICAgICAgICAgICBweDEgPSByZWxhdGl2ZSA/IGN1cnggKyB4
MSA6IHgxOworICAgICAgICAgICAgICAgICAgICBweTEgPSByZWxhdGl2ZSA/IGN1cnkgKyB5MSA6
IHkxOworICAgICAgICAgICAgICAgICAgICBweDIgPSByZWxhdGl2ZSA/IGN1cnggKyB4MiA6IHgy
OworICAgICAgICAgICAgICAgICAgICBweTIgPSByZWxhdGl2ZSA/IGN1cnkgKyB5MiA6IHkyOwor
ICAgICAgICAgICAgICAgICAgICBweDMgPSByZWxhdGl2ZSA/IGN1cnggKyB0b3ggOiB0b3g7Cisg
ICAgICAgICAgICAgICAgICAgIHB5MyA9IHJlbGF0aXZlID8gY3VyeSArIHRveSA6IHRveTsKKwor
ICAgICAgICAgICAgICAgICAgICBzdmdDdXJ2ZVRvQ3ViaWMocHgxLCBweTEsIHB4MiwgcHkyLCBw
eDMsIHB5Myk7CisKKyAgICAgICAgICAgICAgICAgICAgY29udHJseCA9IHJlbGF0aXZlID8gY3Vy
eCArIHgyIDogeDI7CisgICAgICAgICAgICAgICAgICAgIGNvbnRybHkgPSByZWxhdGl2ZSA/IGN1
cnkgKyB5MiA6IHkyOworICAgICAgICAgICAgICAgICAgICBjdXJ4ID0gcmVsYXRpdmUgPyBjdXJ4
ICsgdG94IDogdG94OworICAgICAgICAgICAgICAgICAgICBjdXJ5ID0gcmVsYXRpdmUgPyBjdXJ5
ICsgdG95IDogdG95OworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgIHN2Z0N1cnZlVG9DdWJpYyh4MSwgeTEsIHgyLCB5MiwgdG94LCB0
b3ksICFyZWxhdGl2ZSk7CisKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGNhc2UgJ3MnOgorICAgICAgICAgICAgICAgIHJlbGF0aXZlID0gdHJ1ZTsK
KyAgICAgICAgICAgIGNhc2UgJ1MnOgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHBh
cnNlTnVtYmVyKHB0ciwgZW5kLCB4Mik7CisgICAgICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRy
LCBlbmQsIHkyKTsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgdG94KTsK
KyAgICAgICAgICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgdG95KTsKKyAgICAgICAgICAg
ICAgICBpZiAoIShsYXN0Q29tbWFuZCA9PSAnYycgfHwgbGFzdENvbW1hbmQgPT0gJ0MnIHx8Cisg
ICAgICAgICAgICAgICAgICAgICBsYXN0Q29tbWFuZCA9PSAncycgfHwgbGFzdENvbW1hbmQgPT0g
J1MnKSkgeworICAgICAgICAgICAgICAgICAgICBjb250cmx4ID0gY3VyeDsKKyAgICAgICAgICAg
ICAgICAgICAgY29udHJseSA9IGN1cnk7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICAgICAgaWYgKHByb2Nlc3MpIHsKKyAgICAgICAgICAgICAgICAgICAgcHgxID0gMiAqIGN1cngg
LSBjb250cmx4OworICAgICAgICAgICAgICAgICAgICBweTEgPSAyICogY3VyeSAtIGNvbnRybHk7
CisgICAgICAgICAgICAgICAgICAgIHB4MiA9IHJlbGF0aXZlID8gY3VyeCArIHgyIDogeDI7Cisg
ICAgICAgICAgICAgICAgICAgIHB5MiA9IHJlbGF0aXZlID8gY3VyeSArIHkyIDogeTI7CisgICAg
ICAgICAgICAgICAgICAgIHB4MyA9IHJlbGF0aXZlID8gY3VyeCArIHRveCA6IHRveDsKKyAgICAg
ICAgICAgICAgICAgICAgcHkzID0gcmVsYXRpdmUgPyBjdXJ5ICsgdG95IDogdG95OworCisgICAg
ICAgICAgICAgICAgICAgIHN2Z0N1cnZlVG9DdWJpYyhweDEsIHB5MSwgcHgyLCBweTIsIHB4Mywg
cHkzKTsKKworICAgICAgICAgICAgICAgICAgICBjb250cmx4ID0gcmVsYXRpdmUgPyBjdXJ4ICsg
eDIgOiB4MjsKKyAgICAgICAgICAgICAgICAgICAgY29udHJseSA9IHJlbGF0aXZlID8gY3VyeSAr
IHkyIDogeTI7CisgICAgICAgICAgICAgICAgICAgIGN1cnggPSByZWxhdGl2ZSA/IGN1cnggKyB0
b3ggOiB0b3g7CisgICAgICAgICAgICAgICAgICAgIGN1cnkgPSByZWxhdGl2ZSA/IGN1cnkgKyB0
b3kgOiB0b3k7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICAgICAgc3ZnQ3VydmVUb0N1YmljU21vb3RoKHgyLCB5MiwgdG94LCB0b3ksICFy
ZWxhdGl2ZSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBjYXNlICdxJzoKKyAgICAgICAgICAgICAgICByZWxhdGl2ZSA9IHRydWU7CisgICAgICAg
ICAgICBjYXNlICdRJzoKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJl
cihwdHIsIGVuZCwgeDEpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCB5
MSk7CisgICAgICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveCk7CisgICAgICAg
ICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveSk7CisKKyAgICAgICAgICAgICAgICBp
ZiAocHJvY2VzcykgeworICAgICAgICAgICAgICAgICAgICBweDEgPSByZWxhdGl2ZSA/IChjdXJ4
ICsgMiAqICh4MSArIGN1cngpKSAqICgxLjAgLyAzLjApIDogKGN1cnggKyAyICogeDEpICogKDEu
MCAvIDMuMCk7CisgICAgICAgICAgICAgICAgICAgIHB5MSA9IHJlbGF0aXZlID8gKGN1cnkgKyAy
ICogKHkxICsgY3VyeSkpICogKDEuMCAvIDMuMCkgOiAoY3VyeSArIDIgKiB5MSkgKiAoMS4wIC8g
My4wKTsKKyAgICAgICAgICAgICAgICAgICAgcHgyID0gcmVsYXRpdmUgPyAoKGN1cnggKyB0b3gp
ICsgMiAqICh4MSArIGN1cngpKSAqICgxLjAgLyAzLjApIDogKHRveCArIDIgKiB4MSkgKiAoMS4w
IC8gMy4wKTsKKyAgICAgICAgICAgICAgICAgICAgcHkyID0gcmVsYXRpdmUgPyAoKGN1cnkgKyB0
b3kpICsgMiAqICh5MSArIGN1cnkpKSAqICgxLjAgLyAzLjApIDogKHRveSArIDIgKiB5MSkgKiAo
MS4wIC8gMy4wKTsKKyAgICAgICAgICAgICAgICAgICAgcHgzID0gcmVsYXRpdmUgPyBjdXJ4ICsg
dG94IDogdG94OworICAgICAgICAgICAgICAgICAgICBweTMgPSByZWxhdGl2ZSA/IGN1cnkgKyB0
b3kgOiB0b3k7CisKKyAgICAgICAgICAgICAgICAgICAgc3ZnQ3VydmVUb0N1YmljKHB4MSwgcHkx
LCBweDIsIHB5MiwgcHgzLCBweTMpOworCisgICAgICAgICAgICAgICAgICAgIGNvbnRybHggPSBy
ZWxhdGl2ZSA/IGN1cnggKyB4MSA6IHgxOworICAgICAgICAgICAgICAgICAgICBjb250cmx5ID0g
cmVsYXRpdmUgPyBjdXJ5ICsgeTEgOiB5MTsKKyAgICAgICAgICAgICAgICAgICAgY3VyeCA9IHJl
bGF0aXZlID8gY3VyeCArIHRveCA6IHRveDsKKyAgICAgICAgICAgICAgICAgICAgY3VyeSA9IHJl
bGF0aXZlID8gY3VyeSArIHRveSA6IHRveTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBzdmdDdXJ2ZVRvUXVhZHJhdGljKHgxLCB5
MSwgdG94LCB0b3ksICFyZWxhdGl2ZSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICB9CisgICAgICAgICAgICBjYXNlICd0JzoKKyAgICAgICAgICAgICAgICByZWxhdGl2ZSA9
IHRydWU7CisgICAgICAgICAgICBjYXNlICdUJzoKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAg
ICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgdG94KTsKKyAgICAgICAgICAgICAgICBwYXJzZU51
bWJlcihwdHIsIGVuZCwgdG95KTsKKyAgICAgICAgICAgICAgICBpZiAoIShsYXN0Q29tbWFuZCA9
PSAncScgfHwgbGFzdENvbW1hbmQgPT0gJ1EnIHx8CisgICAgICAgICAgICAgICAgICAgICBsYXN0
Q29tbWFuZCA9PSAndCcgfHwgbGFzdENvbW1hbmQgPT0gJ1QnKSkgeworICAgICAgICAgICAgICAg
ICAgICBjb250cmx4ID0gY3VyeDsKKyAgICAgICAgICAgICAgICAgICAgY29udHJseSA9IGN1cnk7
CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsKKyAg
ICAgICAgICAgICAgICAgICAgeGMgPSAyICogY3VyeCAtIGNvbnRybHg7CisgICAgICAgICAgICAg
ICAgICAgIHljID0gMiAqIGN1cnkgLSBjb250cmx5OworCisgICAgICAgICAgICAgICAgICAgIHB4
MSA9IHJlbGF0aXZlID8gKGN1cnggKyAyICogeGMpICogKDEuMCAvIDMuMCkgOiAoY3VyeCArIDIg
KiB4YykgKiAoMS4wIC8gMy4wKTsKKyAgICAgICAgICAgICAgICAgICAgcHkxID0gcmVsYXRpdmUg
PyAoY3VyeSArIDIgKiB5YykgKiAoMS4wIC8gMy4wKSA6IChjdXJ5ICsgMiAqIHljKSAqICgxLjAg
LyAzLjApOworICAgICAgICAgICAgICAgICAgICBweDIgPSByZWxhdGl2ZSA/ICgoY3VyeCArIHRv
eCkgKyAyICogeGMpICogKDEuMCAvIDMuMCkgOiAodG94ICsgMiAqIHhjKSAqICgxLjAgLyAzLjAp
OworICAgICAgICAgICAgICAgICAgICBweTIgPSByZWxhdGl2ZSA/ICgoY3VyeSArIHRveSkgKyAy
ICogeWMpICogKDEuMCAvIDMuMCkgOiAodG95ICsgMiAqIHljKSAqICgxLjAgLyAzLjApOworICAg
ICAgICAgICAgICAgICAgICBweDMgPSByZWxhdGl2ZSA/IGN1cnggKyB0b3ggOiB0b3g7CisgICAg
ICAgICAgICAgICAgICAgIHB5MyA9IHJlbGF0aXZlID8gY3VyeSArIHRveSA6IHRveTsKKworICAg
ICAgICAgICAgICAgICAgICBzdmdDdXJ2ZVRvQ3ViaWMocHgxLCBweTEsIHB4MiwgcHkyLCBweDMs
IHB5Myk7CisKKyAgICAgICAgICAgICAgICAgICAgY29udHJseCA9IHhjOworICAgICAgICAgICAg
ICAgICAgICBjb250cmx5ID0geWM7CisgICAgICAgICAgICAgICAgICAgIGN1cnggPSByZWxhdGl2
ZSA/IGN1cnggKyB0b3ggOiB0b3g7CisgICAgICAgICAgICAgICAgICAgIGN1cnkgPSByZWxhdGl2
ZSA/IGN1cnkgKyB0b3kgOiB0b3k7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg
IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgc3ZnQ3VydmVUb1F1YWRyYXRpY1Ntb290aCh0b3gs
IHRveSwgIXJlbGF0aXZlKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIGNhc2UgJ2EnOgorICAgICAgICAgICAgICAgIHJlbGF0aXZlID0gdHJ1ZTsK
KyAgICAgICAgICAgIGNhc2UgJ0EnOgorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGJv
b2wgbGFyZ2VBcmMsIHN3ZWVwOworICAgICAgICAgICAgICAgIGRvdWJsZSBhbmdsZSwgcngsIHJ5
OworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCByeCk7CisgICAgICAgICAg
ICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHJ5KTsKKyAgICAgICAgICAgICAgICBwYXJzZU51
bWJlcihwdHIsIGVuZCwgYW5nbGUpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwg
ZW5kLCB0b3gpOworICAgICAgICAgICAgICAgIGxhcmdlQXJjID0gdG94ID09IDE7CisgICAgICAg
ICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveCk7CisgICAgICAgICAgICAgICAgc3dl
ZXAgPSB0b3ggPT0gMTsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgdG94
KTsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgdG95KTsKKworICAgICAg
ICAgICAgICAgIC8vIFNwZWM6IHJhZGlpIGFyZSBub25uZWdhdGl2ZSBudW1iZXJzCisgICAgICAg
ICAgICAgICAgcnggPSBmYWJzKHJ4KTsKKyAgICAgICAgICAgICAgICByeSA9IGZhYnMocnkpOwor
CisgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpCisgICAgICAgICAgICAgICAgICAgIGNhbGN1
bGF0ZUFyYyhyZWxhdGl2ZSwgY3VyeCwgY3VyeSwgYW5nbGUsIHRveCwgdG95LCByeCwgcnksIGxh
cmdlQXJjLCBzd2VlcCk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAg
ICBzdmdBcmNUbyh0b3gsIHRveSwgcngsIHJ5LCBhbmdsZSwgbGFyZ2VBcmMsIHN3ZWVwLCAhcmVs
YXRpdmUpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAvLyBGSVhNRTogQW4gZXJyb3Igc2hvdWxkIGdv
IHRvIHRoZSBKYXZhU2NyaXB0IGNvbnNvbGUsIG9yIHRoZSBsaWtlLgorICAgICAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBsYXN0Q29tbWFuZCA9IGNvbW1hbmQ7CisKKyAg
ICAgICAgaWYgKHB0ciA+PSBlbmQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYg
KCpwdHIgPT0gJysnIHx8ICpwdHIgPT0gJy0nIHx8ICgqcHRyID49ICcwJyAmJiAqcHRyIDw9ICc5
JykpIHsKKyAgICAgICAgICAgIC8vIHRoZXJlIGFyZSBzdGlsbCBjb29yZHMgaW4gdGhpcyBjb21t
YW5kCisgICAgICAgICAgICBpZiAoY29tbWFuZCA9PSAnTScpCisgICAgICAgICAgICAgICAgY29t
bWFuZCA9ICdMJzsKKyAgICAgICAgICAgIGVsc2UgaWYgKGNvbW1hbmQgPT0gJ20nKQorICAgICAg
ICAgICAgICAgIGNvbW1hbmQgPSAnbCc7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgY29tbWFuZCA9ICoocHRyKyspOworCisgICAgICAgIGlmIChsYXN0Q29tbWFuZCAhPSAn
QycgJiYgbGFzdENvbW1hbmQgIT0gJ2MnICYmCisgICAgICAgICAgICBsYXN0Q29tbWFuZCAhPSAn
UycgJiYgbGFzdENvbW1hbmQgIT0gJ3MnICYmCisgICAgICAgICAgICBsYXN0Q29tbWFuZCAhPSAn
UScgJiYgbGFzdENvbW1hbmQgIT0gJ3EnICYmCisgICAgICAgICAgICBsYXN0Q29tbWFuZCAhPSAn
VCcgJiYgbGFzdENvbW1hbmQgIT0gJ3QnKSB7CisgICAgICAgICAgICBjb250cmx4ID0gY3VyeDsK
KyAgICAgICAgICAgIGNvbnRybHkgPSBjdXJ5OworICAgICAgICB9CisgICAgfQorfQorCisvLyBU
aGlzIHdvcmtzIGJ5IGNvbnZlcnRpbmcgdGhlIFNWRyBhcmMgdG8gInNpbXBsZSIgYmV6aWVycy4K
Ky8vIEZvciBlYWNoIGJlemllciBmb3VuZCBhIHN2Z1RvQ3VydmUgY2FsbCBpcyBkb25lLgorLy8g
QWRhcHRlZCBmcm9tIE5pa28ncyBjb2RlIGluIGtkZWxpYnMva2RlY29yZS9zdmdpY29ucy4KKy8v
IE1heWJlIHRoaXMgY2FuIHNlcnZlIGluIHNvbWUgc2hhcmVkIGxpYj8gKFJvYikKK3ZvaWQgU1ZH
UGF0aFBhcnNlcjo6Y2FsY3VsYXRlQXJjKGJvb2wgcmVsYXRpdmUsIGRvdWJsZSAmY3VyeCwgZG91
YmxlICZjdXJ5LCBkb3VibGUgYW5nbGUsIGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHIxLCBk
b3VibGUgcjIsIGJvb2wgbGFyZ2VBcmNGbGFnLCBib29sIHN3ZWVwRmxhZykKK3sKKyAgICBkb3Vi
bGUgc2luX3RoLCBjb3NfdGg7CisgICAgZG91YmxlIGEwMCwgYTAxLCBhMTAsIGExMTsKKyAgICBk
b3VibGUgeDAsIHkwLCB4MSwgeTEsIHhjLCB5YzsKKyAgICBkb3VibGUgZCwgc2ZhY3Rvciwgc2Zh
Y3Rvcl9zcTsKKyAgICBkb3VibGUgdGgwLCB0aDEsIHRoX2FyYzsKKyAgICBpbnQgaSwgbl9zZWdz
OworCisgICAgc2luX3RoID0gc2luKGFuZ2xlICogKE1fUEkgLyAxODAuMCkpOworICAgIGNvc190
aCA9IGNvcyhhbmdsZSAqIChNX1BJIC8gMTgwLjApKTsKKworICAgIGRvdWJsZSBkeDsKKworICAg
IGlmICghcmVsYXRpdmUpCisgICAgICAgIGR4ID0gKGN1cnggLSB4KSAvIDIuMDsKKyAgICBlbHNl
CisgICAgICAgIGR4ID0gLXggLyAyLjA7CisKKyAgICBkb3VibGUgZHk7CisgICAgICAgIAorICAg
IGlmICghcmVsYXRpdmUpCisgICAgICAgIGR5ID0gKGN1cnkgLSB5KSAvIDIuMDsKKyAgICBlbHNl
CisgICAgICAgIGR5ID0gLXkgLyAyLjA7CisgICAgICAgIAorICAgIGRvdWJsZSBfeDEgPSAgY29z
X3RoICogZHggKyBzaW5fdGggKiBkeTsKKyAgICBkb3VibGUgX3kxID0gLXNpbl90aCAqIGR4ICsg
Y29zX3RoICogZHk7CisgICAgZG91YmxlIFByMSA9IHIxICogcjE7CisgICAgZG91YmxlIFByMiA9
IHIyICogcjI7CisgICAgZG91YmxlIFB4ID0gX3gxICogX3gxOworICAgIGRvdWJsZSBQeSA9IF95
MSAqIF95MTsKKworICAgIC8vIFNwZWMgOiBjaGVjayBpZiByYWRpaSBhcmUgbGFyZ2UgZW5vdWdo
CisgICAgZG91YmxlIGNoZWNrID0gUHggLyBQcjEgKyBQeSAvIFByMjsKKyAgICBpZiAoY2hlY2sg
PiAxKSB7CisgICAgICAgIHIxID0gcjEgKiBzcXJ0KGNoZWNrKTsKKyAgICAgICAgcjIgPSByMiAq
IHNxcnQoY2hlY2spOworICAgIH0KKworICAgIGEwMCA9IGNvc190aCAvIHIxOworICAgIGEwMSA9
IHNpbl90aCAvIHIxOworICAgIGExMCA9IC1zaW5fdGggLyByMjsKKyAgICBhMTEgPSBjb3NfdGgg
LyByMjsKKworICAgIHgwID0gYTAwICogY3VyeCArIGEwMSAqIGN1cnk7CisgICAgeTAgPSBhMTAg
KiBjdXJ4ICsgYTExICogY3VyeTsKKworICAgIGlmICghcmVsYXRpdmUpCisgICAgICAgIHgxID0g
YTAwICogeCArIGEwMSAqIHk7CisgICAgZWxzZQorICAgICAgICB4MSA9IGEwMCAqIChjdXJ4ICsg
eCkgKyBhMDEgKiAoY3VyeSArIHkpOworICAgICAgICAKKyAgICBpZiAoIXJlbGF0aXZlKQorICAg
ICAgICB5MSA9IGExMCAqIHggKyBhMTEgKiB5OworICAgIGVsc2UKKyAgICAgICAgeTEgPSBhMTAg
KiAoY3VyeCArIHgpICsgYTExICogKGN1cnkgKyB5KTsKKworICAgIC8qICh4MCwgeTApIGlzIGN1
cnJlbnQgcG9pbnQgaW4gdHJhbnNmb3JtZWQgY29vcmRpbmF0ZSBzcGFjZS4KKyAgICAgICAoeDEs
IHkxKSBpcyBuZXcgcG9pbnQgaW4gdHJhbnNmb3JtZWQgY29vcmRpbmF0ZSBzcGFjZS4KKworICAg
ICAgIFRoZSBhcmMgZml0cyBhIHVuaXQtcmFkaXVzIGNpcmNsZSBpbiB0aGlzIHNwYWNlLgorICAg
ICovCisKKyAgICBkID0gKHgxIC0geDApICogKHgxIC0geDApICsgKHkxIC0geTApICogKHkxIC0g
eTApOworCisgICAgc2ZhY3Rvcl9zcSA9IDEuMCAvIGQgLSAwLjI1OworCisgICAgaWYgKHNmYWN0
b3Jfc3EgPCAwKQorICAgICAgICBzZmFjdG9yX3NxID0gMDsKKworICAgIHNmYWN0b3IgPSBzcXJ0
KHNmYWN0b3Jfc3EpOworCisgICAgaWYgKHN3ZWVwRmxhZyA9PSBsYXJnZUFyY0ZsYWcpCisgICAg
ICAgIHNmYWN0b3IgPSAtc2ZhY3RvcjsKKworICAgIHhjID0gMC41ICogKHgwICsgeDEpIC0gc2Zh
Y3RvciAqICh5MSAtIHkwKTsKKyAgICB5YyA9IDAuNSAqICh5MCArIHkxKSArIHNmYWN0b3IgKiAo
eDEgLSB4MCk7CisKKyAgICAvKiAoeGMsIHljKSBpcyBjZW50ZXIgb2YgdGhlIGNpcmNsZS4gKi8K
KyAgICB0aDAgPSBhdGFuMih5MCAtIHljLCB4MCAtIHhjKTsKKyAgICB0aDEgPSBhdGFuMih5MSAt
IHljLCB4MSAtIHhjKTsKKworICAgIHRoX2FyYyA9IHRoMSAtIHRoMDsKKyAgICBpZiAodGhfYXJj
IDwgMCAmJiBzd2VlcEZsYWcpCisgICAgICAgIHRoX2FyYyArPSAyICogTV9QSTsKKyAgICBlbHNl
IGlmICh0aF9hcmMgPiAwICYmICFzd2VlcEZsYWcpCisgICAgICAgIHRoX2FyYyAtPSAyICogTV9Q
STsKKworICAgIG5fc2VncyA9IChpbnQpIChpbnQpIGNlaWwoZmFicyh0aF9hcmMgLyAoTV9QSSAq
IDAuNSArIDAuMDAxKSkpOworCisgICAgZm9yKGkgPSAwOyBpIDwgbl9zZWdzOyBpKyspIHsKKyAg
ICAgICAgZG91YmxlIHNpbl90aCwgY29zX3RoOworICAgICAgICBkb3VibGUgYTAwLCBhMDEsIGEx
MCwgYTExOworICAgICAgICBkb3VibGUgeDEsIHkxLCB4MiwgeTIsIHgzLCB5MzsKKyAgICAgICAg
ZG91YmxlIHQ7CisgICAgICAgIGRvdWJsZSB0aF9oYWxmOworCisgICAgICAgIGRvdWJsZSBfdGgw
ID0gdGgwICsgaSAqIHRoX2FyYyAvIG5fc2VnczsKKyAgICAgICAgZG91YmxlIF90aDEgPSB0aDAg
KyAoaSArIDEpICogdGhfYXJjIC8gbl9zZWdzOworCisgICAgICAgIHNpbl90aCA9IHNpbihhbmds
ZSAqIChNX1BJIC8gMTgwLjApKTsKKyAgICAgICAgY29zX3RoID0gY29zKGFuZ2xlICogKE1fUEkg
LyAxODAuMCkpOworCisgICAgICAgIC8qIGludmVyc2UgdHJhbnNmb3JtIGNvbXBhcmVkIHdpdGgg
cnN2Z19wYXRoX2FyYyAqLworICAgICAgICBhMDAgPSBjb3NfdGggKiByMTsKKyAgICAgICAgYTAx
ID0gLXNpbl90aCAqIHIyOworICAgICAgICBhMTAgPSBzaW5fdGggKiByMTsKKyAgICAgICAgYTEx
ID0gY29zX3RoICogcjI7CisKKyAgICAgICAgdGhfaGFsZiA9IDAuNSAqIChfdGgxIC0gX3RoMCk7
CisgICAgICAgIHQgPSAoOC4wIC8gMy4wKSAqIHNpbih0aF9oYWxmICogMC41KSAqIHNpbih0aF9o
YWxmICogMC41KSAvIHNpbih0aF9oYWxmKTsKKyAgICAgICAgeDEgPSB4YyArIGNvcyhfdGgwKSAt
IHQgKiBzaW4oX3RoMCk7CisgICAgICAgIHkxID0geWMgKyBzaW4oX3RoMCkgKyB0ICogY29zKF90
aDApOworICAgICAgICB4MyA9IHhjICsgY29zKF90aDEpOworICAgICAgICB5MyA9IHljICsgc2lu
KF90aDEpOworICAgICAgICB4MiA9IHgzICsgdCAqIHNpbihfdGgxKTsKKyAgICAgICAgeTIgPSB5
MyAtIHQgKiBjb3MoX3RoMSk7CisKKyAgICAgICAgc3ZnQ3VydmVUb0N1YmljKGEwMCAqIHgxICsg
YTAxICogeTEsIGExMCAqIHgxICsgYTExICogeTEsIGEwMCAqIHgyICsgYTAxICogeTIsIGExMCAq
IHgyICsgYTExICogeTIsIGEwMCAqIHgzICsgYTAxICogeTMsIGExMCAqIHgzICsgYTExICogeTMp
OworICAgIH0KKworICAgIGlmICghcmVsYXRpdmUpCisgICAgICAgIGN1cnggPSB4OworICAgIGVs
c2UKKyAgICAgICAgY3VyeCArPSB4OworCisgICAgaWYgKCFyZWxhdGl2ZSkKKyAgICAgICAgY3Vy
eSA9IHk7CisgICAgZWxzZQorICAgICAgICBjdXJ5ICs9IHk7ICAgIAorfQorCit2b2lkIFNWR1Bh
dGhQYXJzZXI6OnN2Z0xpbmVUb0hvcml6b250YWwoZG91YmxlLCBib29sKQoreworfQorCit2b2lk
IFNWR1BhdGhQYXJzZXI6OnN2Z0xpbmVUb1ZlcnRpY2FsKGRvdWJsZSwgYm9vbCkKK3sKK30KKwor
dm9pZCBTVkdQYXRoUGFyc2VyOjpzdmdDdXJ2ZVRvQ3ViaWNTbW9vdGgoZG91YmxlLCBkb3VibGUs
IGRvdWJsZSwgZG91YmxlLCBib29sKQoreworfQorCit2b2lkIFNWR1BhdGhQYXJzZXI6OnN2Z0N1
cnZlVG9RdWFkcmF0aWMoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBib29sKQorewor
fQorCit2b2lkIFNWR1BhdGhQYXJzZXI6OnN2Z0N1cnZlVG9RdWFkcmF0aWNTbW9vdGgoZG91Ymxl
LCBkb3VibGUsIGJvb2wpCit7Cit9CisKK3ZvaWQgU1ZHUGF0aFBhcnNlcjo6c3ZnQXJjVG8oZG91
YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGJvb2wsIGJvb2wsIGJvb2wpCit7
Cit9IAorCit9CisKKy8vIHZpbTp0cz00Om5vZXQKKyNlbmRpZiAvLyBTVkdfU1VQUE9SVApJbmRl
eDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGFyc2VyVXRpbHMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2tzdmcyL3N2Zy9TVkdQYXJzZXJVdGlscy5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9r
c3ZnMi9zdmcvU1ZHUGFyc2VyVXRpbHMuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMDUgQEAK
Ky8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdAorICAgQ29weXJpZ2h0IChD
KSAyMDAyLCAyMDAzIFRoZSBLYXJib24gRGV2ZWxvcGVycworICAgICAgICAgICAgICAgICAyMDA2
ICAgICAgIFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CisKKyAgIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgICBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKworICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl
IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9y
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJ
TkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAorICAgQm9zdG9uLCBNQSAwMjEx
MS0xMzA3LCBVU0EuCisqLworCisjaWZuZGVmIFNWR1BBUlNFUlVJTFNfSAorI2RlZmluZSBTVkdQ
QVJTRVJVSUxTX0gKKyNpZmRlZiBTVkdfU1VQUE9SVAorCisjaW5jbHVkZSA8UGxhdGZvcm1TdHJp
bmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUKK3sKKyAgICBib29sIHBhcnNlTnVtYmVyKGNvbnN0
IFVDaGFyKiYgcHRyLCBjb25zdCBVQ2hhciAqZW5kLCBkb3VibGUmIG51bWJlciwgYm9vbCBza2lw
ID0gdHJ1ZSk7CisgICAgYm9vbCBwYXJzZU51bWJlck9wdGlvbmFsTnVtYmVyKGNvbnN0IFN0cmlu
ZyYgcywgZG91YmxlJiBoLCBkb3VibGUmIHYpOworCisgICAgLy8gU1ZHIGFsbG93cyBzZXZlcmFs
IGRpZmZlcmVudCB3aGl0ZXNwYWNlIGNoYXJhY3RlcnM6CisgICAgLy8gaHR0cDovL3d3dy53My5v
cmcvVFIvU1ZHL3BhdGhzLmh0bWwjUGF0aERhdGFCTkYKKyAgICBzdGF0aWMgaW5saW5lIGJvb2wg
aXNXaGl0ZXNwYWNlKGNvbnN0IFVDaGFyJiBjKSB7CisgICAgICAgIHJldHVybiAoYyA9PSAnICcg
fHwgYyA9PSAnXHQnIHx8IGMgPT0gJ1xuJyB8fCBjID09ICdccicpOworICAgIH0KKworICAgIHN0
YXRpYyBpbmxpbmUgYm9vbCBza2lwT3B0aW9uYWxTcGFjZXMoY29uc3QgVUNoYXIqJiBwdHIsIGNv
bnN0IFVDaGFyKiBlbmQpCisgICAgeworICAgICAgICB3aGlsZSAocHRyIDwgZW5kICYmIGlzV2hp
dGVzcGFjZSgqcHRyKSkKKyAgICAgICAgICAgIHB0cisrOworICAgICAgICByZXR1cm4gcHRyIDwg
ZW5kOworICAgIH0KKworICAgIHN0YXRpYyBpbmxpbmUgYm9vbCBza2lwT3B0aW9uYWxTcGFjZXNP
ckRlbGltaXRlcihjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIgKmVuZCwgVUNoYXIgZGVs
aW1pdGVyID0gJywnKQorICAgIHsKKyAgICAgICAgaWYgKHB0ciA8IGVuZCAmJiAhaXNXaGl0ZXNw
YWNlKCpwdHIpICYmICpwdHIgIT0gZGVsaW1pdGVyKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgICAgICBpZiAoc2tpcE9wdGlvbmFsU3BhY2VzKHB0ciwgZW5kKSkgeworICAgICAgICAg
ICAgaWYgKCpwdHIgPT0gZGVsaW1pdGVyKSB7CisgICAgICAgICAgICAgICAgcHRyKys7CisgICAg
ICAgICAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0ciwgZW5kKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICByZXR1cm4gcHRyIDwgZW5kOworICAgIH0KKworICAgIGNsYXNz
IFNWR1BvbHlQYXJzZXIKKyAgICB7CisgICAgcHVibGljOgorICAgICAgICB2aXJ0dWFsIH5TVkdQ
b2x5UGFyc2VyKCkgeyB9CisgICAgICAgIHZvaWQgcGFyc2VQb2ludHMoY29uc3QgU3RyaW5nICZw
b2ludHMpIGNvbnN0OworCisgICAgcHJvdGVjdGVkOgorICAgICAgICB2aXJ0dWFsIHZvaWQgc3Zn
UG9seVRvKGRvdWJsZSB4MSwgZG91YmxlIHkxLCBpbnQgbnIpIGNvbnN0ID0gMDsKKyAgICB9Owor
CisgICAgLyoqCisgICAgICogUGFyc2VyIGZvciBzdmcgcGF0aCBkYXRhLCBjb250YWluZWQgaW4g
dGhlIGQgYXR0cmlidXRlLgorICAgICAqCisgICAgICogVGhlIHBhcnNlciBkZWxpdmVycyBlbmNv
dW50ZXJlZCBjb21tYW5kcyBhbmQgcGFyYW1ldGVycyBieSBjYWxsaW5nCisgICAgICogbWV0aG9k
cyB0aGF0IGNvcnJlc3BvbmQgdG8gdGhvc2UgY29tbWFuZHMuIENsaWVudHMgaGF2ZSB0byBkZXJp
dmUKKyAgICAgKiBmcm9tIHRoaXMgY2xhc3MgYW5kIGltcGxlbWVudCB0aGUgYWJzdHJhY3QgY29t
bWFuZCBtZXRob2RzLgorICAgICAqCisgICAgICogVGhlcmUgYXJlIHR3byBvcGVyYXRpbmcgbW9k
ZXMuIEJ5IGRlZmF1bHQgdGhlIHBhcnNlciBqdXN0IGRlbGl2ZXJzIHVuYWx0ZXJlZAorICAgICAq
IHN2ZyBwYXRoIGRhdGEgY29tbWFuZHMgYW5kIHBhcmFtZXRlcnMuIEluIHRoZSBzZWNvbmQgbW9k
ZSwgaXQgd2lsbCBjb252ZXJ0IGFsbAorICAgICAqIHJlbGF0aXZlIGNvb3JkaW5hdGVzIHRvIGFi
c29sdXRlIG9uZXMsIGFuZCBjb252ZXJ0IGFsbCBjdXJ2ZXMgdG8gY3ViaWMgYmV6aWVycy4KKyAg
ICAgKi8KKyAgICBjbGFzcyBTVkdQYXRoUGFyc2VyCisgICAgeworICAgIHB1YmxpYzoKKyAgICAg
ICAgdmlydHVhbCB+U1ZHUGF0aFBhcnNlcigpIHsgfQorICAgICAgICB2b2lkIHBhcnNlU1ZHKGNv
bnN0IFN0cmluZyAmZCwgYm9vbCBwcm9jZXNzID0gZmFsc2UpOworCisgICAgcHJvdGVjdGVkOgor
ICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnTW92ZVRvKGRvdWJsZSB4MSwgZG91YmxlIHkxLCBib29s
IGNsb3NlZCwgYm9vbCBhYnMgPSB0cnVlKSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBzdmdM
aW5lVG8oZG91YmxlIHgxLCBkb3VibGUgeTEsIGJvb2wgYWJzID0gdHJ1ZSkgPSAwOworICAgICAg
ICB2aXJ0dWFsIHZvaWQgc3ZnTGluZVRvSG9yaXpvbnRhbChkb3VibGUgeCwgYm9vbCBhYnMgPSB0
cnVlKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0xpbmVUb1ZlcnRpY2FsKGRvdWJsZSB5LCBi
b29sIGFicyA9IHRydWUpOworICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQ3VydmVUb0N1YmljKGRv
dWJsZSB4MSwgZG91YmxlIHkxLCBkb3VibGUgeDIsIGRvdWJsZSB5MiwgZG91YmxlIHgsIGRvdWJs
ZSB5LCBib29sIGFicyA9IHRydWUpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0N1cnZl
VG9DdWJpY1Ntb290aChkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSB4MiwgZG91YmxlIHkyLCBi
b29sIGFicyA9IHRydWUpOworICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQ3VydmVUb1F1YWRyYXRp
Yyhkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSB4MSwgZG91YmxlIHkxLCBib29sIGFicyA9IHRy
dWUpOworICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQ3VydmVUb1F1YWRyYXRpY1Ntb290aChkb3Vi
bGUgeCwgZG91YmxlIHksIGJvb2wgYWJzID0gdHJ1ZSk7CisgICAgICAgIHZpcnR1YWwgdm9pZCBz
dmdBcmNUbyhkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSByMSwgZG91YmxlIHIyLCBkb3VibGUg
YW5nbGUsIGJvb2wgbGFyZ2VBcmNGbGFnLCBib29sIHN3ZWVwRmxhZywgYm9vbCBhYnMgPSB0cnVl
KTsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0Nsb3NlUGF0aCgpID0gMDsKKyAgICBwcml2YXRl
OgorICAgICAgICB2b2lkIGNhbGN1bGF0ZUFyYyhib29sIHJlbGF0aXZlLCBkb3VibGUgJmN1cngs
IGRvdWJsZSAmY3VyeSwgZG91YmxlIGFuZ2xlLCBkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSBy
MSwgZG91YmxlIHIyLCBib29sIGxhcmdlQXJjRmxhZywgYm9vbCBzd2VlcEZsYWcpOworICAgIH07
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFNWR19TVVBQT1JUCisjZW5k
aWYKKworLy8gdmltOnRzPTQ6bm9ldApJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0aEVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhdGhFbGVtZW50
LmNwcAkocmV2aXNpb24gMTg0MzUpCisrKyBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXRoRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgU1ZHUGF0aEVsZW1lbnQ6OlNW
R1BhdGhFbGVtZW50KGNvbnN0IFF1YQogICAgICwgU1ZHVGVzdHMoKQogICAgICwgU1ZHTGFuZ1Nw
YWNlKCkKICAgICAsIFNWR0V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQoKQotICAgICwgU1ZHUGF0
aFBhcnNlcigpCisgICAgLCBEZXByZWNhdGVkU1ZHUGF0aFBhcnNlcigpCiAgICAgLCBtX3BhdGhM
ZW5ndGgoMC4wKQogewogfQpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXRoRWxlbWVudC5oCShyZXZp
c2lvbiAxODQzNSkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhdGhFbGVtZW50LmgJKHdvcmtp
bmcgY29weSkKQEAgLTU5LDcgKzU5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdMYW5nU3BhY2UsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHB1YmxpYyBTVkdBbmltYXRlZFBhdGhEYXRhLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcHVibGljIFNWR1BhdGhQYXJzZXIKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHB1YmxpYyBEZXByZWNhdGVkU1ZHUGF0aFBhcnNlcgogICAgIHsKICAgICBwdWJsaWM6
CiAgICAgICAgIFNWR1BhdGhFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCop
OwpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHVHJhbnNmb3JtYWJsZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHVHJhbnNmb3JtYWJsZS5jcHAJKHJldmlzaW9uIDE4
NDM1KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHVHJhbnNmb3JtYWJsZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJSZWd1bGFyRXhwcmVzc2lvbi5oIgog
I2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIlNWR05hbWVzLmgiCisjaW5j
bHVkZSAiU1ZHUGFyc2VyVXRpbHMuaCIKICNpbmNsdWRlICJTVkdTdHlsZWRFbGVtZW50LmgiCiAj
aW5jbHVkZSAiU1ZHVHJhbnNmb3JtTGlzdC5oIgogCkBAIC01Miw4MCArNTMsMTY1IEBAIEFmZmlu
ZVRyYW5zZm9ybSBTVkdUcmFuc2Zvcm1hYmxlOjpnZXRTY3IKICAgICByZXR1cm4gbG9jYWxNYXRy
aXgoKSAqIGN0bTsKIH0KIAotYm9vbCBTVkdUcmFuc2Zvcm1hYmxlOjpwYXJzZVRyYW5zZm9ybUF0
dHJpYnV0ZShTVkdUcmFuc2Zvcm1MaXN0KiBsaXN0LCBjb25zdCBBdG9taWNTdHJpbmcmIHRyYW5z
Zm9ybSkKK2ludCBwYXJzZVRyYW5zZm9ybVBhcmFtTGlzdChjb25zdCBVQ2hhciomIHB0ciwgY29u
c3QgVUNoYXIqIGVuZCwgZG91YmxlKiB4LCBpbnQgcmVxdWlyZWQsIGludCBvcHRpb25hbCkKIHsK
LSAgICAvLyBTcGxpdCBzdHJpbmcgZm9yIGhhbmRsaW5nIDEgdHJhbnNmb3JtIHN0YXRlbWVudCBh
dCBhIHRpbWUKLSAgICBWZWN0b3I8U3RyaW5nPiBzdWJ0cmFuc2Zvcm1zID0gdHJhbnNmb3JtLmRv
bVN0cmluZygpLnNpbXBsaWZ5V2hpdGVTcGFjZSgpLnNwbGl0KCcpJyk7Ci0gICAgVmVjdG9yPFN0
cmluZz46OmNvbnN0X2l0ZXJhdG9yIGVuZCA9IHN1YnRyYW5zZm9ybXMuZW5kKCk7Ci0gICAgZm9y
IChWZWN0b3I8U3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBzdWJ0cmFuc2Zvcm1zLmJlZ2lu
KCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAgICBWZWN0b3I8U3RyaW5nPiBzdWJ0cmFuc2Zv
cm0gPSAoKml0KS5zcGxpdCgnKCcpOwotCi0gICAgICAgIGlmIChzdWJ0cmFuc2Zvcm0uc2l6ZSgp
IDwgMikKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsgLy8gaW52YWxpZCB0cmFuc2Zvcm0sIGln
bm9yZS4KLQotICAgICAgICBzdWJ0cmFuc2Zvcm1bMF0gPSBzdWJ0cmFuc2Zvcm1bMF0uc3RyaXBX
aGl0ZVNwYWNlKCkubG93ZXIoKTsKLSAgICAgICAgc3VidHJhbnNmb3JtWzFdID0gc3VidHJhbnNm
b3JtWzFdLnNpbXBsaWZ5V2hpdGVTcGFjZSgpOwotICAgICAgICBSZWd1bGFyRXhwcmVzc2lvbiBy
ZWcoIihbLV0/XFxkKlxcLj9cXGQrKD86ZVstXT9cXGQrKT8pIik7Ci0KLSAgICAgICAgaW50IHBv
cyA9IDA7Ci0gICAgICAgIFZlY3RvcjxTdHJpbmc+IHBhcmFtczsKLQotICAgICAgICB3aGlsZSAo
cG9zID49IDApIHsKLSAgICAgICAgICAgIHBvcyA9IHJlZy5zZWFyY2goc3VidHJhbnNmb3JtWzFd
LmRlcHJlY2F0ZWRTdHJpbmcoKSwgcG9zKTsKLSAgICAgICAgICAgIGlmIChwb3MgIT0gLTEpIHsK
LSAgICAgICAgICAgICAgICBwYXJhbXMuYXBwZW5kKHJlZy5jYXAoMSkpOwotICAgICAgICAgICAg
ICAgIHBvcyArPSByZWcubWF0Y2hlZExlbmd0aCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9
Ci0gICAgICAgIGludCBucGFyYW1zID0gcGFyYW1zLnNpemUoKTsKKyAgICBpbnQgb3B0aW9uYWxQ
YXJhbXMgPSAwLCByZXF1aXJlZFBhcmFtcyA9IDA7CisgICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0
ciwgZW5kKTsKKyAgICBpZiAoKnB0ciAhPSAnKCcpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBw
dHIrKzsKKyAgICBza2lwT3B0aW9uYWxTcGFjZXMocHRyLCBlbmQpOworCisgICAgd2hpbGUgKHJl
cXVpcmVkUGFyYW1zIDwgcmVxdWlyZWQpIHsKKyAgICAgICAgaWYgKCFwYXJzZU51bWJlcihwdHIs
IGVuZCwgeFtyZXF1aXJlZFBhcmFtc10sIGZhbHNlKSkKKyAgICAgICAgICAgIHJldHVybiAtMTsK
KyAgICAgICAgcmVxdWlyZWRQYXJhbXMrKzsKKyAgICAgICAgaWYgKHJlcXVpcmVkUGFyYW1zIDwg
cmVxdWlyZWQpCisgICAgICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXNPckRlbGltaXRlcihwdHIs
IGVuZCk7CisgICAgfQorICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIsIGVuZCk7CisgICAgYm9v
bCBkZWxpbVBhcnNlZCA9IHNraXBPcHRpb25hbFNwYWNlc09yRGVsaW1pdGVyKHB0ciwgZW5kKTsK
IAotICAgICAgICBpZiAobnBhcmFtcyA8IDEpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8v
IGludmFsaWQgdHJhbnNmb3JtLCBpZ25vcmUuCisgICAgaWYgKCpwdHIgPT0gJyknKSB7IC8vIHNr
aXAgb3B0aW9uYWxzCisgICAgICAgIHB0cisrOworICAgICAgICBpZiAoZGVsaW1QYXJzZWQpCisg
ICAgICAgICAgICByZXR1cm4gLTE7CisgICAgfSBlbHNlIHsKKyAgICAgICAgIHdoaWxlIChvcHRp
b25hbFBhcmFtcyA8IG9wdGlvbmFsKSB7CisgICAgICAgICAgICBpZiAoIXBhcnNlTnVtYmVyKHB0
ciwgZW5kLCB4W3JlcXVpcmVkUGFyYW1zICsgb3B0aW9uYWxQYXJhbXNdLCBmYWxzZSkpCisgICAg
ICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICAgICAgb3B0aW9uYWxQYXJhbXMrKzsKKyAg
ICAgICAgICAgIGlmIChvcHRpb25hbFBhcmFtcyA8IG9wdGlvbmFsKQorICAgICAgICAgICAgICAg
IHNraXBPcHRpb25hbFNwYWNlc09yRGVsaW1pdGVyKHB0ciwgZW5kKTsKKyAgICAgICAgIH0KKyAg
ICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIsIGVuZCk7CisgICAgICAgICBkZWxpbVBhcnNl
ZCA9IHNraXBPcHRpb25hbFNwYWNlc09yRGVsaW1pdGVyKHB0ciwgZW5kKTsKKworICAgICAgICBp
ZiAoKnB0ciAhPSAnKScgfHwgZGVsaW1QYXJzZWQpCisgICAgICAgICAgICByZXR1cm4gLTE7Cisg
ICAgICAgIHB0cisrOworICAgIH0KIAotICAgICAgICBpZiAoc3VidHJhbnNmb3JtWzBdLnN0YXJ0
c1dpdGgoIjsiKSB8fCBzdWJ0cmFuc2Zvcm1bMF0uc3RhcnRzV2l0aCgiLCIpKQotICAgICAgICAg
ICAgc3VidHJhbnNmb3JtWzBdID0gc3VidHJhbnNmb3JtWzBdLnN1YnN0cmluZygxKS5zdHJpcFdo
aXRlU3BhY2UoKTsKKyAgICByZXR1cm4gcmVxdWlyZWRQYXJhbXMgKyBvcHRpb25hbFBhcmFtczsK
K30KKworYm9vbCBTVkdUcmFuc2Zvcm1hYmxlOjpwYXJzZVRyYW5zZm9ybUF0dHJpYnV0ZShTVkdU
cmFuc2Zvcm1MaXN0KiBsaXN0LCBjb25zdCBBdG9taWNTdHJpbmcmIHRyYW5zZm9ybSkKK3sKKyAg
ICBkb3VibGUgeFs2XSA9IHswLCAwLCAwLCAwLCAwLCAwfTsKKyAgICBpbnQgbnIgPSAwLCByZXF1
aXJlZCA9IDAsIG9wdGlvbmFsID0gMDsKKyAgICAKKyAgICBjb25zdCBVQ2hhciogY3VyclRyYW5z
Zm9ybSA9IHRyYW5zZm9ybS5jaGFyYWN0ZXJzKCk7CisgICAgY29uc3QgVUNoYXIqIGVuZCA9IGN1
cnJUcmFuc2Zvcm0gKyB0cmFuc2Zvcm0ubGVuZ3RoKCk7CisKKyAgICBib29sIGRlbGltUGFyc2Vk
ID0gZmFsc2U7CisgICAgd2hpbGUgKGN1cnJUcmFuc2Zvcm0gPCBlbmQpIHsKKyAgICAgICAgZGVs
aW1QYXJzZWQgPSBmYWxzZTsKKyAgICAgICAgdW5zaWduZWQgc2hvcnQgdHlwZSA9IFNWR1RyYW5z
Zm9ybTo6U1ZHX1RSQU5TRk9STV9VTktOT1dOOworICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMo
Y3VyclRyYW5zZm9ybSwgZW5kKTsKKworICAgICAgICBpZiAoKmN1cnJUcmFuc2Zvcm0gPT0gJ3Mn
KSB7CisgICAgICAgICAgICBpZiAoIShlbmQgLSBjdXJyVHJhbnNmb3JtKSA+IDUpCisgICAgICAg
ICAgICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgICAgIGlmIChjdXJyVHJhbnNmb3JtWzFd
ID09ICdrJyAmJiBjdXJyVHJhbnNmb3JtWzJdID09ICdlJyAmJgorICAgICAgICAgICAgICAgICAg
Y3VyclRyYW5zZm9ybVszXSA9PSAndycpIHsKKyAgICAgICAgICAgICAgICBpZiAoY3VyclRyYW5z
Zm9ybVs0XSA9PSAnWCcpCisgICAgICAgICAgICAgICAgICAgIHR5cGUgPSBTVkdUcmFuc2Zvcm06
OlNWR19UUkFOU0ZPUk1fU0tFV1g7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoY3VyclRyYW5z
Zm9ybVs0XSA9PSAnWScpCisgICAgICAgICAgICAgICAgICAgIHR5cGUgPSBTVkdUcmFuc2Zvcm06
OlNWR19UUkFOU0ZPUk1fU0tFV1k7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICAgICAgICAgIHJlcXVpcmVkID0gMTsKKyAg
ICAgICAgICAgICAgICBvcHRpb25hbCA9IDA7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGN1cnJU
cmFuc2Zvcm1bMV0gPT0gJ2MnICYmIGN1cnJUcmFuc2Zvcm1bMl0gPT0gJ2EnICYmCisgICAgICAg
ICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzNdID09ICdsJyAmJiBjdXJyVHJhbnNmb3JtWzRdID09
ICdlJykgeworICAgICAgICAgICAgICAgIHJlcXVpcmVkID0gMTsKKyAgICAgICAgICAgICAgICBv
cHRpb25hbCA9IDE7CisgICAgICAgICAgICAgICAgdHlwZSA9IFNWR1RyYW5zZm9ybTo6U1ZHX1RS
QU5TRk9STV9TQ0FMRTsKKyAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIGdvdG8g
YmFpbF9vdXQ7CisgICAgICAgICAgICBjdXJyVHJhbnNmb3JtICs9IDU7CisgICAgICAgIH0gZWxz
ZSBpZiAoKmN1cnJUcmFuc2Zvcm0gPT0gJ3QnKSB7CisgICAgICAgICAgICBpZiAoISgoZW5kIC0g
Y3VyclRyYW5zZm9ybSkgPiA5KSAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVsx
XSA9PSAncicgJiYgY3VyclRyYW5zZm9ybVsyXSA9PSAnYScgJiYKKyAgICAgICAgICAgICAgICAg
IGN1cnJUcmFuc2Zvcm1bM10gPT0gJ24nICYmIGN1cnJUcmFuc2Zvcm1bNF0gPT0gJ3MnICYmCisg
ICAgICAgICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzVdID09ICdsJyAmJiBjdXJyVHJhbnNmb3Jt
WzZdID09ICdhJyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVs3XSA9PSAndCcg
JiYgY3VyclRyYW5zZm9ybVs4XSA9PSAnZScpCisgICAgICAgICAgICAgICAgZ290byBiYWlsX291
dDsKKyAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm0gKz0gOTsKKyAgICAgICAgICAgIHJlcXVpcmVk
ID0gMTsKKyAgICAgICAgICAgIG9wdGlvbmFsID0gMTsKKyAgICAgICAgICAgIHR5cGUgPSBTVkdU
cmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fVFJBTlNMQVRFOworICAgICAgICB9IGVsc2UgaWYgKCpj
dXJyVHJhbnNmb3JtID09ICdyJykgeworICAgICAgICAgICAgaWYgKCEoKGVuZCAtIGN1cnJUcmFu
c2Zvcm0pID4gNikgJiYKKyAgICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1bMV0gPT0gJ28n
ICYmIGN1cnJUcmFuc2Zvcm1bMl0gPT0gJ3QnICYmCisgICAgICAgICAgICAgICAgICBjdXJyVHJh
bnNmb3JtWzNdID09ICdhJyAmJiBjdXJyVHJhbnNmb3JtWzRdID09ICd0JyAmJgorICAgICAgICAg
ICAgICAgICAgY3VyclRyYW5zZm9ybVs1XSA9PSAnZScpCisgICAgICAgICAgICAgICAgZ290byBi
YWlsX291dDsKKyAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm0gKz0gNjsKKyAgICAgICAgICAgIHJl
cXVpcmVkID0gMTsKKyAgICAgICAgICAgIG9wdGlvbmFsID0gMjsKKyAgICAgICAgICAgIHR5cGUg
PSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fUk9UQVRFOworICAgICAgICB9IGVsc2UgaWYg
KCpjdXJyVHJhbnNmb3JtID09ICdtJykgeworICAgICAgICAgICAgaWYgKCEoKGVuZCAtIGN1cnJU
cmFuc2Zvcm0pID4gNikgJiYgY3VyclRyYW5zZm9ybVsxXSA9PSAnYScgJiYKKyAgICAgICAgICAg
ICAgICAgIGN1cnJUcmFuc2Zvcm1bMl0gPT0gJ3QnICYmIGN1cnJUcmFuc2Zvcm1bM10gPT0gJ3In
ICYmCisgICAgICAgICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzRdID09ICdpJyAmJiBjdXJyVHJh
bnNmb3JtWzVdID09ICd4JykKKyAgICAgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAg
ICAgICAgY3VyclRyYW5zZm9ybSArPSA2OworICAgICAgICAgICAgcmVxdWlyZWQgPSA2OworICAg
ICAgICAgICAgb3B0aW9uYWwgPSAwOworICAgICAgICAgICAgdHlwZSA9IFNWR1RyYW5zZm9ybTo6
U1ZHX1RSQU5TRk9STV9NQVRSSVg7CisgICAgICAgIH0gZWxzZSAKKyAgICAgICAgICAgIGdvdG8g
YmFpbF9vdXQ7CisKKyAgICAgICAgaWYgKChuciA9IHBhcnNlVHJhbnNmb3JtUGFyYW1MaXN0KGN1
cnJUcmFuc2Zvcm0sIGVuZCwgeCwgcmVxdWlyZWQsIG9wdGlvbmFsKSkgPCAwKQorICAgICAgICAg
ICAgZ290byBiYWlsX291dDsKIAogICAgICAgICBTVkdUcmFuc2Zvcm0qIHQgPSBuZXcgU1ZHVHJh
bnNmb3JtKCk7CiAKLSAgICAgICAgaWYgKHN1YnRyYW5zZm9ybVswXSA9PSAicm90YXRlIiAmJiAo
bnBhcmFtcyA9PSAxIHx8IG5wYXJhbXMgPT0gMykpIHsKLSAgICAgICAgICAgIGlmIChucGFyYW1z
ID09IDMpCi0gICAgICAgICAgICAgICAgdC0+c2V0Um90YXRlKHBhcmFtc1swXS50b0RvdWJsZSgp
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNbMV0udG9Eb3VibGUoKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1syXS50b0RvdWJsZSgpKTsKLSAgICAg
ICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0LT5zZXRSb3RhdGUocGFyYW1zWzBdLnRvRG91
YmxlKCksIDAsIDApOwotICAgICAgICB9IGVsc2UgaWYgKHN1YnRyYW5zZm9ybVswXSA9PSAidHJh
bnNsYXRlIiAmJiAobnBhcmFtcyA9PSAxIHx8IG5wYXJhbXMgPT0gMikpIHsKLSAgICAgICAgICAg
IGlmIChucGFyYW1zID09IDIpCi0gICAgICAgICAgICAgICAgdC0+c2V0VHJhbnNsYXRlKHBhcmFt
c1swXS50b0RvdWJsZSgpLCBwYXJhbXNbMV0udG9Eb3VibGUoKSk7Ci0gICAgICAgICAgICBlbHNl
IC8vIFNwZWM6IGlmIG9ubHkgb25lIHBhcmFtIGdpdmVuLCBhc3N1bWUgMm5kIHBhcmFtIHRvIGJl
IDAKLSAgICAgICAgICAgICAgICB0LT5zZXRUcmFuc2xhdGUocGFyYW1zWzBdLnRvRG91YmxlKCks
IDApOwotICAgICAgICB9IGVsc2UgaWYgKHN1YnRyYW5zZm9ybVswXSA9PSAic2NhbGUiICYmIChu
cGFyYW1zID09IDEgfHwgbnBhcmFtcyA9PSAyKSkgewotICAgICAgICAgICAgaWYgKG5wYXJhbXMg
PT0gMikKLSAgICAgICAgICAgICAgICB0LT5zZXRTY2FsZShwYXJhbXNbMF0udG9Eb3VibGUoKSwg
cGFyYW1zWzFdLnRvRG91YmxlKCkpOwotICAgICAgICAgICAgZWxzZSAvLyBTcGVjOiBpZiBvbmx5
IG9uZSBwYXJhbSBnaXZlbiwgYXNzdW1lIHVuaWZvcm0gc2NhbGluZwotICAgICAgICAgICAgICAg
IHQtPnNldFNjYWxlKHBhcmFtc1swXS50b0RvdWJsZSgpLCBwYXJhbXNbMF0udG9Eb3VibGUoKSk7
Ci0gICAgICAgIH0gZWxzZSBpZiAoc3VidHJhbnNmb3JtWzBdID09ICJza2V3eCIgJiYgbnBhcmFt
cyA9PSAxKQotICAgICAgICAgICAgdC0+c2V0U2tld1gocGFyYW1zWzBdLnRvRG91YmxlKCkpOwot
ICAgICAgICBlbHNlIGlmIChzdWJ0cmFuc2Zvcm1bMF0gPT0gInNrZXd5IiAmJiBucGFyYW1zID09
IDEpCi0gICAgICAgICAgICB0LT5zZXRTa2V3WShwYXJhbXNbMF0udG9Eb3VibGUoKSk7Ci0gICAg
ICAgIGVsc2UgaWYgKHN1YnRyYW5zZm9ybVswXSA9PSAibWF0cml4IiAmJiBucGFyYW1zID09IDYp
IHsKLSAgICAgICAgICAgIEFmZmluZVRyYW5zZm9ybSByZXQocGFyYW1zWzBdLnRvRG91YmxlKCks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1sxXS50b0RvdWJsZSgpLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNbMl0udG9Eb3VibGUoKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zWzNdLnRvRG91YmxlKCksCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1s0XS50b0RvdWJsZSgpLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNbNV0udG9Eb3VibGUoKSk7Ci0gICAgICAg
ICAgICB0LT5zZXRNYXRyaXgocmV0KTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGRl
bGV0ZSB0OwotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBmYWlsZWQgdG8gcGFyc2UgYSB2
YWxpZCB0cmFuc2Zvcm0sIGFib3J0LgorICAgICAgICBzd2l0Y2ggKHR5cGUpIHsKKyAgICAgICAg
ICAgIGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1NLRVdYOgorICAgICAgICAgICAg
ICAgdC0+c2V0U2tld1goeFswXSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg
ICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9TS0VXWToKKyAgICAgICAgICAgICAg
IHQtPnNldFNrZXdZKHhbMF0pOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
Y2FzZSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fU0NBTEU6CisgICAgICAgICAgICAgICAg
ICBpZiAobnIgPT0gMSkgLy8gU3BlYzogaWYgb25seSBvbmUgcGFyYW0gZ2l2ZW4sIGFzc3VtZSB1
bmlmb3JtIHNjYWxpbmcKKyAgICAgICAgICAgICAgICAgICAgICB0LT5zZXRTY2FsZSh4WzBdLCB4
WzBdKTsKKyAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICB0LT5z
ZXRTY2FsZSh4WzBdLCB4WzFdKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
IGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1RSQU5TTEFURToKKyAgICAgICAgICAg
ICAgICAgIGlmIChuciA9PSAxKSAvLyBTcGVjOiBpZiBvbmx5IG9uZSBwYXJhbSBnaXZlbiwgYXNz
dW1lIDJuZCBwYXJhbSB0byBiZSAwCisgICAgICAgICAgICAgICAgICAgICAgdC0+c2V0VHJhbnNs
YXRlKHhbMF0sIDApOworICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAg
ICAgIHQtPnNldFRyYW5zbGF0ZSh4WzBdLCB4WzFdKTsKKyAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1JPVEFURToKKyAg
ICAgICAgICAgICAgICAgIGlmIChuciA9PSAxKQorICAgICAgICAgICAgICAgICAgICAgIHQtPnNl
dFJvdGF0ZSh4WzBdLCAwLCAwKTsKKyAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgICB0LT5zZXRSb3RhdGUoeFswXSwgeFsxXSwgeFsyXSk7CisgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9N
QVRSSVg6CisgICAgICAgICAgICAgICAgdC0+c2V0TWF0cml4KEFmZmluZVRyYW5zZm9ybSh4WzBd
LCB4WzFdLCB4WzJdLCB4WzNdLCB4WzRdLCB4WzVdKSk7CisgICAgICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KIAogICAgICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICAgICAgbGlz
dC0+YXBwZW5kSXRlbSh0LCBlYyk7CisgICAgICAgIHNraXBPcHRpb25hbFNwYWNlcyhjdXJyVHJh
bnNmb3JtLCBlbmQpOworICAgICAgICBpZiAoY3VyclRyYW5zZm9ybSA8IGVuZCAmJiAqY3VyclRy
YW5zZm9ybSA9PSAnLCcpIHsKKyAgICAgICAgICAgIGRlbGltUGFyc2VkID0gdHJ1ZTsKKyAgICAg
ICAgICAgIGN1cnJUcmFuc2Zvcm0rKzsKKyAgICAgICAgfQorCQlza2lwT3B0aW9uYWxTcGFjZXMo
Y3VyclRyYW5zZm9ybSwgZW5kKTsKICAgICB9CiAKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1
cm4gIWRlbGltUGFyc2VkOworCitiYWlsX291dDogOworICAgIHJldHVybiBmYWxzZTsKIH0KIAog
fQpJbmRleDogV2ViQ29yZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5jcHAJKHJldmlzaW9uIDE4NDM1KQor
KysgV2ViQ29yZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE0MSw3ICsxNDEsNyBAQCB2b2lkIFNWR1BvbHlQYXJzZXI6OnBhcnNlUG9pbnRzKGNvbnN0IERl
CiAgICAgfQogfQogCi12b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZHKGNvbnN0IERlcHJlY2F0
ZWRTdHJpbmcmIHMsIGJvb2wgcHJvY2VzcykKK3ZvaWQgRGVwcmVjYXRlZFNWR1BhdGhQYXJzZXI6
OnBhcnNlU1ZHKGNvbnN0IERlcHJlY2F0ZWRTdHJpbmcmIHMsIGJvb2wgcHJvY2VzcykKIHsKICAg
ICBpZiAocy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKQEAgLTQzNiw3ICs0MzYsNyBAQCB2
b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZHKGNvbnN0IERlcHJlCiAvLyBGb3IgZWFjaCBiZXpp
ZXIgZm91bmQgYSBzdmdUb0N1cnZlIGNhbGwgaXMgZG9uZS4KIC8vIEFkYXB0ZWQgZnJvbSBOaWtv
J3MgY29kZSBpbiBrZGVsaWJzL2tkZWNvcmUvc3ZnaWNvbnMuCiAvLyBNYXliZSB0aGlzIGNhbiBz
ZXJ2ZSBpbiBzb21lIHNoYXJlZCBsaWI/IChSb2IpCi12b2lkIFNWR1BhdGhQYXJzZXI6OmNhbGN1
bGF0ZUFyYyhib29sIHJlbGF0aXZlLCBkb3VibGUgJmN1cngsIGRvdWJsZSAmY3VyeSwgZG91Ymxl
IGFuZ2xlLCBkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSByMSwgZG91YmxlIHIyLCBib29sIGxh
cmdlQXJjRmxhZywgYm9vbCBzd2VlcEZsYWcpCit2b2lkIERlcHJlY2F0ZWRTVkdQYXRoUGFyc2Vy
OjpjYWxjdWxhdGVBcmMoYm9vbCByZWxhdGl2ZSwgZG91YmxlICZjdXJ4LCBkb3VibGUgJmN1cnks
IGRvdWJsZSBhbmdsZSwgZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUgcjEsIGRvdWJsZSByMiwg
Ym9vbCBsYXJnZUFyY0ZsYWcsIGJvb2wgc3dlZXBGbGFnKQogewogICAgIGRvdWJsZSBzaW5fdGgs
IGNvc190aDsKICAgICBkb3VibGUgYTAwLCBhMDEsIGExMCwgYTExOwpAQCAtNTY5LDI3ICs1Njks
MjcgQEAgdm9pZCBTVkdQYXRoUGFyc2VyOjpjYWxjdWxhdGVBcmMoYm9vbCByZQogICAgICAgICBj
dXJ5ICs9IHk7ICAgIAogfQogCi12b2lkIFNWR1BhdGhQYXJzZXI6OnN2Z0xpbmVUb0hvcml6b250
YWwoZG91YmxlLCBib29sKQordm9pZCBEZXByZWNhdGVkU1ZHUGF0aFBhcnNlcjo6c3ZnTGluZVRv
SG9yaXpvbnRhbChkb3VibGUsIGJvb2wpCiB7CiB9CiAKLXZvaWQgU1ZHUGF0aFBhcnNlcjo6c3Zn
TGluZVRvVmVydGljYWwoZG91YmxlLCBib29sKQordm9pZCBEZXByZWNhdGVkU1ZHUGF0aFBhcnNl
cjo6c3ZnTGluZVRvVmVydGljYWwoZG91YmxlLCBib29sKQogewogfQogCi12b2lkIFNWR1BhdGhQ
YXJzZXI6OnN2Z0N1cnZlVG9DdWJpY1Ntb290aChkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3Vi
bGUsIGJvb2wpCit2b2lkIERlcHJlY2F0ZWRTVkdQYXRoUGFyc2VyOjpzdmdDdXJ2ZVRvQ3ViaWNT
bW9vdGgoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBib29sKQogewogfQogCi12b2lk
IFNWR1BhdGhQYXJzZXI6OnN2Z0N1cnZlVG9RdWFkcmF0aWMoZG91YmxlLCBkb3VibGUsIGRvdWJs
ZSwgZG91YmxlLCBib29sKQordm9pZCBEZXByZWNhdGVkU1ZHUGF0aFBhcnNlcjo6c3ZnQ3VydmVU
b1F1YWRyYXRpYyhkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGJvb2wpCiB7CiB9CiAK
LXZvaWQgU1ZHUGF0aFBhcnNlcjo6c3ZnQ3VydmVUb1F1YWRyYXRpY1Ntb290aChkb3VibGUsIGRv
dWJsZSwgYm9vbCkKK3ZvaWQgRGVwcmVjYXRlZFNWR1BhdGhQYXJzZXI6OnN2Z0N1cnZlVG9RdWFk
cmF0aWNTbW9vdGgoZG91YmxlLCBkb3VibGUsIGJvb2wpCiB7CiB9CiAKLXZvaWQgU1ZHUGF0aFBh
cnNlcjo6c3ZnQXJjVG8oZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGJv
b2wsIGJvb2wsIGJvb2wpCit2b2lkIERlcHJlY2F0ZWRTVkdQYXRoUGFyc2VyOjpzdmdBcmNUbyhk
b3VibGUsIGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgYm9vbCwgYm9vbCwgYm9vbCkK
IHsKIH0gCiAKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL3N2Z3BhdGhwYXJzZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9zdmdwYXRocGFyc2VyLmgJKHJldmlzaW9uIDE4NDM1
KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5oCSh3b3JraW5nIGNvcHkpCkBA
IC00OCwxMCArNDgsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUKICAgICAgKiBzdmcgcGF0aCBkYXRh
IGNvbW1hbmRzIGFuZCBwYXJhbWV0ZXJzLiBJbiB0aGUgc2Vjb25kIG1vZGUsIGl0IHdpbGwgY29u
dmVydCBhbGwKICAgICAgKiByZWxhdGl2ZSBjb29yZGluYXRlcyB0byBhYnNvbHV0ZSBvbmVzLCBh
bmQgY29udmVydCBhbGwgY3VydmVzIHRvIGN1YmljIGJlemllcnMuCiAgICAgICovCi0gICAgY2xh
c3MgU1ZHUGF0aFBhcnNlcgorICAgIGNsYXNzIERlcHJlY2F0ZWRTVkdQYXRoUGFyc2VyCiAgICAg
ewogICAgIHB1YmxpYzoKLSAgICAgICAgdmlydHVhbCB+U1ZHUGF0aFBhcnNlcigpIHsgfQorICAg
ICAgICB2aXJ0dWFsIH5EZXByZWNhdGVkU1ZHUGF0aFBhcnNlcigpIHsgfQogICAgICAgICB2b2lk
IHBhcnNlU1ZHKCBjb25zdCBEZXByZWNhdGVkU3RyaW5nICZkLCBib29sIHByb2Nlc3MgPSBmYWxz
ZSApOwogCiAgICAgcHJvdGVjdGVkOgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>12070</attachid>
            <date>2006-12-27 12:54:34 -0800</date>
            <delta_ts>2006-12-27 13:24:00 -0800</delta_ts>
            <desc>Better diff</desc>
            <filename>11108-transform.diff</filename>
            <type>text/plain</type>
            <size>45543</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE4NDM3KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDYtMTItMjcgIFJvYiBCdWlzICA8YnVpc0Br
ZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEltcHJvdmVkIHRlc3RjYXNlIGZvcjoKKyAgICAgICAgaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTExMDgKKyAgICAgICAgUmVwbGFjZSB1c2FnZSBvZiBzcGxpdCBieSBw
cm9wZXIgcGFyc2VycworICAgICAgICBodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTkwOAorICAgICAgICBXZWJLaXQgc3BlbmRzIDQwJSBvZiBpdHMgdGltZSBkaXNwbGF5
aW5nICJiYW1ib28uc3ZnIiBleGVjdXRpbmcgUmVnZXhlcworCisgICAgICAgICogc3ZnL2N1c3Rv
bS90cmFuc2Zvcm0taW52YWxpZC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3ZnL2N1c3RvbS90
cmFuc2Zvcm0taW52YWxpZC5zdmc6CisKIDIwMDYtMTItMjcgIEdlb2ZmcmV5IEdhcmVuICA8Z2dh
cmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6
IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdHJhbnNmb3JtLWludmFsaWQtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9jdXN0b20vdHJhbnNmb3JtLWludmFsaWQtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAxODQzNSkKKysrIExheW91dFRlc3RzL3N2Zy9jdXN0b20vdHJh
bnNmb3JtLWludmFsaWQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDMgKzMsMzEg
QEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtz
dmd9IGF0ICgwLDApIHNpemUgMTAweDEwMAogICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAs
MCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2Rh
dGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCiAg
ICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBl
PVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAsMC4wMEwx
MDAuMDAsMTAwLjAwTDAuMDAsMTAwLjAwIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgw
LDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtk
YXRhPSJNMC4wMCwwLjAwTDEwMC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAiXQor
ICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBM
MTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAo
MCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBb
ZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAsMC4wMEwxMDAuMDAsMTAwLjAwTDAuMDAsMTAwLjAwIl0K
KyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5
cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4wMCwwLjAw
TDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAiXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQg
KDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0g
W2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJd
CisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAsMC4w
MEwxMDAuMDAsMTAwLjAwTDAuMDAsMTAwLjAwIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0
ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1d
IFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAi
XQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtb
dHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAu
MDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBh
dCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19
XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAsMC4wMEwxMDAuMDAsMTAwLjAwTDAuMDAsMTAwLjAw
Il0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4wMCww
LjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAiXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0g
YXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBd
fV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4w
MCJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9
e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAs
MC4wMEwxMDAuMDAsMTAwLjAwTDAuMDAsMTAwLjAwIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9
IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAw
XX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAu
MDAiXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxs
PXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAw
LDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0
fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAw
MF19XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAsMC4wMEwxMDAuMDAsMTAwLjAwTDAuMDAsMTAw
LjAwIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmls
bD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4w
MCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAiXQorICAgICAgUmVuZGVyUGF0aCB7cmVj
dH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgw
MDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEw
MC4wMCJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2Zp
bGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAu
MDAsMC4wMEwxMDAuMDAsMTAwLjAwTDAuMDAsMTAwLjAwIl0KKyAgICAgIFJlbmRlclBhdGgge3Jl
Y3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4
MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwx
MDAuMDAiXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtm
aWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAw
LjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCisgICAgICBSZW5kZXJQYXRoIHty
ZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
ODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAsMC4wMEwxMDAuMDAsMTAwLjAwTDAuMDAs
MTAwLjAwIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBb
ZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEw
MC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAiXQorICAgICAgUmVuZGVyUGF0aCB7
cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMw
MDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBMMTAwLjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAw
LDEwMC4wMCJdCisgICAgICBSZW5kZXJQYXRoIHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAg
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEwx
MDAuMDAsMC4wMEwxMDAuMDAsMTAwLjAwTDAuMDAsMTAwLjAwIl0KKyAgICAgIFJlbmRlclBhdGgg
e3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEwMCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0j
MDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAwTDEwMC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4w
MCwxMDAuMDAiXQorICAgICAgUmVuZGVyUGF0aCB7cmVjdH0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAw
IFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDgwMDBdfV0gW2RhdGE9Ik0wLjAwLDAuMDBM
MTAwLjAwLDAuMDBMMTAwLjAwLDEwMC4wMEwwLjAwLDEwMC4wMCJdCisgICAgICBSZW5kZXJQYXRo
IHtyZWN0fSBhdCAoMCwwKSBzaXplIDEwMHgxMDAgW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9
IzAwODAwMF19XSBbZGF0YT0iTTAuMDAsMC4wMEwxMDAuMDAsMC4wMEwxMDAuMDAsMTAwLjAwTDAu
MDAsMTAwLjAwIl0KKyAgICAgIFJlbmRlclBhdGgge3JlY3R9IGF0ICgwLDApIHNpemUgMTAweDEw
MCBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFtkYXRhPSJNMC4wMCwwLjAw
TDEwMC4wMCwwLjAwTDEwMC4wMCwxMDAuMDBMMC4wMCwxMDAuMDAiXQpJbmRleDogTGF5b3V0VGVz
dHMvc3ZnL2N1c3RvbS90cmFuc2Zvcm0taW52YWxpZC5zdmcKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvc3ZnL2N1c3RvbS90cmFuc2Zvcm0taW52YWxpZC5zdmcJKHJldmlzaW9uIDE4NDM1KQor
KysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS90cmFuc2Zvcm0taW52YWxpZC5zdmcJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNyArMSwzNSBAQAogPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRG
LTgiIHN0YW5kYWxvbmU9Im5vIj8+CiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQg
U1ZHIDEuMC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQv
RFREL3N2ZzEwLmR0ZCI+Ci08c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIg
d2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KKzxzdmcgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIg
dmlld0JveD0iMCAwIDIwMCAyMDAiPgogICAgIDwhLS0gQm90aCBvZiB0aGVzZSBwcmV2aW91c2x5
IGNhdXNlZCBjcmFzaGVzLCBidXQgbm93IHNob3VsZCBiZSBpZ25vcmVkLiAtLT4KKwk8cmVjdCB3
aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJmb28oMjAsMjApIiBmaWxsPSJncmVl
biIvPgogCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNjYWxlKCki
IGZpbGw9ImdyZWVuIi8+Ci0JPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHRyYW5zZm9y
bT0iZm9vKDEsMSkiIGZpbGw9ImdyZWVuIi8+CisJPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIx
MDAiIHRyYW5zZm9ybT0ic2NhbGUoMjAsMjAsMjApIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0IHdp
ZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNjYWxlKDIwLCkiIGZpbGw9ImdyZWVu
Ii8+CisJPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHRyYW5zZm9ybT0ic2NhbGUoMjAs
LCkiIGZpbGw9ImdyZWVuIi8+CisJPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHRyYW5z
Zm9ybT0ic2NhbGUoMjAiIGZpbGw9ImdyZWVuIi8+CisJPHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0
PSIxMDAiIHRyYW5zZm9ybT0ic2NhbGUgMjApIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0IHdpZHRo
PSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNjYWxlKHIpIiBmaWxsPSJncmVlbiIvPgor
CTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgpIiBm
aWxsPSJncmVlbiIvPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09
InRyYW5zbGF0ZSgyMCwyMCwyMCkiIGZpbGw9ImdyZWVuIi8+CisJPHJlY3Qgd2lkdGg9IjEwMCIg
aGVpZ2h0PSIxMDAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwLCkiIGZpbGw9ImdyZWVuIi8+CisJ
PHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIwLCwp
IiBmaWxsPSJncmVlbiIvPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zv
cm09InRyYW5zbGF0ZSgyMCIgZmlsbD0iZ3JlZW4iLz4KKwk8cmVjdCB3aWR0aD0iMTAwIiBoZWln
aHQ9IjEwMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUgMjApIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0
IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZShyKSIgZmlsbD0i
Z3JlZW4iLz4KKwk8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJza2V3
WCgpIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFu
c2Zvcm09InNrZXdYKDIwLDIwLDIwKSIgZmlsbD0iZ3JlZW4iLz4KKwk8cmVjdCB3aWR0aD0iMTAw
IiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJza2V3WCgyMCwpIiBmaWxsPSJncmVlbiIvPgorCTxy
ZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNrZXdYKDIwLCwpIiBmaWxs
PSJncmVlbiIvPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNr
ZXdYKDIwIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0
cmFuc2Zvcm09InNrZXdYIDIwKSIgZmlsbD0iZ3JlZW4iLz4KKwk8cmVjdCB3aWR0aD0iMTAwIiBo
ZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJza2V3WChyKSIgZmlsbD0iZ3JlZW4iLz4KKwk8cmVjdCB3
aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNmb3JtPSJza2V3WSgpIiBmaWxsPSJncmVlbiIv
PgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNrZXdZKDIwLDIw
LDIwKSIgZmlsbD0iZ3JlZW4iLz4KKwk8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJh
bnNmb3JtPSJza2V3WSgyMCwpIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhl
aWdodD0iMTAwIiB0cmFuc2Zvcm09InNrZXdZKDIwLCwpIiBmaWxsPSJncmVlbiIvPgorCTxyZWN0
IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNrZXdZKDIwIiBmaWxsPSJncmVl
biIvPgorCTxyZWN0IHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB0cmFuc2Zvcm09InNrZXdZIDIw
KSIgZmlsbD0iZ3JlZW4iLz4KKwk8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdHJhbnNm
b3JtPSJza2V3WShyKSIgZmlsbD0iZ3JlZW4iLz4KKwk8cmVjdCB3aWR0aD0iMTAwIiBoZWlnaHQ9
IjEwMCIgdHJhbnNmb3JtPSJzY2FsZSgyMCksIHNjYWxlKDEpICAsIiBmaWxsPSJncmVlbiIvPgog
PC9zdmc+CkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0No
YW5nZUxvZwkocmV2aXNpb24gMTg0MzcpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDUxIEBACisyMDA2LTEyLTI3ICBSb2IgQnVpcyAgPGJ1aXNAa2RlLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRw
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTEwOAorICAgICAgICBSZXBsYWNl
IHVzYWdlIG9mIHNwbGl0IGJ5IHByb3BlciBwYXJzZXJzCisgICAgICAgIGh0dHA6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTA4CisgICAgICAgIFdlYktpdCBzcGVuZHMgNDAl
IG9mIGl0cyB0aW1lIGRpc3BsYXlpbmcgImJhbWJvby5zdmciIGV4ZWN1dGluZyBSZWdleGVzCisK
KyAgICAgICAgR2V0IHJpZCBvZiBzcGxpdCgpIHdoZW4gcGFyc2luZyB0cmFuc2Zvcm0gYXR0cmli
dXRlLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGtzdmcyL3N2Zy9TVkdQYXJzZXJVdGlscy5jcHA6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6cGFyc2VOdW1iZXIpOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VOdW1iZXJPcHRpb25h
bE51bWJlcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdQb2x5UGFyc2VyOjpwYXJzZVBvaW50cyk6
CisgICAgICAgIChXZWJDb3JlOjpTVkdQYXRoUGFyc2VyOjpwYXJzZVNWRyk6CisgICAgICAgIChX
ZWJDb3JlOjpTVkdQYXRoUGFyc2VyOjpjYWxjdWxhdGVBcmMpOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUGF0aFBhcnNlcjo6c3ZnTGluZVRvSG9yaXpvbnRhbCk6CisgICAgICAgIChXZWJDb3JlOjpT
VkdQYXRoUGFyc2VyOjpzdmdMaW5lVG9WZXJ0aWNhbCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQ
YXRoUGFyc2VyOjpzdmdDdXJ2ZVRvQ3ViaWNTbW9vdGgpOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UGF0aFBhcnNlcjo6c3ZnQ3VydmVUb1F1YWRyYXRpYyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdQ
YXRoUGFyc2VyOjpzdmdDdXJ2ZVRvUXVhZHJhdGljU21vb3RoKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1BhdGhQYXJzZXI6OnN2Z0FyY1RvKToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHUGFyc2Vy
VXRpbHMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjppc1doaXRlc3BhY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6c2tpcE9wdGlvbmFsU3BhY2VzKToKKyAgICAgICAgKFdlYkNvcmU6OnNraXBP
cHRpb25hbFNwYWNlc09yRGVsaW1pdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BvbHlQYXJz
ZXI6On5TVkdQb2x5UGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR1BhdGhQYXJzZXI6On5T
VkdQYXRoUGFyc2VyKToKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHUGF0aEVsZW1lbnQ6OlNWR1BhdGhFbGVtZW50KToKKyAgICAg
ICAgKiBrc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQuaDoKKyAgICAgICAgKiBrc3ZnMi9zdmcvU1ZH
VHJhbnNmb3JtYWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpwYXJzZVRyYW5zZm9ybVBhcmFt
TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpTVkdUcmFuc2Zvcm1hYmxlOjpwYXJzZVRyYW5zZm9y
bUF0dHJpYnV0ZSk6CisgICAgICAgICoga3N2ZzIvc3ZnL3N2Z3BhdGhwYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZHKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRlcHJlY2F0ZWRTVkdQYXRoUGFyc2VyOjpjYWxjdWxhdGVBcmMpOgorICAg
ICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZFNWR1BhdGhQYXJzZXI6OnN2Z0xpbmVUb0hvcml6b250
YWwpOgorICAgICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZFNWR1BhdGhQYXJzZXI6OnN2Z0xpbmVU
b1ZlcnRpY2FsKToKKyAgICAgICAgKFdlYkNvcmU6OkRlcHJlY2F0ZWRTVkdQYXRoUGFyc2VyOjpz
dmdDdXJ2ZVRvQ3ViaWNTbW9vdGgpOgorICAgICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZFNWR1Bh
dGhQYXJzZXI6OnN2Z0N1cnZlVG9RdWFkcmF0aWMpOgorICAgICAgICAoV2ViQ29yZTo6RGVwcmVj
YXRlZFNWR1BhdGhQYXJzZXI6OnN2Z0N1cnZlVG9RdWFkcmF0aWNTbW9vdGgpOgorICAgICAgICAo
V2ViQ29yZTo6RGVwcmVjYXRlZFNWR1BhdGhQYXJzZXI6OnN2Z0FyY1RvKToKKyAgICAgICAgKiBr
c3ZnMi9zdmcvc3ZncGF0aHBhcnNlci5oOgorICAgICAgICAoV2ViQ29yZTo6RGVwcmVjYXRlZFNW
R1BhdGhQYXJzZXI6On5EZXByZWNhdGVkU1ZHUGF0aFBhcnNlcik6CisKIDIwMDYtMTItMjcgIE5p
a29sYXMgWmltbWVybWFubiAgPHppbW1lcm1hbm5Aa2RlLm9yZz4KIAogICAgICAgICBCdWlsZCBm
aXgsIG5vdCByZXZpZXdlZC4KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCShyZXZpc2lvbiAxODQzNSkKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0yMTk5LDYgKzIxOTksOCBAQAogCQlB
QTRDM0E3NzBCMkIxNjc5MDAyMzM0QTIgLyogU3R5bGVFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQTRDM0E3NTBCMkIxNjc5MDAyMzM0QTIg
LyogU3R5bGVFbGVtZW50LmggKi87IH07CiAJCUFBQzhEQUIxMEFBMTAwMjAwMERDMDkwNyAvKiBT
VkdNZXRhZGF0YUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQUFDOERBQUYwQUExMDAyMDAwREMwOTA3IC8qIFNWR01ldGFkYXRhRWxlbWVu
dC5jcHAgKi87IH07CiAJCUFBQzhEQUIyMEFBMTAwMjAwMERDMDkwNyAvKiBTVkdNZXRhZGF0YUVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEFB
QzhEQUIwMEFBMTAwMjAwMERDMDkwNyAvKiBTVkdNZXRhZGF0YUVsZW1lbnQuaCAqLzsgfTsKKwkJ
QUFDRjdDNEUwQjQyRUU2MDAwMDgwQkQ4IC8qIFNWR1BhcnNlclV0aWxzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBQUNGN0M0QzBCNDJFRTYwMDAwODBC
RDggLyogU1ZHUGFyc2VyVXRpbHMuaCAqLzsgfTsKKwkJQUFDRjdDNEYwQjQyRUU2MDAwMDgwQkQ4
IC8qIFNWR1BhcnNlclV0aWxzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEFBQ0Y3QzREMEI0MkVFNjAwMDA4MEJEOCAvKiBTVkdQYXJzZXJVdGlscy5j
cHAgKi87IH07CiAJCUFCMjNBMzEyMDlCQkE3NzYwMDY3Q0M1MyAvKiBIVE1MVGV4dEZpZWxkSW5u
ZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEFCMjNBMzEwMDlCQkE3NzYwMDY3Q0M1MyAvKiBIVE1MVGV4dEZpZWxkSW5uZXJFbGVtZW50
LmNwcCAqLzsgfTsKIAkJQUIyM0EzMTMwOUJCQTc3NjAwNjdDQzUzIC8qIEhUTUxUZXh0RmllbGRJ
bm5lckVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEFCMjNBMzExMDlCQkE3NzYwMDY3Q0M1MyAvKiBIVE1MVGV4dEZpZWxkSW5uZXJFbGVtZW50
LmggKi87IH07CiAJCUFCMjNBMzI3MDlCQkE3RDAwMDY3Q0M1MyAvKiBCZWZvcmVUZXh0SW5zZXJ0
ZWRFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBQjIzQTMyNTA5QkJBN0QwMDA2N0NDNTMgLyogQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3Bw
ICovOyB9OwpAQCAtNTE3MSw2ICs1MTczLDggQEAKIAkJQUE0QzNBNzUwQjJCMTY3OTAwMjMzNEEy
IC8qIFN0eWxlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5
bGVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFBQzhEQUFGMEFBMTAw
MjAwMERDMDkwNyAvKiBTVkdNZXRhZGF0YUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNWR01ldGFkYXRhRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUFBQzhEQUIwMEFBMTAwMjAwMERDMDkwNyAvKiBTVkdNZXRhZGF0YUVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR01ldGFkYXRhRWxl
bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBQUNGN0M0QzBCNDJFRTYwMDAw
ODBCRDggLyogU1ZHUGFyc2VyVXRpbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFNWR1BhcnNlclV0aWxzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUFBQ0Y3
QzREMEI0MkVFNjAwMDA4MEJEOCAvKiBTVkdQYXJzZXJVdGlscy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHUGFyc2VyVXRpbHMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBQjIzQTMxMDA5QkJBNzc2MDA2N0NDNTMgLyogSFRNTFRleHRGaWVs
ZElubmVyRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SFRNTFRleHRGaWVsZElubmVyRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUFCMjNBMzExMDlCQkE3NzYwMDY3Q0M1MyAvKiBIVE1MVGV4dEZpZWxkSW5uZXJFbGVtZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MVGV4dEZpZWxkSW5uZXJF
bGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUFCMjNBMzI1MDlCQkE3RDAw
MDY3Q0M1MyAvKiBCZWZvcmVUZXh0SW5zZXJ0ZWRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQmVmb3JlVGV4dEluc2VydGVkRXZlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtODAzNSw2ICs4MDM5LDggQEAKIAkJQThDMEY3RkMwODk3
MDFGMzAwQkE1MTE0IC8qIHN2ZyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCisJCQkJQUFDRjdDNEMwQjQyRUU2MDAwMDgwQkQ4IC8qIFNWR1BhcnNlclV0aWxzLmgg
Ki8sCisJCQkJQUFDRjdDNEQwQjQyRUU2MDAwMDgwQkQ4IC8qIFNWR1BhcnNlclV0aWxzLmNwcCAq
LywKIAkJCQlCMjA5NjRCRDBBQjc2RUY2MDBFNEM3NDAgLyogU1ZHQW5nbGUuY3BwICovLAogCQkJ
CUIyMDk2NEJFMEFCNzZFRjYwMEU0Qzc0MCAvKiBTVkdBbmdsZS5oICovLAogCQkJCUIyQ0I0MTFG
MEFCNzU5MDQwMDREOUM0NSAvKiBTVkdFeHRlcm5hbFJlc291cmNlc1JlcXVpcmVkLmlkbCAqLywK
QEAgLTEwODUzLDYgKzEwODU5LDcgQEAKIAkJCQlFMTJFREI3QjBCMzA4QTc4MDAyNzA0QjYgLyog
RXZlbnRUYXJnZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUFCQzEyODc3MEIzM0FBNkQwMEM2OTNE
NSAvKiBQb3B1cE1lbnVDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQTEwQjkyMEIzODE4
QkQwMDA5OUFBNCAvKiBJbWFnZUJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQUFDRjdDNEUw
QjQyRUU2MDAwMDgwQkQ4IC8qIFNWR1BhcnNlclV0aWxzLmggaW4gSGVhZGVycyAqLywKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTEy
MTc3LDYgKzEyMTg0LDcgQEAKIAkJCQlCMjk3QkM3MDBCM0MxNENGMDA0NUE1OTAgLyogSlNTVkdQ
YXRoU2VnTGlzdEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNEM5QTVFQTBCM0QxMDVG
MDA1QTAyMzIgLyogU2V0dGluZ3MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIwODBBMTIwQjND
QTNCNjAwMTIwODUyIC8qIEpTU1ZHUG9pbnRMaXN0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCUFBQ0Y3QzRGMEI0MkVFNjAwMDA4MEJEOCAvKiBTVkdQYXJzZXJVdGlscy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0g
MDsKIAkJfTsKSW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhcnNlclV0aWxzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXJzZXJVdGlscy5jcHAJKHJldmlzaW9u
IDE4NDM1KQorKysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGFyc2VyVXRpbHMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDYgKzEsNyBAQAogLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBw
cm9qZWN0CiAgICBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDMgVGhlIEthcmJvbiBEZXZlbG9wZXJz
CiAgICAgICAgICAgICAgICAgIDIwMDYgICAgICAgQWxleGFuZGVyIEtlbGxldHQgPGx5cGFub3ZA
a2RlLm9yZz4KKyAgICAgICAgICAgICAgICAgMjAwNiAgICAgICBSb2IgQnVpcyA8YnVpc0BrZGUu
b3JnPgogCiAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCiAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjAsNDcgKzIxLDIwIEBACiAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpZmRlZiBTVkdfU1VQUE9SVAotI2luY2x1ZGUgInN2Z3BhdGhwYXJzZXIuaCIK
LSNpbmNsdWRlICJEZXByZWNhdGVkU3RyaW5nLmgiCisjaW5jbHVkZSAiU1ZHUGFyc2VyVXRpbHMu
aCIKKworI2luY2x1ZGUgIlN0cmluZy5oIgogI2luY2x1ZGUgPG1hdGguaD4KICNpbmNsdWRlIDx3
dGYvTWF0aEV4dHJhcy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLS8vIFNWRyBhbGxvd3Mg
c2V2ZXJhbCBkaWZmZXJlbnQgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzOgotLy8gaHR0cDovL3d3dy53
My5vcmcvVFIvU1ZHL3BhdGhzLmh0bWwjUGF0aERhdGFCTkYKLXN0YXRpYyBpbmxpbmUgYm9vbCBp
c1doaXRlc3BhY2UoY2hhciBjKSB7Ci0gICAgcmV0dXJuIChjID09ICcgJyB8fCBjID09ICdcdCcg
fHwgYyA9PSAnXG4nIHx8IGMgPT0gJ1xyJyk7Ci19Ci0KLS8vIEFsbCBzdHJpbmdzIGFyZSBhc3N1
bWVkIHRvIGJlIG51bGwgdGVybWluYXRlZAotc3RhdGljIGlubGluZSBib29sIHNraXBPcHRpb25h
bFNwYWNlcyhjb25zdCBjaGFyKiYgcHRyKSAvLyB0cnVlIG1lYW5zICJmb3VuZCBzcGFjZSIKLXsK
LSAgICBpZiAoIWlzV2hpdGVzcGFjZSgqcHRyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAg
IHdoaWxlIChpc1doaXRlc3BhY2UoKnB0cikpCi0gICAgICAgIHB0cisrOwotICAgIHJldHVybiB0
cnVlOwotfQotCi1zdGF0aWMgaW5saW5lIGJvb2wgc2tpcE9wdGlvbmFsU3BhY2VzT3JDb21tYShj
b25zdCBjaGFyKiYgcHRyKQotewotICAgIGlmICghaXNXaGl0ZXNwYWNlKCpwdHIpICYmICpwdHIg
IT0gJywnKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0
cik7Ci0gICAgaWYgKCpwdHIgPT0gJywnKSB7Ci0gICAgICAgIHB0cisrOwotICAgICAgICBza2lw
T3B0aW9uYWxTcGFjZXMocHRyKTsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0KLQotY29u
c3QgY2hhciogcGFyc2VDb29yZChjb25zdCBjaGFyKiBwdHIsIGRvdWJsZSAmbnVtYmVyKQorYm9v
bCBwYXJzZU51bWJlcihjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIqIGVuZCwgZG91Ymxl
ICZudW1iZXIsIGJvb2wgc2tpcCkKIHsKICAgICBpbnQgaW50ZWdlciwgZXhwb25lbnQ7CiAgICAg
ZG91YmxlIGRlY2ltYWwsIGZyYWM7CiAgICAgaW50IHNpZ24sIGV4cHNpZ247CisgICAgY29uc3Qg
VUNoYXIqIHN0YXJ0ID0gcHRyOwogCiAgICAgZXhwb25lbnQgPSAwOwogICAgIGludGVnZXIgPSAw
OwpAQCAtNzAsMzUgKzQ0LDM1IEBAIGNvbnN0IGNoYXIqIHBhcnNlQ29vcmQoY29uc3QgY2hhciog
cHRyLCAKICAgICBleHBzaWduID0gMTsKIAogICAgIC8vIHJlYWQgdGhlIHNpZ24KLSAgICBpZiAo
KnB0ciA9PSAnKycpCisgICAgaWYgKHB0ciA8IGVuZCAmJiAqcHRyID09ICcrJykKICAgICAgICAg
cHRyKys7Ci0gICAgZWxzZSBpZiAoKnB0ciA9PSAnLScpIHsKKyAgICBlbHNlIGlmIChwdHIgPCBl
bmQgJiYgKnB0ciA9PSAnLScpIHsKICAgICAgICAgcHRyKys7CiAgICAgICAgIHNpZ24gPSAtMTsK
ICAgICB9CiAgICAgLy8gcmVhZCB0aGUgaW50ZWdlciBwYXJ0Ci0gICAgd2hpbGUoKnB0ciAhPSAn
XDAnICYmICpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzknKQorICAgIHdoaWxlKHB0ciA8IGVuZCAm
JiAqcHRyID49ICcwJyAmJiAqcHRyIDw9ICc5JykKICAgICAgICAgaW50ZWdlciA9IChpbnRlZ2Vy
ICogMTApICsgKihwdHIrKykgLSAnMCc7CiAKLSAgICBpZiAoKnB0ciA9PSAnLicpIHsgLy8gcmVh
ZCB0aGUgZGVjaW1hbHMKKyAgICBpZiAocHRyIDwgZW5kICYmICpwdHIgPT0gJy4nKSB7IC8vIHJl
YWQgdGhlIGRlY2ltYWxzCiAgICAgICAgIHB0cisrOwotICAgICAgICB3aGlsZSgqcHRyICE9ICdc
MCcgJiYgKnB0ciA+PSAnMCcgJiYgKnB0ciA8PSAnOScpCisgICAgICAgIHdoaWxlKHB0ciA8IGVu
ZCAmJiAqcHRyID49ICcwJyAmJiAqcHRyIDw9ICc5JykKICAgICAgICAgICAgIGRlY2ltYWwgKz0g
KCoocHRyKyspIC0gJzAnKSAqIChmcmFjICo9IDAuMSk7CiAgICAgfQogCi0gICAgaWYgKCpwdHIg
PT0gJ2UnIHx8ICpwdHIgPT0gJ0UnKSB7IC8vIHJlYWQgdGhlIGV4cG9uZW50IHBhcnQKKyAgICBp
ZiAocHRyIDwgZW5kICYmICpwdHIgPT0gJ2UnIHx8ICpwdHIgPT0gJ0UnKSB7IC8vIHJlYWQgdGhl
IGV4cG9uZW50IHBhcnQKICAgICAgICAgcHRyKys7CiAKICAgICAgICAgLy8gcmVhZCB0aGUgc2ln
biBvZiB0aGUgZXhwb25lbnQKLSAgICAgICAgaWYgKCpwdHIgPT0gJysnKQorICAgICAgICBpZiAo
cHRyIDwgZW5kICYmICpwdHIgPT0gJysnKQogICAgICAgICAgICAgcHRyKys7Ci0gICAgICAgIGVs
c2UgaWYgKCpwdHIgPT0gJy0nKSB7CisgICAgICAgIGVsc2UgaWYgKHB0ciA8IGVuZCAmJiAqcHRy
ID09ICctJykgewogICAgICAgICAgICAgcHRyKys7CiAgICAgICAgICAgICBleHBzaWduID0gLTE7
CiAgICAgICAgIH0KIAogICAgICAgICBleHBvbmVudCA9IDA7Ci0gICAgICAgIHdoaWxlKCpwdHIg
IT0gJ1wwJyAmJiAqcHRyID49ICcwJyAmJiAqcHRyIDw9ICc5JykgeworICAgICAgICB3aGlsZSAo
cHRyIDwgZW5kICYmICpwdHIgPj0gJzAnICYmICpwdHIgPD0gJzknKSB7CiAgICAgICAgICAgICBl
eHBvbmVudCAqPSAxMDsKICAgICAgICAgICAgIGV4cG9uZW50ICs9ICpwdHIgLSAnMCc7CiAgICAg
ICAgICAgICBwdHIrKzsKQEAgLTEwOCw1NyArODIsNzMgQEAgY29uc3QgY2hhciogcGFyc2VDb29y
ZChjb25zdCBjaGFyKiBwdHIsIAogICAgIG51bWJlciA9IGludGVnZXIgKyBkZWNpbWFsOwogICAg
IG51bWJlciAqPSBzaWduICogcG93KDEwLjAsIGV4cHNpZ24gKiBleHBvbmVudCk7CiAKLSAgICBz
a2lwT3B0aW9uYWxTcGFjZXNPckNvbW1hKHB0cik7CisgICAgaWYgKHN0YXJ0ID09IHB0cikKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKHNraXApCisgICAgICAgIHNraXBPcHRpb25h
bFNwYWNlc09yRGVsaW1pdGVyKHB0ciwgZW5kKTsKIAotICAgIHJldHVybiBwdHI7CisgICAgcmV0
dXJuIHRydWU7CiB9CiAKLXZvaWQgU1ZHUG9seVBhcnNlcjo6cGFyc2VQb2ludHMoY29uc3QgRGVw
cmVjYXRlZFN0cmluZyYgcykgY29uc3QKK2Jvb2wgcGFyc2VOdW1iZXJPcHRpb25hbE51bWJlcihj
b25zdCBTdHJpbmcmIHMsIGRvdWJsZSYgeCwgZG91YmxlJiB5KQoreworICAgIGlmIChzLmlzRW1w
dHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNvbnN0IFVDaGFyKiBjdXIgPSBzLmNo
YXJhY3RlcnMoKTsKKyAgICBjb25zdCBVQ2hhciogZW5kID0gY3VyICsgcy5sZW5ndGgoKTsKKwor
ICAgIGlmICghcGFyc2VOdW1iZXIoY3VyLCBlbmQsIHgpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICBpZiAoY3VyID09IGVuZCkKKyAgICAgICAgeSA9IHg7CisgICAgZWxzZSBpZiAoIXBh
cnNlTnVtYmVyKGN1ciwgZW5kLCB5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0
dXJuIGN1ciA9PSBlbmQ7Cit9CisKK3ZvaWQgU1ZHUG9seVBhcnNlcjo6cGFyc2VQb2ludHMoY29u
c3QgU3RyaW5nJiBzKSBjb25zdAogewogICAgIGlmIChzLmlzRW1wdHkoKSkKICAgICAgICAgcmV0
dXJuOwotICAgIERlcHJlY2F0ZWRTdHJpbmcgcG9pbnREYXRhID0gczsKLSAgICBjb25zdCBjaGFy
KiBjdXJyU2VnbWVudCA9IHBvaW50RGF0YS5sYXRpbjEoKTsKLSAgICBjb25zdCBjaGFyKiBlb1N0
cmluZyA9IHBvaW50RGF0YS5sYXRpbjEoKSArIHBvaW50RGF0YS5sZW5ndGgoKTsKLSAgICAKLSAg
ICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyclNlZ21lbnQpOwotICAgIAorICAgIGNvbnN0IFVDaGFy
KiBjdXIgPSBzLmNoYXJhY3RlcnMoKTsKKyAgICBjb25zdCBVQ2hhciogZW5kID0gY3VyICsgcy5s
ZW5ndGgoKTsKKworICAgIHNraXBPcHRpb25hbFNwYWNlcyhjdXIsIGVuZCk7CisKICAgICBpbnQg
c2VnbWVudE51bSA9IDA7Ci0gICAgd2hpbGUgKGN1cnJTZWdtZW50IDwgZW9TdHJpbmcpIHsKLSAg
ICAgICAgY29uc3QgY2hhciogcHJldlNlZ21lbnQgPSBjdXJyU2VnbWVudDsKKyAgICB3aGlsZSAo
MSkgewogICAgICAgICBkb3VibGUgeFBvcyA9IDA7Ci0gICAgICAgIGN1cnJTZWdtZW50ID0gcGFy
c2VDb29yZChjdXJyU2VnbWVudCwgeFBvcyk7IAotICAgICAgICBpZiAoY3VyclNlZ21lbnQgPT0g
cHJldlNlZ21lbnQpCisgICAgICAgIGlmICghcGFyc2VOdW1iZXIoY3VyLCBlbmQsIHhQb3MpKQog
ICAgICAgICAgICAgYnJlYWs7CiAKLSAgICAgICAgcHJldlNlZ21lbnQgPSBjdXJyU2VnbWVudDsK
ICAgICAgICAgZG91YmxlIHlQb3MgPSAwOwotICAgICAgICBjdXJyU2VnbWVudCA9IHBhcnNlQ29v
cmQoY3VyclNlZ21lbnQsIHlQb3MpOwotICAgICAgICBpZiAoY3VyclNlZ21lbnQgPT0gcHJldlNl
Z21lbnQpCisgICAgICAgIGlmICghcGFyc2VOdW1iZXIoY3VyLCBlbmQsIHlQb3MpKQogICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAKKwogICAgICAgICBzdmdQb2x5VG8oeFBvcywgeVBv
cywgc2VnbWVudE51bSsrKTsKICAgICB9CiB9CiAKLXZvaWQgU1ZHUGF0aFBhcnNlcjo6cGFyc2VT
VkcoY29uc3QgRGVwcmVjYXRlZFN0cmluZyYgcywgYm9vbCBwcm9jZXNzKQordm9pZCBTVkdQYXRo
UGFyc2VyOjpwYXJzZVNWRyhjb25zdCBTdHJpbmcmIHMsIGJvb2wgcHJvY2VzcykKIHsKICAgICBp
ZiAocy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIERlcHJlY2F0ZWRTdHJpbmcg
ZCA9IHM7Ci0gICAgY29uc3QgY2hhciogcHRyID0gZC5sYXRpbjEoKTsKLSAgICBjb25zdCBjaGFy
KiBlbmQgPSBkLmxhdGluMSgpICsgZC5sZW5ndGgoKSArIDE7CisgICAgY29uc3QgVUNoYXIqIHB0
ciA9IHMuY2hhcmFjdGVycygpOworICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBwdHIgKyBzLmxlbmd0
aCgpOwogCiAgICAgZG91YmxlIGNvbnRybHgsIGNvbnRybHksIGN1cngsIGN1cnksIHN1YnBhdGh4
LCBzdWJwYXRoeSwgdG94LCB0b3ksIHgxLCB5MSwgeDIsIHkyLCB4YywgeWM7CiAgICAgZG91Ymxl
IHB4MSwgcHkxLCBweDIsIHB5MiwgcHgzLCBweTM7CiAgICAgYm9vbCBjbG9zZWQgPSB0cnVlOwot
ICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIpOyAvLyBza2lwIGFueSBsZWFkaW5nIHNwYWNlcwor
ICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIsIGVuZCk7IC8vIHNraXAgYW55IGxlYWRpbmcgc3Bh
Y2VzCiAgICAgY2hhciBjb21tYW5kID0gKihwdHIrKyksIGxhc3RDb21tYW5kID0gJyAnOwogCiAg
ICAgc3VicGF0aHggPSBzdWJwYXRoeSA9IGN1cnggPSBjdXJ5ID0gY29udHJseCA9IGNvbnRybHkg
PSAwLjA7Ci0gICAgd2hpbGUocHRyIDwgZW5kKSB7Ci0gICAgICAgIHNraXBPcHRpb25hbFNwYWNl
cyhwdHIpOyAvLyBza2lwIHNwYWNlcyBiZXR3ZWVuIGNvbW1hbmQgYW5kIGZpcnN0IGNvb3JkCisg
ICAgd2hpbGUgKDEpIHsKKyAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0ciwgZW5kKTsgLy8g
c2tpcCBzcGFjZXMgYmV0d2VlbiBjb21tYW5kIGFuZCBmaXJzdCBjb29yZAogCiAgICAgICAgIGJv
b2wgcmVsYXRpdmUgPSBmYWxzZTsKIApAQCAtMTY4LDggKzE1OCwxMCBAQCB2b2lkIFNWR1BhdGhQ
YXJzZXI6OnBhcnNlU1ZHKGNvbnN0IERlcHJlCiAgICAgICAgICAgICAgICAgcmVsYXRpdmUgPSB0
cnVlOwogICAgICAgICAgICAgY2FzZSAnTSc6CiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFy
c2VDb29yZChwdHIsIHRveSk7CisgICAgICAgICAgICAgICAgaWYgKCFwYXJzZU51bWJlcihwdHIs
IGVuZCwgdG94KSkKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAg
aWYgKCFwYXJzZU51bWJlcihwdHIsIGVuZCwgdG95KSkKKyAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CiAKICAgICAgICAgICAgICAgICBpZiAocHJvY2VzcykgewogICAgICAgICAgICAgICAgICAg
ICBzdWJwYXRoeCA9IGN1cnggPSByZWxhdGl2ZSA/IGN1cnggKyB0b3ggOiB0b3g7CkBAIC0xODUs
OCArMTc3LDggQEAgdm9pZCBTVkdQYXRoUGFyc2VyOjpwYXJzZVNWRyhjb25zdCBEZXByZQogICAg
ICAgICAgICAgICAgIHJlbGF0aXZlID0gdHJ1ZTsKICAgICAgICAgICAgIGNhc2UgJ0wnOgogICAg
ICAgICAgICAgewotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3gpOwot
ICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3kpOworICAgICAgICAgICAg
ICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCB0b3gpOworICAgICAgICAgICAgICAgIHBhcnNlTnVt
YmVyKHB0ciwgZW5kLCB0b3kpOwogCiAgICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MpIHsKICAg
ICAgICAgICAgICAgICAgICAgY3VyeCA9IHJlbGF0aXZlID8gY3VyeCArIHRveCA6IHRveDsKQEAg
LTIwMCw3ICsxOTIsNyBAQCB2b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZHKGNvbnN0IERlcHJl
CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjYXNlICdoJzoKICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG94KTsKKyAgICAgICAgICAgICAg
ICBwYXJzZU51bWJlcihwdHIsIGVuZCwgdG94KTsKICAgICAgICAgICAgICAgICBpZiAocHJvY2Vz
cykgewogICAgICAgICAgICAgICAgICAgICBjdXJ4ID0gY3VyeCArIHRveDsKICAgICAgICAgICAg
ICAgICAgICAgc3ZnTGluZVRvKGN1cngsIGN1cnkpOwpAQCAtMjExLDcgKzIwMyw3IEBAIHZvaWQg
U1ZHUGF0aFBhcnNlcjo6cGFyc2VTVkcoY29uc3QgRGVwcmUKICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIGNhc2UgJ0gnOgogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHB0ciA9IHBh
cnNlQ29vcmQocHRyLCB0b3gpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5k
LCB0b3gpOwogICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzKSB7CiAgICAgICAgICAgICAgICAg
ICAgIGN1cnggPSB0b3g7CiAgICAgICAgICAgICAgICAgICAgIHN2Z0xpbmVUbyhjdXJ4LCBjdXJ5
KTsKQEAgLTIyMiw3ICsyMTQsNyBAQCB2b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZHKGNvbnN0
IERlcHJlCiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBjYXNlICd2JzoKICAgICAgICAgICAg
IHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95KTsKKyAgICAgICAg
ICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgdG95KTsKICAgICAgICAgICAgICAgICBpZiAo
cHJvY2VzcykgewogICAgICAgICAgICAgICAgICAgICBjdXJ5ID0gY3VyeSArIHRveTsKICAgICAg
ICAgICAgICAgICAgICAgc3ZnTGluZVRvKGN1cngsIGN1cnkpOwpAQCAtMjMzLDcgKzIyNSw3IEBA
IHZvaWQgU1ZHUGF0aFBhcnNlcjo6cGFyc2VTVkcoY29uc3QgRGVwcmUKICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIGNhc2UgJ1YnOgogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgIHB0
ciA9IHBhcnNlQ29vcmQocHRyLCB0b3kpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0
ciwgZW5kLCB0b3kpOwogICAgICAgICAgICAgICAgIGlmIChwcm9jZXNzKSB7CiAgICAgICAgICAg
ICAgICAgICAgIGN1cnkgPSB0b3k7CiAgICAgICAgICAgICAgICAgICAgIHN2Z0xpbmVUbyhjdXJ4
LCBjdXJ5KTsKQEAgLTI1OCwxMiArMjUwLDEyIEBAIHZvaWQgU1ZHUGF0aFBhcnNlcjo6cGFyc2VT
VkcoY29uc3QgRGVwcmUKICAgICAgICAgICAgICAgICByZWxhdGl2ZSA9IHRydWU7CiAgICAgICAg
ICAgICBjYXNlICdDJzoKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJz
ZUNvb3JkKHB0ciwgeDEpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB5
MSk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHgyKTsKLSAgICAgICAg
ICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgeTIpOwotICAgICAgICAgICAgICAgIHB0ciA9
IHBhcnNlQ29vcmQocHRyLCB0b3gpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQo
cHRyLCB0b3kpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCB4MSk7Cisg
ICAgICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHkxKTsKKyAgICAgICAgICAgICAg
ICBwYXJzZU51bWJlcihwdHIsIGVuZCwgeDIpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVy
KHB0ciwgZW5kLCB5Mik7CisgICAgICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRv
eCk7CisgICAgICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveSk7CiAKICAgICAg
ICAgICAgICAgICBpZiAocHJvY2VzcykgewogICAgICAgICAgICAgICAgICAgICBweDEgPSByZWxh
dGl2ZSA/IGN1cnggKyB4MSA6IHgxOwpAQCAtMjg5LDEwICsyODEsMTAgQEAgdm9pZCBTVkdQYXRo
UGFyc2VyOjpwYXJzZVNWRyhjb25zdCBEZXByZQogICAgICAgICAgICAgICAgIHJlbGF0aXZlID0g
dHJ1ZTsKICAgICAgICAgICAgIGNhc2UgJ1MnOgogICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB4Mik7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFy
c2VDb29yZChwdHIsIHkyKTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwg
dG94KTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgdG95KTsKKyAgICAg
ICAgICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgeDIpOworICAgICAgICAgICAgICAgIHBh
cnNlTnVtYmVyKHB0ciwgZW5kLCB5Mik7CisgICAgICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRy
LCBlbmQsIHRveCk7CisgICAgICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveSk7
CiAgICAgICAgICAgICAgICAgaWYgKCEobGFzdENvbW1hbmQgPT0gJ2MnIHx8IGxhc3RDb21tYW5k
ID09ICdDJyB8fAogICAgICAgICAgICAgICAgICAgICAgbGFzdENvbW1hbmQgPT0gJ3MnIHx8IGxh
c3RDb21tYW5kID09ICdTJykpIHsKICAgICAgICAgICAgICAgICAgICAgY29udHJseCA9IGN1cng7
CkBAIC0zMjIsMTAgKzMxNCwxMCBAQCB2b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZHKGNvbnN0
IERlcHJlCiAgICAgICAgICAgICAgICAgcmVsYXRpdmUgPSB0cnVlOwogICAgICAgICAgICAgY2Fz
ZSAnUSc6CiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChw
dHIsIHgxKTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgeTEpOwotICAg
ICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3gpOwotICAgICAgICAgICAgICAg
IHB0ciA9IHBhcnNlQ29vcmQocHRyLCB0b3kpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVy
KHB0ciwgZW5kLCB4MSk7CisgICAgICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHkx
KTsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgdG94KTsKKyAgICAgICAg
ICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgdG95KTsKIAogICAgICAgICAgICAgICAgIGlm
IChwcm9jZXNzKSB7CiAgICAgICAgICAgICAgICAgICAgIHB4MSA9IHJlbGF0aXZlID8gKGN1cngg
KyAyICogKHgxICsgY3VyeCkpICogKDEuMCAvIDMuMCkgOiAoY3VyeCArIDIgKiB4MSkgKiAoMS4w
IC8gMy4wKTsKQEAgLTM1MCw4ICszNDIsOCBAQCB2b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZH
KGNvbnN0IERlcHJlCiAgICAgICAgICAgICAgICAgcmVsYXRpdmUgPSB0cnVlOwogICAgICAgICAg
ICAgY2FzZSAnVCc6CiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VD
b29yZChwdHIsIHRveCk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRv
eSk7CisgICAgICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveCk7CisgICAgICAg
ICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveSk7CiAgICAgICAgICAgICAgICAgaWYg
KCEobGFzdENvbW1hbmQgPT0gJ3EnIHx8IGxhc3RDb21tYW5kID09ICdRJyB8fAogICAgICAgICAg
ICAgICAgICAgICAgbGFzdENvbW1hbmQgPT0gJ3QnIHx8IGxhc3RDb21tYW5kID09ICdUJykpIHsK
ICAgICAgICAgICAgICAgICAgICAgY29udHJseCA9IGN1cng7CkBAIC0zODYsMTUgKzM3OCwxNSBA
QCB2b2lkIFNWR1BhdGhQYXJzZXI6OnBhcnNlU1ZHKGNvbnN0IERlcHJlCiAgICAgICAgICAgICB7
CiAgICAgICAgICAgICAgICAgYm9vbCBsYXJnZUFyYywgc3dlZXA7CiAgICAgICAgICAgICAgICAg
ZG91YmxlIGFuZ2xlLCByeCwgcnk7Ci0gICAgICAgICAgICAgICAgcHRyID0gcGFyc2VDb29yZChw
dHIsIHJ4KTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0ciwgcnkpOwotICAg
ICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRyLCBhbmdsZSk7Ci0gICAgICAgICAgICAg
ICAgcHRyID0gcGFyc2VDb29yZChwdHIsIHRveCk7CisgICAgICAgICAgICAgICAgcGFyc2VOdW1i
ZXIocHRyLCBlbmQsIHJ4KTsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwg
cnkpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCBhbmdsZSk7CisgICAg
ICAgICAgICAgICAgcGFyc2VOdW1iZXIocHRyLCBlbmQsIHRveCk7CiAgICAgICAgICAgICAgICAg
bGFyZ2VBcmMgPSB0b3ggPT0gMTsKLSAgICAgICAgICAgICAgICBwdHIgPSBwYXJzZUNvb3JkKHB0
ciwgdG94KTsKKyAgICAgICAgICAgICAgICBwYXJzZU51bWJlcihwdHIsIGVuZCwgdG94KTsKICAg
ICAgICAgICAgICAgICBzd2VlcCA9IHRveCA9PSAxOwotICAgICAgICAgICAgICAgIHB0ciA9IHBh
cnNlQ29vcmQocHRyLCB0b3gpOwotICAgICAgICAgICAgICAgIHB0ciA9IHBhcnNlQ29vcmQocHRy
LCB0b3kpOworICAgICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCB0b3gpOworICAg
ICAgICAgICAgICAgIHBhcnNlTnVtYmVyKHB0ciwgZW5kLCB0b3kpOwogCiAgICAgICAgICAgICAg
ICAgLy8gU3BlYzogcmFkaWkgYXJlIG5vbm5lZ2F0aXZlIG51bWJlcnMKICAgICAgICAgICAgICAg
ICByeCA9IGZhYnMocngpOwpAQCAtNDEyLDYgKzQwNCw5IEBAIHZvaWQgU1ZHUGF0aFBhcnNlcjo6
cGFyc2VTVkcoY29uc3QgRGVwcmUKICAgICAgICAgfQogICAgICAgICBsYXN0Q29tbWFuZCA9IGNv
bW1hbmQ7CiAKKyAgICAgICAgaWYgKHB0ciA+PSBlbmQpCisgICAgICAgICAgICByZXR1cm47CisK
ICAgICAgICAgaWYgKCpwdHIgPT0gJysnIHx8ICpwdHIgPT0gJy0nIHx8ICgqcHRyID49ICcwJyAm
JiAqcHRyIDw9ICc5JykpIHsKICAgICAgICAgICAgIC8vIHRoZXJlIGFyZSBzdGlsbCBjb29yZHMg
aW4gdGhpcyBjb21tYW5kCiAgICAgICAgICAgICBpZiAoY29tbWFuZCA9PSAnTScpCkluZGV4OiBX
ZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXJzZXJVdGlscy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
a3N2ZzIvc3ZnL1NWR1BhcnNlclV0aWxzLmgJKHJldmlzaW9uIDE4NDM1KQorKysgV2ViQ29yZS9r
c3ZnMi9zdmcvU1ZHUGFyc2VyVXRpbHMuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAK
IC8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdAogICAgQ29weXJpZ2h0IChD
KSAyMDAyLCAyMDAzIFRoZSBLYXJib24gRGV2ZWxvcGVycworICAgICAgICAgICAgICAgICAyMDA2
ICAgICAgIFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+CiAKICAgIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAgIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0xNywy
NCArMTgsNTEgQEAKICAgIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgogKi8KIAotI2lmbmRl
ZiBfX1NWR1BBVEhQQVJTRVJfSF9fCi0jZGVmaW5lIF9fU1ZHUEFUSFBBUlNFUl9IX18KKyNpZm5k
ZWYgU1ZHUEFSU0VSVUlMU19ICisjZGVmaW5lIFNWR1BBUlNFUlVJTFNfSAogI2lmZGVmIFNWR19T
VVBQT1JUCiAKKyNpbmNsdWRlIDxQbGF0Zm9ybVN0cmluZy5oPgorCiBuYW1lc3BhY2UgV2ViQ29y
ZQogewotICAgIGNsYXNzIERlcHJlY2F0ZWRTdHJpbmc7CisgICAgYm9vbCBwYXJzZU51bWJlcihj
b25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIgKmVuZCwgZG91YmxlJiBudW1iZXIsIGJvb2wg
c2tpcCA9IHRydWUpOworICAgIGJvb2wgcGFyc2VOdW1iZXJPcHRpb25hbE51bWJlcihjb25zdCBT
dHJpbmcmIHMsIGRvdWJsZSYgaCwgZG91YmxlJiB2KTsKKworICAgIC8vIFNWRyBhbGxvd3Mgc2V2
ZXJhbCBkaWZmZXJlbnQgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzOgorICAgIC8vIGh0dHA6Ly93d3cu
dzMub3JnL1RSL1NWRy9wYXRocy5odG1sI1BhdGhEYXRhQk5GCisgICAgc3RhdGljIGlubGluZSBi
b29sIGlzV2hpdGVzcGFjZShjb25zdCBVQ2hhciYgYykgeworICAgICAgICByZXR1cm4gKGMgPT0g
JyAnIHx8IGMgPT0gJ1x0JyB8fCBjID09ICdcbicgfHwgYyA9PSAnXHInKTsKKyAgICB9CiAKLSAg
ICBjb25zdCBjaGFyICpwYXJzZUNvb3JkKGNvbnN0IGNoYXIgKnB0ciwgZG91YmxlICZudW1iZXIp
OworICAgIHN0YXRpYyBpbmxpbmUgYm9vbCBza2lwT3B0aW9uYWxTcGFjZXMoY29uc3QgVUNoYXIq
JiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQpCisgICAgeworICAgICAgICB3aGlsZSAocHRyIDwgZW5k
ICYmIGlzV2hpdGVzcGFjZSgqcHRyKSkKKyAgICAgICAgICAgIHB0cisrOworICAgICAgICByZXR1
cm4gcHRyIDwgZW5kOworICAgIH0KKworICAgIHN0YXRpYyBpbmxpbmUgYm9vbCBza2lwT3B0aW9u
YWxTcGFjZXNPckRlbGltaXRlcihjb25zdCBVQ2hhciomIHB0ciwgY29uc3QgVUNoYXIgKmVuZCwg
VUNoYXIgZGVsaW1pdGVyID0gJywnKQorICAgIHsKKyAgICAgICAgaWYgKHB0ciA8IGVuZCAmJiAh
aXNXaGl0ZXNwYWNlKCpwdHIpICYmICpwdHIgIT0gZGVsaW1pdGVyKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgICAgICBpZiAoc2tpcE9wdGlvbmFsU3BhY2VzKHB0ciwgZW5kKSkgewor
ICAgICAgICAgICAgaWYgKCpwdHIgPT0gZGVsaW1pdGVyKSB7CisgICAgICAgICAgICAgICAgcHRy
Kys7CisgICAgICAgICAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKHB0ciwgZW5kKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcHRyIDwgZW5kOworICAgIH0KIAog
ICAgIGNsYXNzIFNWR1BvbHlQYXJzZXIKICAgICB7CiAgICAgcHVibGljOgogICAgICAgICB2aXJ0
dWFsIH5TVkdQb2x5UGFyc2VyKCkgeyB9Ci0gICAgICAgIHZvaWQgcGFyc2VQb2ludHMoIGNvbnN0
IERlcHJlY2F0ZWRTdHJpbmcgJnBvaW50cyApIGNvbnN0OworICAgICAgICB2b2lkIHBhcnNlUG9p
bnRzKGNvbnN0IFN0cmluZyAmcG9pbnRzKSBjb25zdDsKIAogICAgIHByb3RlY3RlZDoKLSAgICAg
ICAgdmlydHVhbCB2b2lkIHN2Z1BvbHlUbyggZG91YmxlIHgxLCBkb3VibGUgeTEsIGludCBuciAp
IGNvbnN0ID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN2Z1BvbHlUbyhkb3VibGUgeDEsIGRv
dWJsZSB5MSwgaW50IG5yKSBjb25zdCA9IDA7CiAgICAgfTsKIAogICAgIC8qKgpAQCAtNTIsMjEg
KzgwLDIxIEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgewogICAgIHB1YmxpYzoKICAgICAgICAg
dmlydHVhbCB+U1ZHUGF0aFBhcnNlcigpIHsgfQotICAgICAgICB2b2lkIHBhcnNlU1ZHKCBjb25z
dCBEZXByZWNhdGVkU3RyaW5nICZkLCBib29sIHByb2Nlc3MgPSBmYWxzZSApOworICAgICAgICB2
b2lkIHBhcnNlU1ZHKGNvbnN0IFN0cmluZyAmZCwgYm9vbCBwcm9jZXNzID0gZmFsc2UpOwogCiAg
ICAgcHJvdGVjdGVkOgotICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnTW92ZVRvKCBkb3VibGUgeDEs
IGRvdWJsZSB5MSwgYm9vbCBjbG9zZWQsIGJvb2wgYWJzID0gdHJ1ZSApID0gMDsKLSAgICAgICAg
dmlydHVhbCB2b2lkIHN2Z0xpbmVUbyggZG91YmxlIHgxLCBkb3VibGUgeTEsIGJvb2wgYWJzID0g
dHJ1ZSApID0gMDsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0xpbmVUb0hvcml6b250YWwoIGRv
dWJsZSB4LCBib29sIGFicyA9IHRydWUgKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0xpbmVU
b1ZlcnRpY2FsKCBkb3VibGUgeSwgYm9vbCBhYnMgPSB0cnVlICk7Ci0gICAgICAgIHZpcnR1YWwg
dm9pZCBzdmdDdXJ2ZVRvQ3ViaWMoIGRvdWJsZSB4MSwgZG91YmxlIHkxLCBkb3VibGUgeDIsIGRv
dWJsZSB5MiwgZG91YmxlIHgsIGRvdWJsZSB5LCBib29sIGFicyA9IHRydWUgKSA9IDA7Ci0gICAg
ICAgIHZpcnR1YWwgdm9pZCBzdmdDdXJ2ZVRvQ3ViaWNTbW9vdGgoIGRvdWJsZSB4LCBkb3VibGUg
eSwgZG91YmxlIHgyLCBkb3VibGUgeTIsIGJvb2wgYWJzID0gdHJ1ZSApOwotICAgICAgICB2aXJ0
dWFsIHZvaWQgc3ZnQ3VydmVUb1F1YWRyYXRpYyggZG91YmxlIHgsIGRvdWJsZSB5LCBkb3VibGUg
eDEsIGRvdWJsZSB5MSwgYm9vbCBhYnMgPSB0cnVlICk7Ci0gICAgICAgIHZpcnR1YWwgdm9pZCBz
dmdDdXJ2ZVRvUXVhZHJhdGljU21vb3RoKCBkb3VibGUgeCwgZG91YmxlIHksIGJvb2wgYWJzID0g
dHJ1ZSApOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQXJjVG8oIGRvdWJsZSB4LCBkb3VibGUg
eSwgZG91YmxlIHIxLCBkb3VibGUgcjIsIGRvdWJsZSBhbmdsZSwgYm9vbCBsYXJnZUFyY0ZsYWcs
IGJvb2wgc3dlZXBGbGFnLCBib29sIGFicyA9IHRydWUgKTsKKyAgICAgICAgdmlydHVhbCB2b2lk
IHN2Z01vdmVUbyhkb3VibGUgeDEsIGRvdWJsZSB5MSwgYm9vbCBjbG9zZWQsIGJvb2wgYWJzID0g
dHJ1ZSkgPSAwOworICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnTGluZVRvKGRvdWJsZSB4MSwgZG91
YmxlIHkxLCBib29sIGFicyA9IHRydWUpID0gMDsKKyAgICAgICAgdmlydHVhbCB2b2lkIHN2Z0xp
bmVUb0hvcml6b250YWwoZG91YmxlIHgsIGJvb2wgYWJzID0gdHJ1ZSk7CisgICAgICAgIHZpcnR1
YWwgdm9pZCBzdmdMaW5lVG9WZXJ0aWNhbChkb3VibGUgeSwgYm9vbCBhYnMgPSB0cnVlKTsKKyAg
ICAgICAgdmlydHVhbCB2b2lkIHN2Z0N1cnZlVG9DdWJpYyhkb3VibGUgeDEsIGRvdWJsZSB5MSwg
ZG91YmxlIHgyLCBkb3VibGUgeTIsIGRvdWJsZSB4LCBkb3VibGUgeSwgYm9vbCBhYnMgPSB0cnVl
KSA9IDA7CisgICAgICAgIHZpcnR1YWwgdm9pZCBzdmdDdXJ2ZVRvQ3ViaWNTbW9vdGgoZG91Ymxl
IHgsIGRvdWJsZSB5LCBkb3VibGUgeDIsIGRvdWJsZSB5MiwgYm9vbCBhYnMgPSB0cnVlKTsKKyAg
ICAgICAgdmlydHVhbCB2b2lkIHN2Z0N1cnZlVG9RdWFkcmF0aWMoZG91YmxlIHgsIGRvdWJsZSB5
LCBkb3VibGUgeDEsIGRvdWJsZSB5MSwgYm9vbCBhYnMgPSB0cnVlKTsKKyAgICAgICAgdmlydHVh
bCB2b2lkIHN2Z0N1cnZlVG9RdWFkcmF0aWNTbW9vdGgoZG91YmxlIHgsIGRvdWJsZSB5LCBib29s
IGFicyA9IHRydWUpOworICAgICAgICB2aXJ0dWFsIHZvaWQgc3ZnQXJjVG8oZG91YmxlIHgsIGRv
dWJsZSB5LCBkb3VibGUgcjEsIGRvdWJsZSByMiwgZG91YmxlIGFuZ2xlLCBib29sIGxhcmdlQXJj
RmxhZywgYm9vbCBzd2VlcEZsYWcsIGJvb2wgYWJzID0gdHJ1ZSk7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBzdmdDbG9zZVBhdGgoKSA9IDA7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgdm9pZCBjYWxj
dWxhdGVBcmMoIGJvb2wgcmVsYXRpdmUsIGRvdWJsZSAmY3VyeCwgZG91YmxlICZjdXJ5LCBkb3Vi
bGUgYW5nbGUsIGRvdWJsZSB4LCBkb3VibGUgeSwgZG91YmxlIHIxLCBkb3VibGUgcjIsIGJvb2wg
bGFyZ2VBcmNGbGFnLCBib29sIHN3ZWVwRmxhZyApOworICAgICAgICB2b2lkIGNhbGN1bGF0ZUFy
Yyhib29sIHJlbGF0aXZlLCBkb3VibGUgJmN1cngsIGRvdWJsZSAmY3VyeSwgZG91YmxlIGFuZ2xl
LCBkb3VibGUgeCwgZG91YmxlIHksIGRvdWJsZSByMSwgZG91YmxlIHIyLCBib29sIGxhcmdlQXJj
RmxhZywgYm9vbCBzd2VlcEZsYWcpOwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
SW5kZXg6IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhdGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2tzdmcyL3N2Zy9TVkdQYXRoRWxlbWVudC5jcHAJKHJldmlzaW9uIDE4NDM1KQor
KysgV2ViQ29yZS9rc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00Niw3ICs0Niw3IEBAIFNWR1BhdGhFbGVtZW50OjpTVkdQYXRoRWxlbWVudChjb25zdCBRdWEK
ICAgICAsIFNWR1Rlc3RzKCkKICAgICAsIFNWR0xhbmdTcGFjZSgpCiAgICAgLCBTVkdFeHRlcm5h
bFJlc291cmNlc1JlcXVpcmVkKCkKLSAgICAsIFNWR1BhdGhQYXJzZXIoKQorICAgICwgRGVwcmVj
YXRlZFNWR1BhdGhQYXJzZXIoKQogICAgICwgbV9wYXRoTGVuZ3RoKDAuMCkKIHsKIH0KSW5kZXg6
IFdlYkNvcmUva3N2ZzIvc3ZnL1NWR1BhdGhFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9rc3ZnMi9zdmcvU1ZHUGF0aEVsZW1lbnQuaAkocmV2aXNpb24gMTg0MzUpCisrKyBXZWJDb3Jl
L2tzdmcyL3N2Zy9TVkdQYXRoRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01OSw3ICs1OSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMg
U1ZHTGFuZ1NwYWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVibGljIFNWR0V4dGVy
bmFsUmVzb3VyY2VzUmVxdWlyZWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMg
U1ZHQW5pbWF0ZWRQYXRoRGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1YmxpYyBT
VkdQYXRoUGFyc2VyCisgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgRGVwcmVjYXRl
ZFNWR1BhdGhQYXJzZXIKICAgICB7CiAgICAgcHVibGljOgogICAgICAgICBTVkdQYXRoRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKSW5kZXg6IFdlYkNvcmUva3N2ZzIv
c3ZnL1NWR1RyYW5zZm9ybWFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3Zn
L1NWR1RyYW5zZm9ybWFibGUuY3BwCShyZXZpc2lvbiAxODQzNSkKKysrIFdlYkNvcmUva3N2ZzIv
c3ZnL1NWR1RyYW5zZm9ybWFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2ICsyNyw3IEBA
CiAjaW5jbHVkZSAiUmVndWxhckV4cHJlc3Npb24uaCIKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zv
cm0uaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgorI2luY2x1ZGUgIlNWR1BhcnNlclV0aWxzLmgi
CiAjaW5jbHVkZSAiU1ZHU3R5bGVkRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1RyYW5zZm9ybUxp
c3QuaCIKIApAQCAtNTIsODAgKzUzLDE2NSBAQCBBZmZpbmVUcmFuc2Zvcm0gU1ZHVHJhbnNmb3Jt
YWJsZTo6Z2V0U2NyCiAgICAgcmV0dXJuIGxvY2FsTWF0cml4KCkgKiBjdG07CiB9CiAKLWJvb2wg
U1ZHVHJhbnNmb3JtYWJsZTo6cGFyc2VUcmFuc2Zvcm1BdHRyaWJ1dGUoU1ZHVHJhbnNmb3JtTGlz
dCogbGlzdCwgY29uc3QgQXRvbWljU3RyaW5nJiB0cmFuc2Zvcm0pCitpbnQgcGFyc2VUcmFuc2Zv
cm1QYXJhbUxpc3QoY29uc3QgVUNoYXIqJiBwdHIsIGNvbnN0IFVDaGFyKiBlbmQsIGRvdWJsZSog
eCwgaW50IHJlcXVpcmVkLCBpbnQgb3B0aW9uYWwpCiB7Ci0gICAgLy8gU3BsaXQgc3RyaW5nIGZv
ciBoYW5kbGluZyAxIHRyYW5zZm9ybSBzdGF0ZW1lbnQgYXQgYSB0aW1lCi0gICAgVmVjdG9yPFN0
cmluZz4gc3VidHJhbnNmb3JtcyA9IHRyYW5zZm9ybS5kb21TdHJpbmcoKS5zaW1wbGlmeVdoaXRl
U3BhY2UoKS5zcGxpdCgnKScpOwotICAgIFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBl
bmQgPSBzdWJ0cmFuc2Zvcm1zLmVuZCgpOwotICAgIGZvciAoVmVjdG9yPFN0cmluZz46OmNvbnN0
X2l0ZXJhdG9yIGl0ID0gc3VidHJhbnNmb3Jtcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsK
LSAgICAgICAgVmVjdG9yPFN0cmluZz4gc3VidHJhbnNmb3JtID0gKCppdCkuc3BsaXQoJygnKTsK
LQotICAgICAgICBpZiAoc3VidHJhbnNmb3JtLnNpemUoKSA8IDIpCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7IC8vIGludmFsaWQgdHJhbnNmb3JtLCBpZ25vcmUuCi0KLSAgICAgICAgc3VidHJh
bnNmb3JtWzBdID0gc3VidHJhbnNmb3JtWzBdLnN0cmlwV2hpdGVTcGFjZSgpLmxvd2VyKCk7Ci0g
ICAgICAgIHN1YnRyYW5zZm9ybVsxXSA9IHN1YnRyYW5zZm9ybVsxXS5zaW1wbGlmeVdoaXRlU3Bh
Y2UoKTsKLSAgICAgICAgUmVndWxhckV4cHJlc3Npb24gcmVnKCIoWy1dP1xcZCpcXC4/XFxkKyg/
OmVbLV0/XFxkKyk/KSIpOwotCi0gICAgICAgIGludCBwb3MgPSAwOwotICAgICAgICBWZWN0b3I8
U3RyaW5nPiBwYXJhbXM7Ci0KLSAgICAgICAgd2hpbGUgKHBvcyA+PSAwKSB7Ci0gICAgICAgICAg
ICBwb3MgPSByZWcuc2VhcmNoKHN1YnRyYW5zZm9ybVsxXS5kZXByZWNhdGVkU3RyaW5nKCksIHBv
cyk7Ci0gICAgICAgICAgICBpZiAocG9zICE9IC0xKSB7Ci0gICAgICAgICAgICAgICAgcGFyYW1z
LmFwcGVuZChyZWcuY2FwKDEpKTsKLSAgICAgICAgICAgICAgICBwb3MgKz0gcmVnLm1hdGNoZWRM
ZW5ndGgoKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBpbnQgbnBhcmFtcyA9
IHBhcmFtcy5zaXplKCk7CisgICAgaW50IG9wdGlvbmFsUGFyYW1zID0gMCwgcmVxdWlyZWRQYXJh
bXMgPSAwOworICAgIHNraXBPcHRpb25hbFNwYWNlcyhwdHIsIGVuZCk7CisgICAgaWYgKCpwdHIg
IT0gJygnKQorICAgICAgICByZXR1cm4gLTE7CisgICAgcHRyKys7CisgICAgc2tpcE9wdGlvbmFs
U3BhY2VzKHB0ciwgZW5kKTsKKworICAgIHdoaWxlIChyZXF1aXJlZFBhcmFtcyA8IHJlcXVpcmVk
KSB7CisgICAgICAgIGlmICghcGFyc2VOdW1iZXIocHRyLCBlbmQsIHhbcmVxdWlyZWRQYXJhbXNd
LCBmYWxzZSkpCisgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgIHJlcXVpcmVkUGFyYW1z
Kys7CisgICAgICAgIGlmIChyZXF1aXJlZFBhcmFtcyA8IHJlcXVpcmVkKQorICAgICAgICAgICAg
c2tpcE9wdGlvbmFsU3BhY2VzT3JEZWxpbWl0ZXIocHRyLCBlbmQpOworICAgIH0KKyAgICBza2lw
T3B0aW9uYWxTcGFjZXMocHRyLCBlbmQpOworICAgIGJvb2wgZGVsaW1QYXJzZWQgPSBza2lwT3B0
aW9uYWxTcGFjZXNPckRlbGltaXRlcihwdHIsIGVuZCk7CiAKLSAgICAgICAgaWYgKG5wYXJhbXMg
PCAxKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBpbnZhbGlkIHRyYW5zZm9ybSwgaWdu
b3JlLgorICAgIGlmICgqcHRyID09ICcpJykgeyAvLyBza2lwIG9wdGlvbmFscworICAgICAgICBw
dHIrKzsKKyAgICAgICAgaWYgKGRlbGltUGFyc2VkKQorICAgICAgICAgICAgcmV0dXJuIC0xOwor
ICAgIH0gZWxzZSB7CisgICAgICAgICB3aGlsZSAob3B0aW9uYWxQYXJhbXMgPCBvcHRpb25hbCkg
eworICAgICAgICAgICAgaWYgKCFwYXJzZU51bWJlcihwdHIsIGVuZCwgeFtyZXF1aXJlZFBhcmFt
cyArIG9wdGlvbmFsUGFyYW1zXSwgZmFsc2UpKQorICAgICAgICAgICAgICAgIHJldHVybiAtMTsK
KyAgICAgICAgICAgIG9wdGlvbmFsUGFyYW1zKys7CisgICAgICAgICAgICBpZiAob3B0aW9uYWxQ
YXJhbXMgPCBvcHRpb25hbCkKKyAgICAgICAgICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXNPckRl
bGltaXRlcihwdHIsIGVuZCk7CisgICAgICAgICB9CisgICAgICAgICBza2lwT3B0aW9uYWxTcGFj
ZXMocHRyLCBlbmQpOworICAgICAgICAgZGVsaW1QYXJzZWQgPSBza2lwT3B0aW9uYWxTcGFjZXNP
ckRlbGltaXRlcihwdHIsIGVuZCk7CisKKyAgICAgICAgaWYgKCpwdHIgIT0gJyknIHx8IGRlbGlt
UGFyc2VkKQorICAgICAgICAgICAgcmV0dXJuIC0xOworICAgICAgICBwdHIrKzsKKyAgICB9CiAK
LSAgICAgICAgaWYgKHN1YnRyYW5zZm9ybVswXS5zdGFydHNXaXRoKCI7IikgfHwgc3VidHJhbnNm
b3JtWzBdLnN0YXJ0c1dpdGgoIiwiKSkKLSAgICAgICAgICAgIHN1YnRyYW5zZm9ybVswXSA9IHN1
YnRyYW5zZm9ybVswXS5zdWJzdHJpbmcoMSkuc3RyaXBXaGl0ZVNwYWNlKCk7CisgICAgcmV0dXJu
IHJlcXVpcmVkUGFyYW1zICsgb3B0aW9uYWxQYXJhbXM7Cit9CisKK2Jvb2wgU1ZHVHJhbnNmb3Jt
YWJsZTo6cGFyc2VUcmFuc2Zvcm1BdHRyaWJ1dGUoU1ZHVHJhbnNmb3JtTGlzdCogbGlzdCwgY29u
c3QgQXRvbWljU3RyaW5nJiB0cmFuc2Zvcm0pCit7CisgICAgZG91YmxlIHhbNl0gPSB7MCwgMCwg
MCwgMCwgMCwgMH07CisgICAgaW50IG5yID0gMCwgcmVxdWlyZWQgPSAwLCBvcHRpb25hbCA9IDA7
CisgICAgCisgICAgY29uc3QgVUNoYXIqIGN1cnJUcmFuc2Zvcm0gPSB0cmFuc2Zvcm0uY2hhcmFj
dGVycygpOworICAgIGNvbnN0IFVDaGFyKiBlbmQgPSBjdXJyVHJhbnNmb3JtICsgdHJhbnNmb3Jt
Lmxlbmd0aCgpOworCisgICAgYm9vbCBkZWxpbVBhcnNlZCA9IGZhbHNlOworICAgIHdoaWxlIChj
dXJyVHJhbnNmb3JtIDwgZW5kKSB7CisgICAgICAgIGRlbGltUGFyc2VkID0gZmFsc2U7CisgICAg
ICAgIHVuc2lnbmVkIHNob3J0IHR5cGUgPSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fVU5L
Tk9XTjsKKyAgICAgICAgc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJUcmFuc2Zvcm0sIGVuZCk7CisK
KyAgICAgICAgaWYgKCpjdXJyVHJhbnNmb3JtID09ICdzJykgeworICAgICAgICAgICAgaWYgKCEo
ZW5kIC0gY3VyclRyYW5zZm9ybSkgPiA1KQorICAgICAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7
CisgICAgICAgICAgICBpZiAoY3VyclRyYW5zZm9ybVsxXSA9PSAnaycgJiYgY3VyclRyYW5zZm9y
bVsyXSA9PSAnZScgJiYKKyAgICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1bM10gPT0gJ3cn
KSB7CisgICAgICAgICAgICAgICAgaWYgKGN1cnJUcmFuc2Zvcm1bNF0gPT0gJ1gnKQorICAgICAg
ICAgICAgICAgICAgICB0eXBlID0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1NLRVdYOwor
ICAgICAgICAgICAgICAgIGVsc2UgaWYgKGN1cnJUcmFuc2Zvcm1bNF0gPT0gJ1knKQorICAgICAg
ICAgICAgICAgICAgICB0eXBlID0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JNX1NLRVdZOwor
ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgZ290byBiYWlsX291dDsK
KyAgICAgICAgICAgICAgICByZXF1aXJlZCA9IDE7CisgICAgICAgICAgICAgICAgb3B0aW9uYWwg
PSAwOworICAgICAgICAgICAgfSBlbHNlIGlmIChjdXJyVHJhbnNmb3JtWzFdID09ICdjJyAmJiBj
dXJyVHJhbnNmb3JtWzJdID09ICdhJyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9y
bVszXSA9PSAnbCcgJiYgY3VyclRyYW5zZm9ybVs0XSA9PSAnZScpIHsKKyAgICAgICAgICAgICAg
ICByZXF1aXJlZCA9IDE7CisgICAgICAgICAgICAgICAgb3B0aW9uYWwgPSAxOworICAgICAgICAg
ICAgICAgIHR5cGUgPSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fU0NBTEU7CisgICAgICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworICAgICAgICAgICAg
Y3VyclRyYW5zZm9ybSArPSA1OworICAgICAgICB9IGVsc2UgaWYgKCpjdXJyVHJhbnNmb3JtID09
ICd0JykgeworICAgICAgICAgICAgaWYgKCEoKGVuZCAtIGN1cnJUcmFuc2Zvcm0pID4gOSkgJiYK
KyAgICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1bMV0gPT0gJ3InICYmIGN1cnJUcmFuc2Zv
cm1bMl0gPT0gJ2EnICYmCisgICAgICAgICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzNdID09ICdu
JyAmJiBjdXJyVHJhbnNmb3JtWzRdID09ICdzJyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRy
YW5zZm9ybVs1XSA9PSAnbCcgJiYgY3VyclRyYW5zZm9ybVs2XSA9PSAnYScgJiYKKyAgICAgICAg
ICAgICAgICAgIGN1cnJUcmFuc2Zvcm1bN10gPT0gJ3QnICYmIGN1cnJUcmFuc2Zvcm1bOF0gPT0g
J2UnKQorICAgICAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgICAgICBjdXJyVHJh
bnNmb3JtICs9IDk7CisgICAgICAgICAgICByZXF1aXJlZCA9IDE7CisgICAgICAgICAgICBvcHRp
b25hbCA9IDE7CisgICAgICAgICAgICB0eXBlID0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJBTlNGT1JN
X1RSQU5TTEFURTsKKyAgICAgICAgfSBlbHNlIGlmICgqY3VyclRyYW5zZm9ybSA9PSAncicpIHsK
KyAgICAgICAgICAgIGlmICghKChlbmQgLSBjdXJyVHJhbnNmb3JtKSA+IDYpICYmCisgICAgICAg
ICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzFdID09ICdvJyAmJiBjdXJyVHJhbnNmb3JtWzJdID09
ICd0JyAmJgorICAgICAgICAgICAgICAgICAgY3VyclRyYW5zZm9ybVszXSA9PSAnYScgJiYgY3Vy
clRyYW5zZm9ybVs0XSA9PSAndCcgJiYKKyAgICAgICAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm1b
NV0gPT0gJ2UnKQorICAgICAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CisgICAgICAgICAgICBj
dXJyVHJhbnNmb3JtICs9IDY7CisgICAgICAgICAgICByZXF1aXJlZCA9IDE7CisgICAgICAgICAg
ICBvcHRpb25hbCA9IDI7CisgICAgICAgICAgICB0eXBlID0gU1ZHVHJhbnNmb3JtOjpTVkdfVFJB
TlNGT1JNX1JPVEFURTsKKyAgICAgICAgfSBlbHNlIGlmICgqY3VyclRyYW5zZm9ybSA9PSAnbScp
IHsKKyAgICAgICAgICAgIGlmICghKChlbmQgLSBjdXJyVHJhbnNmb3JtKSA+IDYpICYmIGN1cnJU
cmFuc2Zvcm1bMV0gPT0gJ2EnICYmCisgICAgICAgICAgICAgICAgICBjdXJyVHJhbnNmb3JtWzJd
ID09ICd0JyAmJiBjdXJyVHJhbnNmb3JtWzNdID09ICdyJyAmJgorICAgICAgICAgICAgICAgICAg
Y3VyclRyYW5zZm9ybVs0XSA9PSAnaScgJiYgY3VyclRyYW5zZm9ybVs1XSA9PSAneCcpCisgICAg
ICAgICAgICAgICAgZ290byBiYWlsX291dDsKKyAgICAgICAgICAgIGN1cnJUcmFuc2Zvcm0gKz0g
NjsKKyAgICAgICAgICAgIHJlcXVpcmVkID0gNjsKKyAgICAgICAgICAgIG9wdGlvbmFsID0gMDsK
KyAgICAgICAgICAgIHR5cGUgPSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fTUFUUklYOwor
ICAgICAgICB9IGVsc2UgCisgICAgICAgICAgICBnb3RvIGJhaWxfb3V0OworCisgICAgICAgIGlm
ICgobnIgPSBwYXJzZVRyYW5zZm9ybVBhcmFtTGlzdChjdXJyVHJhbnNmb3JtLCBlbmQsIHgsIHJl
cXVpcmVkLCBvcHRpb25hbCkpIDwgMCkKKyAgICAgICAgICAgIGdvdG8gYmFpbF9vdXQ7CiAKICAg
ICAgICAgU1ZHVHJhbnNmb3JtKiB0ID0gbmV3IFNWR1RyYW5zZm9ybSgpOwogCi0gICAgICAgIGlm
IChzdWJ0cmFuc2Zvcm1bMF0gPT0gInJvdGF0ZSIgJiYgKG5wYXJhbXMgPT0gMSB8fCBucGFyYW1z
ID09IDMpKSB7Ci0gICAgICAgICAgICBpZiAobnBhcmFtcyA9PSAzKQotICAgICAgICAgICAgICAg
IHQtPnNldFJvdGF0ZShwYXJhbXNbMF0udG9Eb3VibGUoKSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGFyYW1zWzFdLnRvRG91YmxlKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXJhbXNbMl0udG9Eb3VibGUoKSk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAg
ICAgICAgdC0+c2V0Um90YXRlKHBhcmFtc1swXS50b0RvdWJsZSgpLCAwLCAwKTsKLSAgICAgICAg
fSBlbHNlIGlmIChzdWJ0cmFuc2Zvcm1bMF0gPT0gInRyYW5zbGF0ZSIgJiYgKG5wYXJhbXMgPT0g
MSB8fCBucGFyYW1zID09IDIpKSB7Ci0gICAgICAgICAgICBpZiAobnBhcmFtcyA9PSAyKQotICAg
ICAgICAgICAgICAgIHQtPnNldFRyYW5zbGF0ZShwYXJhbXNbMF0udG9Eb3VibGUoKSwgcGFyYW1z
WzFdLnRvRG91YmxlKCkpOwotICAgICAgICAgICAgZWxzZSAvLyBTcGVjOiBpZiBvbmx5IG9uZSBw
YXJhbSBnaXZlbiwgYXNzdW1lIDJuZCBwYXJhbSB0byBiZSAwCi0gICAgICAgICAgICAgICAgdC0+
c2V0VHJhbnNsYXRlKHBhcmFtc1swXS50b0RvdWJsZSgpLCAwKTsKLSAgICAgICAgfSBlbHNlIGlm
IChzdWJ0cmFuc2Zvcm1bMF0gPT0gInNjYWxlIiAmJiAobnBhcmFtcyA9PSAxIHx8IG5wYXJhbXMg
PT0gMikpIHsKLSAgICAgICAgICAgIGlmIChucGFyYW1zID09IDIpCi0gICAgICAgICAgICAgICAg
dC0+c2V0U2NhbGUocGFyYW1zWzBdLnRvRG91YmxlKCksIHBhcmFtc1sxXS50b0RvdWJsZSgpKTsK
LSAgICAgICAgICAgIGVsc2UgLy8gU3BlYzogaWYgb25seSBvbmUgcGFyYW0gZ2l2ZW4sIGFzc3Vt
ZSB1bmlmb3JtIHNjYWxpbmcKLSAgICAgICAgICAgICAgICB0LT5zZXRTY2FsZShwYXJhbXNbMF0u
dG9Eb3VibGUoKSwgcGFyYW1zWzBdLnRvRG91YmxlKCkpOwotICAgICAgICB9IGVsc2UgaWYgKHN1
YnRyYW5zZm9ybVswXSA9PSAic2tld3giICYmIG5wYXJhbXMgPT0gMSkKLSAgICAgICAgICAgIHQt
PnNldFNrZXdYKHBhcmFtc1swXS50b0RvdWJsZSgpKTsKLSAgICAgICAgZWxzZSBpZiAoc3VidHJh
bnNmb3JtWzBdID09ICJza2V3eSIgJiYgbnBhcmFtcyA9PSAxKQotICAgICAgICAgICAgdC0+c2V0
U2tld1kocGFyYW1zWzBdLnRvRG91YmxlKCkpOwotICAgICAgICBlbHNlIGlmIChzdWJ0cmFuc2Zv
cm1bMF0gPT0gIm1hdHJpeCIgJiYgbnBhcmFtcyA9PSA2KSB7Ci0gICAgICAgICAgICBBZmZpbmVU
cmFuc2Zvcm0gcmV0KHBhcmFtc1swXS50b0RvdWJsZSgpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBwYXJhbXNbMV0udG9Eb3VibGUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcGFyYW1zWzJdLnRvRG91YmxlKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBhcmFtc1szXS50b0RvdWJsZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXJhbXNbNF0udG9Eb3VibGUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcGFyYW1zWzVdLnRvRG91YmxlKCkpOwotICAgICAgICAgICAgdC0+c2V0TWF0cml4KHJldCk7
Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBkZWxldGUgdDsKLSAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsgLy8gZmFpbGVkIHRvIHBhcnNlIGEgdmFsaWQgdHJhbnNmb3JtLCBhYm9ydC4K
KyAgICAgICAgc3dpdGNoICh0eXBlKSB7CisgICAgICAgICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6
U1ZHX1RSQU5TRk9STV9TS0VXWDoKKyAgICAgICAgICAgICAgIHQtPnNldFNrZXdYKHhbMF0pOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBTVkdUcmFuc2Zvcm06OlNW
R19UUkFOU0ZPUk1fU0tFV1k6CisgICAgICAgICAgICAgICB0LT5zZXRTa2V3WSh4WzBdKTsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgU1ZHVHJhbnNmb3JtOjpTVkdf
VFJBTlNGT1JNX1NDQUxFOgorICAgICAgICAgICAgICAgICAgaWYgKG5yID09IDEpIC8vIFNwZWM6
IGlmIG9ubHkgb25lIHBhcmFtIGdpdmVuLCBhc3N1bWUgdW5pZm9ybSBzY2FsaW5nCisgICAgICAg
ICAgICAgICAgICAgICAgdC0+c2V0U2NhbGUoeFswXSwgeFswXSk7CisgICAgICAgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgdC0+c2V0U2NhbGUoeFswXSwgeFsxXSk7Cisg
ICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFNWR1RyYW5zZm9ybTo6U1ZH
X1RSQU5TRk9STV9UUkFOU0xBVEU6CisgICAgICAgICAgICAgICAgICBpZiAobnIgPT0gMSkgLy8g
U3BlYzogaWYgb25seSBvbmUgcGFyYW0gZ2l2ZW4sIGFzc3VtZSAybmQgcGFyYW0gdG8gYmUgMAor
ICAgICAgICAgICAgICAgICAgICAgIHQtPnNldFRyYW5zbGF0ZSh4WzBdLCAwKTsKKyAgICAgICAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICB0LT5zZXRUcmFuc2xhdGUoeFsw
XSwgeFsxXSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIFNWR1Ry
YW5zZm9ybTo6U1ZHX1RSQU5TRk9STV9ST1RBVEU6CisgICAgICAgICAgICAgICAgICBpZiAobnIg
PT0gMSkKKyAgICAgICAgICAgICAgICAgICAgICB0LT5zZXRSb3RhdGUoeFswXSwgMCwgMCk7Cisg
ICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgdC0+c2V0Um90YXRl
KHhbMF0sIHhbMV0sIHhbMl0pOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
Y2FzZSBTVkdUcmFuc2Zvcm06OlNWR19UUkFOU0ZPUk1fTUFUUklYOgorICAgICAgICAgICAgICAg
IHQtPnNldE1hdHJpeChBZmZpbmVUcmFuc2Zvcm0oeFswXSwgeFsxXSwgeFsyXSwgeFszXSwgeFs0
XSwgeFs1XSkpOworICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKICAgICAgICAg
RXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgICAgIGxpc3QtPmFwcGVuZEl0ZW0odCwgZWMpOwor
ICAgICAgICBza2lwT3B0aW9uYWxTcGFjZXMoY3VyclRyYW5zZm9ybSwgZW5kKTsKKyAgICAgICAg
aWYgKGN1cnJUcmFuc2Zvcm0gPCBlbmQgJiYgKmN1cnJUcmFuc2Zvcm0gPT0gJywnKSB7CisgICAg
ICAgICAgICBkZWxpbVBhcnNlZCA9IHRydWU7CisgICAgICAgICAgICBjdXJyVHJhbnNmb3JtKys7
CisgICAgICAgIH0KKwkJc2tpcE9wdGlvbmFsU3BhY2VzKGN1cnJUcmFuc2Zvcm0sIGVuZCk7CiAg
ICAgfQogCi0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuICFkZWxpbVBhcnNlZDsKKworYmFp
bF9vdXQ6IDsKKyAgICByZXR1cm4gZmFsc2U7CiB9CiAKIH0KSW5kZXg6IFdlYkNvcmUva3N2ZzIv
c3ZnL3N2Z3BhdGhwYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUva3N2ZzIvc3ZnL3N2
Z3BhdGhwYXJzZXIuY3BwCShyZXZpc2lvbiAxODQzNSkKKysrIFdlYkNvcmUva3N2ZzIvc3ZnL3N2
Z3BhdGhwYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDEsNyArMTQxLDcgQEAgdm9pZCBT
VkdQb2x5UGFyc2VyOjpwYXJzZVBvaW50cyhjb25zdCBEZQogICAgIH0KIH0KIAotdm9pZCBTVkdQ
YXRoUGFyc2VyOjpwYXJzZVNWRyhjb25zdCBEZXByZWNhdGVkU3RyaW5nJiBzLCBib29sIHByb2Nl
c3MpCit2b2lkIERlcHJlY2F0ZWRTVkdQYXRoUGFyc2VyOjpwYXJzZVNWRyhjb25zdCBEZXByZWNh
dGVkU3RyaW5nJiBzLCBib29sIHByb2Nlc3MpCiB7CiAgICAgaWYgKHMuaXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm47CkBAIC00MzYsNyArNDM2LDcgQEAgdm9pZCBTVkdQYXRoUGFyc2VyOjpwYXJz
ZVNWRyhjb25zdCBEZXByZQogLy8gRm9yIGVhY2ggYmV6aWVyIGZvdW5kIGEgc3ZnVG9DdXJ2ZSBj
YWxsIGlzIGRvbmUuCiAvLyBBZGFwdGVkIGZyb20gTmlrbydzIGNvZGUgaW4ga2RlbGlicy9rZGVj
b3JlL3N2Z2ljb25zLgogLy8gTWF5YmUgdGhpcyBjYW4gc2VydmUgaW4gc29tZSBzaGFyZWQgbGli
PyAoUm9iKQotdm9pZCBTVkdQYXRoUGFyc2VyOjpjYWxjdWxhdGVBcmMoYm9vbCByZWxhdGl2ZSwg
ZG91YmxlICZjdXJ4LCBkb3VibGUgJmN1cnksIGRvdWJsZSBhbmdsZSwgZG91YmxlIHgsIGRvdWJs
ZSB5LCBkb3VibGUgcjEsIGRvdWJsZSByMiwgYm9vbCBsYXJnZUFyY0ZsYWcsIGJvb2wgc3dlZXBG
bGFnKQordm9pZCBEZXByZWNhdGVkU1ZHUGF0aFBhcnNlcjo6Y2FsY3VsYXRlQXJjKGJvb2wgcmVs
YXRpdmUsIGRvdWJsZSAmY3VyeCwgZG91YmxlICZjdXJ5LCBkb3VibGUgYW5nbGUsIGRvdWJsZSB4
LCBkb3VibGUgeSwgZG91YmxlIHIxLCBkb3VibGUgcjIsIGJvb2wgbGFyZ2VBcmNGbGFnLCBib29s
IHN3ZWVwRmxhZykKIHsKICAgICBkb3VibGUgc2luX3RoLCBjb3NfdGg7CiAgICAgZG91YmxlIGEw
MCwgYTAxLCBhMTAsIGExMTsKQEAgLTU2OSwyNyArNTY5LDI3IEBAIHZvaWQgU1ZHUGF0aFBhcnNl
cjo6Y2FsY3VsYXRlQXJjKGJvb2wgcmUKICAgICAgICAgY3VyeSArPSB5OyAgICAKIH0KIAotdm9p
ZCBTVkdQYXRoUGFyc2VyOjpzdmdMaW5lVG9Ib3Jpem9udGFsKGRvdWJsZSwgYm9vbCkKK3ZvaWQg
RGVwcmVjYXRlZFNWR1BhdGhQYXJzZXI6OnN2Z0xpbmVUb0hvcml6b250YWwoZG91YmxlLCBib29s
KQogewogfQogCi12b2lkIFNWR1BhdGhQYXJzZXI6OnN2Z0xpbmVUb1ZlcnRpY2FsKGRvdWJsZSwg
Ym9vbCkKK3ZvaWQgRGVwcmVjYXRlZFNWR1BhdGhQYXJzZXI6OnN2Z0xpbmVUb1ZlcnRpY2FsKGRv
dWJsZSwgYm9vbCkKIHsKIH0KIAotdm9pZCBTVkdQYXRoUGFyc2VyOjpzdmdDdXJ2ZVRvQ3ViaWNT
bW9vdGgoZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBib29sKQordm9pZCBEZXByZWNh
dGVkU1ZHUGF0aFBhcnNlcjo6c3ZnQ3VydmVUb0N1YmljU21vb3RoKGRvdWJsZSwgZG91YmxlLCBk
b3VibGUsIGRvdWJsZSwgYm9vbCkKIHsKIH0KIAotdm9pZCBTVkdQYXRoUGFyc2VyOjpzdmdDdXJ2
ZVRvUXVhZHJhdGljKGRvdWJsZSwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgYm9vbCkKK3ZvaWQg
RGVwcmVjYXRlZFNWR1BhdGhQYXJzZXI6OnN2Z0N1cnZlVG9RdWFkcmF0aWMoZG91YmxlLCBkb3Vi
bGUsIGRvdWJsZSwgZG91YmxlLCBib29sKQogewogfQogCi12b2lkIFNWR1BhdGhQYXJzZXI6OnN2
Z0N1cnZlVG9RdWFkcmF0aWNTbW9vdGgoZG91YmxlLCBkb3VibGUsIGJvb2wpCit2b2lkIERlcHJl
Y2F0ZWRTVkdQYXRoUGFyc2VyOjpzdmdDdXJ2ZVRvUXVhZHJhdGljU21vb3RoKGRvdWJsZSwgZG91
YmxlLCBib29sKQogewogfQogCi12b2lkIFNWR1BhdGhQYXJzZXI6OnN2Z0FyY1RvKGRvdWJsZSwg
ZG91YmxlLCBkb3VibGUsIGRvdWJsZSwgZG91YmxlLCBib29sLCBib29sLCBib29sKQordm9pZCBE
ZXByZWNhdGVkU1ZHUGF0aFBhcnNlcjo6c3ZnQXJjVG8oZG91YmxlLCBkb3VibGUsIGRvdWJsZSwg
ZG91YmxlLCBkb3VibGUsIGJvb2wsIGJvb2wsIGJvb2wpCiB7CiB9IAogCkluZGV4OiBXZWJDb3Jl
L2tzdmcyL3N2Zy9zdmdwYXRocGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9rc3ZnMi9z
dmcvc3ZncGF0aHBhcnNlci5oCShyZXZpc2lvbiAxODQzNSkKKysrIFdlYkNvcmUva3N2ZzIvc3Zn
L3N2Z3BhdGhwYXJzZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTAgKzQ4LDEwIEBAIG5hbWVz
cGFjZSBXZWJDb3JlCiAgICAgICogc3ZnIHBhdGggZGF0YSBjb21tYW5kcyBhbmQgcGFyYW1ldGVy
cy4gSW4gdGhlIHNlY29uZCBtb2RlLCBpdCB3aWxsIGNvbnZlcnQgYWxsCiAgICAgICogcmVsYXRp
dmUgY29vcmRpbmF0ZXMgdG8gYWJzb2x1dGUgb25lcywgYW5kIGNvbnZlcnQgYWxsIGN1cnZlcyB0
byBjdWJpYyBiZXppZXJzLgogICAgICAqLwotICAgIGNsYXNzIFNWR1BhdGhQYXJzZXIKKyAgICBj
bGFzcyBEZXByZWNhdGVkU1ZHUGF0aFBhcnNlcgogICAgIHsKICAgICBwdWJsaWM6Ci0gICAgICAg
IHZpcnR1YWwgflNWR1BhdGhQYXJzZXIoKSB7IH0KKyAgICAgICAgdmlydHVhbCB+RGVwcmVjYXRl
ZFNWR1BhdGhQYXJzZXIoKSB7IH0KICAgICAgICAgdm9pZCBwYXJzZVNWRyggY29uc3QgRGVwcmVj
YXRlZFN0cmluZyAmZCwgYm9vbCBwcm9jZXNzID0gZmFsc2UgKTsKIAogICAgIHByb3RlY3RlZDoK
</data>
<flag name="review"
          id="4446"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>